What code can I use if I want to add a condition wherein if I show a picture that is not registered in the database folder it will display 'Unrecognized Face"? 🙂
2 次查看(过去 30 天)
显示 更早的评论
In the code shown below, when I show my face in the webcam, it will display my name since my face is already registered in the database. I tried to show another picture that is not registered in the database, but the result still display the name that is registered in the database like my name. My only concern is how can I display "Unrecognized Face" if I show a picture that is not registered in the database? Thank you 🙂
clc;
close;
clear
c=webcam;
load myNet1;
faceDetector = vision.CascadeObjectDetector;
while true
e = c.snapshot;
bboxes = step(faceDetector,e);
if(sum(sum(bboxes))~=0)
es=imcrop(e,bboxes(1,:));
es=imresize(es,[227 227]);
label=classify(myNet1,es);
image(e);
title(char(label));
drawnow;
else
image(e);
title('No Face Detected');
end
end
0 个评论
采纳的回答
Image Analyst
2021-5-13
You need a function that checks the current snapshot against your database. That function can return true, false, or even the name of the person it thinks it is (or null if it doesn't recognize it). For example
rgbImage = c.snapshot;
personsName = YourDatabaseCheckingFunction(rgbImage);
if isempty(personsName)
% Did not recognize anyone that was in the database.
title('This person is not recognized.', 'FontSize', 18)
% Pop up a message if you'd like...
message = sprintf('This person is not recognized.')
uiwait(helpdlg(message));
else
% Recognized the person, and we have a name that has been
% returned from our database checking function.
message = sprintf('I believe this person to be %s', personsName);
title(message, 'FontSize', 18);
uiwait(helpdlg(message));
end
2 个评论
Haris Hanjalic
2022-5-17
Could you please provide the way you implemented it? It would be of much help. All the best!
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!