opencv-python作为经典的计算机视觉,图片处理平台,可以用来开发很多基础应用,关于opencv-python里边函数的应用小结如下,欢迎讨论:
人脸检测 一般用 haarCascade 车牌检测 也可以用haarCascade
识别边缘可以用HED(dnn,opencv自带的dnn) 或者canny
识别形状 如直线 圆形 可以用hough_LineP, hough_circle
(检测道路,检测围棋)
检测小的圆形斑点可用blob, SimpleBlobDetector 这和hough_circle还是有细微的区别的
识别其他形状(三角形 方形 ),轮廓可以用findContour(边缘与轮廓 有的时候可以很相近 取决于图片内容,也取决于问题)
走迷宫 可以用膨胀再腐蚀的操作
image segmentation,检测连通体 可以用MSER
OCR 可以用tesseract(brew) pytesseract(pip) 或者tesserocr(pip) tesserocr更好用
OMR需要使用a four point perspective transform, 使用 getPerspectiveTransform 和 warpPerspective
来获得一个答题卡的自上而下的鸟瞰视图 再使用findContour 识别涂卡区域的圆圈
验证码的识别可以用机器学习 deep CNN, keras (准确率很高)也可以用OCR
二维码,条形码的识别用对应的包就好了
去水印可以用inpaint() 但是效果不一定好 也可以自己写类似ps去水印原理的方法
videotracking 里边可以用不同的tracker tracker_types = [‘BOOSTING’, ‘MIL’, ‘KCF’, ‘TLD’, ‘MEDIANFLOW’, 'GOTURN’]
行人检测 用的比较多的检测符是HOG(HOG descriptor/person detector)
以上的每一种应用都可以对应一个项目,以后再找时间展开。