您的位置:首页 > 运维架构

[置顶] OpenCV:常见函数和常用案例总结

2018-04-03 16:29 549 查看
OpenCV一些常用函数HOG detectMultiScale winStride(可选)  HoG检测窗口移动时的步长(水平及竖直)。  winStride和scale都是比较重要的参数,需要合理的设置。一个合适参数能够大大提升检测精确度,同时也不会使检测时间太长。
padding(可选)  在原图外围添加像素,作者在原文中提到,适当的pad可以提高检测的准确率(可能pad后能检测到边角的目标?)  常见的pad size 有(8, 8), (16, 16), (24, 24), (32, 32).
参数分析,参考博客https://www.cnblogs.com/klitech/p/5747895.html


CV_WRAP virtual void detectMultiScale( const Mat& image,
                      CV_OUT vector<Rect>& objects,
                      double scaleFactor=1.1,
                      int minNeighbors=3, int flags=0,
                      Size minSize=Size(),

                      Size maxSize=Size() );
minSize=Size()、maxSize=Size(): 决定了检测到的最小和最大的人脸大小,如果图片中人脸距离相机较远,把minSize参数设置为=Size(20,20) 
scaleFactor:参数决定由多少不同大小的人脸要搜索,通常为1.1 
minNeighbors: 决定着人脸检测器如何确定人脸已经被找到,默认值是3,如果改为4的话,将会使检测的正确率增加,但是漏检率也可能增加,可以理解为参数越大,判断的条件越苛刻。 

flags:是否要检测所有人脸。
 下面我来跟大家讲一下IMG取某区域内图像的坐标以及cv2.rectangle的定位坐标。参考博客https://www.cnblogs.com/fightccc/p/8616068.html      1)cv2.rectangle,我们从上面的注释中知道,获取的是左上角和右下角的顶点坐标,用画图的方式表达如下:

      2)IMG区域取值范围则和1)不同,IMG[左上顶点y:左下顶点y,左上顶点x:右上顶点x],用图来表示S◇acef区域如下:

         所以,之后截取后记得以最原始的IMG坐标为顶点,再来表示要截取的区域,不然就会报错。

OpenCV一些常用案例Python-OpenCV基本操作方法详解http://www.jb51.net/article/137568.htm
1、打开一张图片import cv2

img = cv2.imread("F:\\File_Python\\Python_example\\faceRecognition-master\\Original_picture\\Jason_niu\\Jason_niu (1).jpg")
cv2.namedWindow("Image")
cv2.imshow("Image", img)
cv2.waitKey (0)
cv2.destroyAllWindows()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: