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 Ansichten (letzte 30 Tage)
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

Akzeptierte Antwort

Image Analyst
Image Analyst am 13 Mai 2021
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

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by