I wish to crop the detected face from the image. Please help for the same.

조회 수: 4(최근 30일)
harshita
harshita 2014년 3월 8일
답변: Adnan Rasool 2016년 8월 9일
% Create a detector object faceDetector = vision.CascadeObjectDetector;
% Read input image I = imread('visionteam.jpg'); This is the code given in Matlab hellp, can you suggest me how to crop the detected face and store it % Detect faces bbox = step(faceDetector, I);
% Create a shape inserter object to draw bounding boxes around detections shapeInserter = vision.ShapeInserter('BorderColor','Custom','CustomBorderColor',[255 255 0]);
% Draw boxes around detected faces and display results I_faces = step(shapeInserter, I, int32(bbox)); figure, imshow(I_faces), title('Detected faces');

채택된 답변

Image Analyst
Image Analyst 2014년 3월 8일
  댓글 수: 2
Image Analyst
Image Analyst 2014년 3월 8일
I don't have the computer vision toolbox so I don't know how the face detector works. Does it not say in the documentation anything about box size? If not, call them and ask them.

댓글을 달려면 로그인하십시오.

추가 답변(1개)

Adnan Rasool
Adnan Rasool 2016년 8월 9일
Asslam o Alikum
Here is the code for 1- select image from a Location 2- detect faces in the selected image 3- Find the Location of Detected Faces 4- crop all detected faces on one Figure
%Code start
clc; [filename, filepath] = uigetfile ({'*.jpg';'*.bmp';'*.png'}, 'File Selector'); img = strcat(filepath, filename); img = imread(img); figure(1),imshow(img); FaceDetect = vision.CascadeObjectDetector; FaceDetect.MergeThreshold = 7 ; BB = step(FaceDetect,img); figure(2),imshow(img); for i = 1:size(BB,1) rectangle('Position',BB(i,:),'LineWidth',3,'LineStyle','- ','EdgeColor','r'); end for i = 1:size(BB,1) J= imcrop(img,BB(i,:)); figure(3),subplot(6,6,i);imshow(J); end
%Code End
if this Helped: Remember me in your Prayers
Thanks

Community Treasure Hunt

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

Start Hunting!

Translated by