Python是一種廣泛應(yīng)用于人工智能、數(shù)據(jù)分析等領(lǐng)域的編程語(yǔ)言,在計(jì)算機(jī)視覺(jué)領(lǐng)域也有著廣泛的應(yīng)用。檢測(cè)圓形是計(jì)算機(jī)視覺(jué)中的一個(gè)重要任務(wù),下面我們來(lái)通過(guò)Python實(shí)現(xiàn)圓形的檢測(cè)。
import cv2 import numpy as np #讀取圖片并轉(zhuǎn)換為灰度圖像 img = cv2.imread('circle.jpg') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #通過(guò)霍夫圓形變換檢測(cè)圓形 circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 20, param1=50, param2=30, minRadius=0, maxRadius=0) #畫(huà)出檢測(cè)到的圓形 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()
上面的代碼首先通過(guò)cv2.imread函數(shù)讀取circle.jpg圖片,然后通過(guò)cvtColor函數(shù)將圖片轉(zhuǎn)換為灰度圖像。接著使用HoughCircles函數(shù)對(duì)灰度圖像進(jìn)行圓形變換,將檢測(cè)到的圓形存儲(chǔ)在circles中。最后通過(guò)循環(huán)將檢測(cè)到的圓形用綠色的圓圈標(biāo)注在原始圖像上并展示。
Python是一個(gè)非常方便和易于學(xué)習(xí)的編程語(yǔ)言,使用Python實(shí)現(xiàn)圓形檢測(cè)只需很少的代碼量,這大大降低了編程的難度。希望本文能對(duì)初學(xué)者們學(xué)習(xí)計(jì)算機(jī)視覺(jué)有所幫助。