How to show labels names?

5 次查看(过去 30 天)
Adrian Kleffler
Adrian Kleffler 2023-5-19
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)

回答(2 个)

Walter Roberson
Walter Roberson 2023-5-19
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 2023-5-25
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!

Translated by