How to resize an image for face detection?

8 ビュー (過去 30 日間)
Ana
Ana 2014 年 7 月 8 日
回答済み: Michael scheinfeild 2014 年 7 月 9 日
Hi all,
I'm still new in Image processing. I just want to know:
1) What is the actual size for face detection function?
2) How to resize the image?
Because i got the warning that mentioned "Image is too big to fit on screen; displaying at 25% "
This is the normal code to process the image:
faceDetector = vision.CascadeObjectDetector;
I = imread('detectface.jpg');
bboxes = step(faceDetector, I);
IFaces = insertObjectAnnotation(I, 'rectangle', bboxes, 'Face');
figure, imshow(IFaces), title('Detected faces');

採用された回答

Anand
Anand 2014 年 7 月 8 日
The vision.CascadeObjectDetector does not rely on you providing an image at a particular size.
That warning is only related to the image display. It is indicating that the image is too big for your monitor, and so MATLAB is displaying the image at a smaller size. This does not affect the face detection.
If you find that the faces you're looking for are not being detected correctly, I would suggest playing around with the MinSize, MaxSize and ScaleFactor parameters.
  1 件のコメント
Ana
Ana 2014 年 7 月 9 日
Yeah. The current code do not detect the face correctly.

サインインしてコメントする。

その他の回答 (2 件)

Image Analyst
Image Analyst 2014 年 7 月 8 日
I don't know what you mean by the size of a function . To get the size of an image, you can do
[rows, columns, numberOfColorChannels] = size(I);
though I recommend you not use I for the image variable. It looks too much like l (lower case "L") or 1 (the number).
You can resize an image with the imresize() function.

Michael scheinfeild
Michael scheinfeild 2014 年 7 月 9 日
its better to resize all faces to same size like 128*64

Community Treasure Hunt

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

Start Hunting!

Translated by