How to show labels names?

6 views (last 30 days)
Adrian Kleffler
Adrian Kleffler on 19 May 2023
Answered: Birju Patel on 25 May 2023
Hello everyone, I am running object detector in Matlab ... after running detector on test image the result looks like this :
But I want my program to show also names for each class ... for example if there is an airplane i want to see the confidence and name airplane also...
Here is my code which runs detector on one of the images :
I = imread(testDataTbl.imageFilename{94});
I = imresize(I,inputSize(1:2));
[bboxes,scores] = detect(detector,I);
I = insertObjectAnnotation(I,'rectangle',bboxes,scores);
figure
imshow(I)

Answers (2)

Walter Roberson
Walter Roberson on 19 May 2023
FIrst (somehow) convert each score into its corresponding class name.
Then when you call insertObjectAnnotation pass the class name as the fourth parameter (where you are passing scores now)

Birju Patel
Birju Patel on 25 May 2023
Any object detector that supports detection multple classes will return the labels as a third output argument:
[bboxes,scores,labels] = detect(detector,I);
You can create a string with the label and score:
str = string(labels) + ": " + scores;
I = insertObjectAnnotation(I,'rectangle',bboxes,str);

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!