我无法发布图片,但是在一张非常清晰的欧元照片上,该程序识别出一些圈子,而不是其他一些圈子,甚至可以像其他人一样清楚.
这是我的代码:
‘$’
import cv2 import numpy as np filename = r'C:\Users\roseline\Desktop\pIEcefacile.jpg' img = cv2.imread(filename) output = img.copy() gray = cv2.cvtcolor(img,cv2.color_BGR2GRAY) #BGR donnant GRAY circles = cv2.HoughCircles(gray,cv2.cv.CV_HOUGH_GRADIENT,1,70,200,100) if circles is not None: circles = np.round(circles[0,:]).astype("int") #convertit en entIEr les donnéesfor (x,y,r) in circles: cv2.circle(output,(x,y),r,(0,255,0),4) cv2.rectangle(output,(x-2,y-2),(x+2,y+2),128,255),-1)cv2.imshow("2015_TIPE_LE_DEM",np.hstack([img,output]))cv2.waitKey(0)
对不起,我希望有人可以帮助我,分享他的知识,我被剥夺了.
解决方法 这看起来像你设置硬币的最小和最大半径是错误的.算法不检测较小的算法,因为它不会查找它们,并且它确实发现了误报,因为您将阈值设置为低,最大半径设置得太高.查看this Tutorial和the documentation并使用参数min_radius和max_radius(使两者都更小).您可以预先测量硬币的半径(以像素为单位).
如果你仍然获得正面命中,请使用参数param1和param2.如果您想自动进行,请使用互相关.
看到你的灰度图像会很有趣.如果您的真实世界数据像硬币图像一样简单,那么您真的很幸运.在很多时候,最困难的部分是摆脱噪音.
总结以上是内存溢出为你收集整理的OpenCV Python,为什么Hough Circle Transform找不到所有圆圈?全部内容,希望文章能够帮你解决OpenCV Python,为什么Hough Circle Transform找不到所有圆圈?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)