Python是一種廣泛應(yīng)用于人工智能、數(shù)據(jù)分析等領(lǐng)域的編程語言,在計算機視覺領(lǐng)域也有著廣泛的應(yīng)用。檢測圓形是計算機視覺中的一個重要任務(wù),下面我們來通過Python實現(xiàn)圓形的檢測。
import cv2 import numpy as np #讀取圖片并轉(zhuǎn)換為灰度圖像 img = cv2.imread('circle.jpg') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #通過霍夫圓形變換檢測圓形 circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 20, param1=50, param2=30, minRadius=0, maxRadius=0) #畫出檢測到的圓形 if circles is not None: circles = np.round(circles[0, :]).astype("int") for (x, y, r) in circles: cv2.circle(img, (x, y), r, (0, 255, 0), 2) #展示結(jié)果 cv2.imshow("Circle detection", img) cv2.waitKey(0) cv2.destroyAllWindows()
上面的代碼首先通過cv2.imread函數(shù)讀取circle.jpg圖片,然后通過cvtColor函數(shù)將圖片轉(zhuǎn)換為灰度圖像。接著使用HoughCircles函數(shù)對灰度圖像進行圓形變換,將檢測到的圓形存儲在circles中。最后通過循環(huán)將檢測到的圓形用綠色的圓圈標注在原始圖像上并展示。
Python是一個非常方便和易于學(xué)習(xí)的編程語言,使用Python實現(xiàn)圓形檢測只需很少的代碼量,這大大降低了編程的難度。希望本文能對初學(xué)者們學(xué)習(xí)計算機視覺有所幫助。