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)
以上的每一種應用都可以對應一個項目,以後再找時間展開。