天天看點

Python-OpenCV霍夫圓變換執行個體--答題卡圓形查找檢測

本文作者Color Space,文章未經作者允許禁止轉載!

測試圖像與題目來源:https://www.cnpython.com/qa/116720

測試圖:

Python-OpenCV霍夫圓變換執行個體--答題卡圓形查找檢測

結果圖:

Python-OpenCV霍夫圓變換執行個體--答題卡圓形查找檢測

實作代碼:

import cv2

import numpy as np

img = cv2.imread('./test.png',0)

cv2.imshow('src',img)

img = cv2.medianBlur(img,3)

cimg = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)

circles = cv2.HoughCircles(img,cv2.HOUGH_GRADIENT,1,50,\
         param1=100,param2=30,minRadius=25,maxRadius=35)

if circles is None:
    print("找圓失敗!")

else:
    circles = np.uint16(np.around(circles))

a, b, c = circles.shape
print (circles.shape)
for i in range(b):
    cv2.circle(cimg, (circles[0][i][0], circles[0][i][1]), circles[0][i][2], (0, 255, 0), 2, cv2.LINE_AA)
    cv2.circle(cimg, (circles[0][i][0], circles[0][i][1]), 2, (0, 0, 255), 3, cv2.LINE_AA) # draw center of circle

    
cv2.imshow('detected circles',cimg)
cv2.imwrite('circle.png',cimg)

cv2.waitKey(0)

cv2.destroyAllWindows()
           

更多視覺圖像處理相關内容,請掃碼關注:OpenCV與AI深度學習。

Python-OpenCV霍夫圓變換執行個體--答題卡圓形查找檢測