Python+OpenCV静态图像读取与显示_Haar模型实现简单的人脸识别
目的:
1.主要是熟悉一下静态图像的读取与显示;
2.然后了解下基于OpenCV安装目录下haar特征识别人脸区域(人脸特征数据)
基于“tengxing007”的博客:
Python + OpenCV 实现简单的人脸识别点击打开链接
下载了作者github上的代码,代码最终可以运行,由于是新手走了些弯路,主要遇到问题:
1.model_face = ...haar-----.xml这里,要改成对应的目录
2.faceUtil.py里面多了个import matplotlib as plt,而且这也是错误的表达,这个问题找了半天
import matplotlib as plt这个表示错了,老是提醒我说没有对应的module
有人还说是pyc的问题,反正我这个不是
3.其实图片的相对路径还是绝对路径都可以,只是我在window上下载的"008.jpg"这张图片,挖槽,居然是损坏的,貌似没下载全,开始根本就打不开,好大个坑...
008.jpg图像损坏的情况下,运行时会报错:opencv-3.3.1\modules\highgui\src\window.cpp:339: error: (-215) size.width>0 && size.height>0 in function cv::imshow
后面发现,基于“半吊子全栈工匠”的博客:
7行Python代码的人脸识别点击打开链接
只要7行代码就搞定了,厉害厉害~
我大概画了个流程,里面这个CascadeClassifier(级联分类器),还不是很理解,这个多尺度检测,更加没有听说了。后续会在我自己的评论中添加对这两部分内容的解释
发现一个有趣的问题:“tengxing007”博客中的图片那几个美女的脸只能识别4个人,挖槽,这样子不行啊,你看“半吊子全栈工匠”里面全部识别出来了,汗~
怀疑是“scaleFactor”的问题,我没试将此参数的值改变会有什么影响...
scaleFactor=1.1