matlab - 使用 MATLAB 进行自动人脸检测

标签 matlab opencv computer-vision face-detection matlab-cvst

我正在尝试使用 MATLAB 实现自动人脸检测。我知道如何使用 OpenCV 实现它,但我想在 MATLAB 中实现它。

我在这上面看到了两个网站:

1) http://www.mathworks.com/matlabcentral/fileexchange/11073 .首先,这个网站很好,可以在神经网络上运行。它与随附的图像配合使用效果很好。但是,当我使用我的图像训练神经网络时,准确性非常差。

2) 第二个是http://www.mathworks.com/matlabcentral/fileexchange/13716-face-eye-detection .当我用自己的图像测试时,准确性很差。

寻找更好的解决方案以及有关我应该做什么的建议。谢谢。

最佳答案

从 R2012a 版本开始,计算机视觉系统工具箱包括一个 Viola-Jones based face detector使用 vision.CascadeObjectDetector 系统对象。

demo


编辑:

既然你提到了 OpenCV,那么直接从 MATLAB 中使用它如何?结帐mexopencv项目。

下面是检测人脸的示例代码:

%# Load a face detector and an image
detector = cv.CascadeClassifier('haarcascade_frontalface_alt.xml');
im = imread('myface.jpg');
%# Preprocess
gr = cv.cvtColor(im, 'RGB2GRAY');
gr = cv.equalizeHist(gr);
%# Detect
boxes = detector.detect(gr, 'ScaleFactor',1.3, 'MinNeighbors',2, 'MinSize',[30,30]);
%# Draw results
imshow(im);
for i = 1:numel(boxes)
    rectangle('Position',boxes{i}, 'EdgeColor','g');
end

值得一提的是,MATLAB的计算机视觉工具箱在实现中也使用了OpenCV..

关于matlab - 使用 MATLAB 进行自动人脸检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9300379/

相关文章:

c++ - 与 libmx 链接并使用 std::stringstream 时出现 g++ malloc 错误

arrays - 如何识别 MATLAB 中数据存储在数组边界之外的位置?

windows - C :\Users\' is not recognized as an internal or external command compiling opencv for QT

python-3.x - 使用图像的每个像素的每个位制作 8 个图像

python - findContour() 检测意外的内部边缘并为它们计算区域 OpenCV python

OPENCV如何加速imshow?

matlab - 如何在 MATLAB 中预分配非数字向量?

matlab - 如何在 Matlab 中沿对角线重复一个向量

image-processing - 如何从 OpenCV 中的一条线上获取点?

python - 使用 OpenCV 使用 Python 访问 Prosilica GigE 相机时,函数调用在 C 中有效,但在 Python 中出现段错误