python+opencv輪廓檢測代碼解析
首先大家可以對OpenCV有個初步的了解,可以參考:簡單了解OpenCV
輪廓(Contours),指的是有相同顏色或者密度,連接所有連續(xù)點的一條曲線。檢測輪廓的工作對形狀分析和物體檢測與識別都非常有用。
在輪廓檢測之前,首先要對圖片進行二值化或者Canny邊緣檢測。在OpenCV中,尋找的物體是白色的,而背景必須是黑色的,因此圖片預處理時必須保證這一點。
import cv2 #讀入圖片 img = cv2.imread("1.png") # 必須先轉化成灰度圖 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 二值化 ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINAEY) # 尋找輪廓 contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) # 畫出輪廓,-1,表示所有輪廓,畫筆顏色為(0, 255, 0),即Green,粗細為3 cv2.drawContours(img, contours, -1, (0, 255, 0), 3) # 顯示圖片 cv2.namedWindow("Contours", cv2.NORMAL_WINDOW) cv2.imshow("Contours", img) # 等待鍵盤輸入 cv2.waitKey(0) cv2.destroyAllWindows()
總結
本文實例涉及對圖片的一些簡單處理,比如圖片的讀取,灰度顯示,二值化等,大家可以參考。
以上就是本文關于python+opencv輪廓檢測代碼解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:
python+opencv實現(xiàn)的簡單人臉識別代碼示例
如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關文章
python中類的輸出或類的實例輸出為<__main__類名 object at xxxx>這種形式的原因
在本篇文章里小編給大家分享了關于python中類的輸出或類的實例輸出為何是<__main__類名 object at xxxx>這種形式,需要的朋友們可以參考下。2019-08-08Python快速進修指南之向量數(shù)據(jù)庫文本搜索
這篇文章主要為大家介紹了Java開發(fā)快速進修Python指南之向量數(shù)據(jù)庫文本搜索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01