I wish to crop the detected face from the image. Please help for the same.
조회 수: 2 (최근 30일)
이전 댓글 표시
% 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');
댓글 수: 0
채택된 답변
Image Analyst
2014년 3월 8일
How about using imcrop()?
댓글 수: 2
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
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
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!