几天前我开始使用OpenCV,我的目标是检测一个圆圈及其中心,我使用了hough变换,我使用的是分辨率为640x480的网络摄像头,它正在工作但是circle继续改变它的位置,为了更好地解释它我在youtube上发布了一个屏幕抓取https://www.youtube.com/watch?v=6EGePHkGrok
这是代码http://pastebin.com/zRG4Yfzy,是的,我知道它有点乱
首先显示完整的视频,当相机稳定后,我按ESC,然后在ROI 250x250上开始处理。
我添加了几个轨迹栏来改变霍夫变换的参数和模糊量,改变模糊量并没有解决问题。
如何稳定圈子?此外,相机不会移动,因此无需跟踪。
或者我应该采用一种全新的方法来做到这一点?
根据我的理解,我需要应用某种过滤器。
物体有许多圆形轮廓,但都具有相同的中心,因此任何圆形轮廓都被检测到它的精细。
PS:我不是图像处理专家,我修补了各种网站和书籍的代码
答案 0 :(得分:1)
众所周知,Hough变换容易出错。
对于您的情况,您可能会在图像中找到轮廓并按其圆度过滤它们。
1-灰度
2-低通滤波器(高斯模糊)
3- canny边缘检测
4-找到轮廓并列出它们的区域。
5-将你的圆圈圈成圆圈。
6-选择最接近轮廓区域的最小圆周区域的轮廓。
7-使用moments F3型“质心”找到轮廓质心