角點檢測是圖像處理中常見的問題之一。在計算機視覺中,角點是一種特殊的特征點,通常用于計算圖像中物體的運動或變形。在這篇文章中,我們將介紹如何使用 Python 中的 OpenCV 庫實現角點檢測算法。
import cv2 import numpy as np # 讀取圖片 img = cv2.imread('image.jpg') # 轉成灰度圖片 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 角點檢測 corners = cv2.goodFeaturesToTrack(gray, 25, 0.01, 10) # 把角點標記在圖像上 corners = np.int0(corners) for corner in corners: x,y = corner.ravel() cv2.circle(img,(x,y),3,255,-1) # 顯示圖片 cv2.imshow('corners',img) cv2.waitKey(0) cv2.destroyAllWindows()
在這段代碼中,我們首先使用 cv2.imread() 函數讀取了一張圖片,然后使用 cv2.cvtColor() 函數將其轉成灰度圖片。接著,我們使用 cv2.goodFeaturesToTrack() 函數實現了角點檢測算法。這個函數的參數分別為:待檢測的圖像、需要檢測的角點個數、角點質量因子、角點之間最小距離。
最后,我們將檢測到的角點在原始圖片上標記出來,使用 cv2.circle() 函數完成,這里我們標記圓的半徑為 3 個像素,顏色為白色。最后使用 cv2.imshow() 函數顯示得到的結果。
綜上所述,通過這篇文章的介紹,我們學習了如何使用 Python 中的 OpenCV 庫實現角點檢測算法。
上一篇python 文本重復行
下一篇mysql刪除唯一值約束