您好,登錄后才能下訂單哦!
這篇文章主要介紹OpenCV霍夫圓變換cv2.HoughCircles()的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
circles = cv2.HoughCircles(img,
img: 待檢測的灰度圖cv2.HOUGH_GRADIENT:檢測的方法,霍夫梯度1:檢測的圓與原始圖像具有相同的大小,dp=2,檢測的圓是原始圖像的一半20:檢測到的相鄰圓的中心的最小距離(如果參數(shù)太小,除了一個真實(shí)的圓外,還可能會錯誤地檢測到多個相鄰圓。如果太大,可能會漏掉一些圓。)param1:在#HOUGH?u梯度的情況下,它是較高的. 兩個閾值傳遞到Canny邊緣檢測器(較低的一個小兩倍)。param2:在#HOUGH?u梯度的情況下,它是檢測階段圓心的累加器閾值。它越小,就越可能檢測到假圓;minRadius:最小圓半徑maxRadius:最大圓半徑,如果<=0,則使用最大圖像尺寸。如果<0,則返回沒有找到半徑的中心。
cv2.HOUGH_GRADIENT, 1, 20,
param1=50, param2=40, minRadius=25, maxRadius=0)
原始圖 VS 檢測圓效果圖如下:
如下右圖可以看到3個外側(cè)圓綠色,圓心紅色被成功檢測到;
圓的最小半徑設(shè)置由25調(diào)整為10,也可能會錯誤的檢測到圓,效果圖如下:
檢測圓半徑的閾值(param2設(shè)置35)的結(jié)果,最小圓半徑設(shè)置10,也可能會錯誤的檢測到圓,效果圖如下:
# 霍夫圓檢測 import cv2 import numpy as np cimg = cv2.imread('opencv_logo_350.jpg') cv2.imshow("origin", cimg) cv2.waitKey(0) img = cv2.cvtColor(cimg,cv2.COLOR_BGR2GRAY) img = cv2.medianBlur(img, 5) cimg = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR) # - img: 待檢測的灰度圖 # - cv2.HOUGH_GRADIENT:檢測的方法,霍夫梯度 # - 1:檢測的圓與原始圖像具有相同的大小,dp=2,檢測的圓是原始圖像的一半 # - 20:檢測到的圓的中心的最小距離(如果參數(shù)為太小,除了一個真實(shí)的圓外,還可能會錯誤地檢測到多個相鄰圓。如果太大,可能會漏掉一些圓。) # - param1:在#HOUGH?u梯度的情況下,它是較高的. 兩個閾值傳遞到Canny邊緣檢測器(較低的一個小兩倍)。 # - param2:在#HOUGH?u梯度的情況下,它是檢測階段圓心的累加器閾值。它越小,就越可能檢測到假圓; # - minRadius:最小圓半徑,也可能會檢測到假圓 # - maxRadius:最大圓半徑,如果<=0,則使用最大圖像尺寸。如果<0,則返回沒有找到半徑的中心。 circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 20, param1=50, param2=40, minRadius=0, maxRadius=0) # 最小圓半徑設(shè)置不合適,也可能會檢測到假圓 # circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 20, # param1=50, param2=40, minRadius=0, maxRadius=0) # circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 20, # param1=50, param2=30, minRadius=10, maxRadius=0) circles = np.uint16(np.around(circles)) print(len(circles)) print(circles) for i in circles[0, :]: # 繪制外圈圓(藍(lán)色) cv2.circle(cimg, (i[0], i[1]), i[2], (0, 255, 0), 2) # 繪制圓心(紅色) cv2.circle(cimg, (i[0], i[1]), 2, (0, 0, 255), 3) cv2.imshow('detected circles', cimg) cv2.waitKey(0) cv2.destroyAllWindows()
以上是“OpenCV霍夫圓變換cv2.HoughCircles()的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。