Image processing 如何使用openCV检测圆组?
我下面有一张这样的照片。 我想在图片中找到一组圆圈(它们的位置)。 在下面的示例中,应该有三个组。背景为白色或白色 (在源图像中不会有这样的矩形。我刚才画图是为了显示组应该是什么样子) 有可能找到它吗 那么这样的图片呢: 无矩形的圆:Image processing 如何使用openCV检测圆组?,image-processing,opencv,object-recognition,Image Processing,Opencv,Object Recognition,我下面有一张这样的照片。 我想在图片中找到一组圆圈(它们的位置)。 在下面的示例中,应该有三个组。背景为白色或白色 (在源图像中不会有这样的矩形。我刚才画图是为了显示组应该是什么样子) 有可能找到它吗 那么这样的图片呢: 无矩形的圆: 1-只需反转图像 2-然后放大图像,使所有圆连接在一起 3-找到轮廓线 4-查找边界框 例如: 您必须使用HoughCircles识别圆圈,然后使用()。OpenCV具有K-Means实现:请参见和。HoughCircles将可能的圆之间的距离作为其参数之一
1-只需反转图像 2-然后放大图像,使所有圆连接在一起 3-找到轮廓线 4-查找边界框 例如:
您必须使用
HoughCircles
识别圆圈,然后使用()。OpenCV具有K-Means实现:请参见和。HoughCircles将可能的圆之间的距离作为其参数之一,然后再将其视为单独的圆。只需继续调整此参数。只要您的圆圈组与每组中的实际圆圈相距较远,HoughCircles就会将每个圆圈视为同一“圆圈”的一部分
但是,如果您的圆圈组重叠,那么这将不起作用。你必须以某种方式将每组分开。也许如果一组中的所有圆都在一条线上(就像在你的照片中),那么基本的Hough线检测会给你线-然后你可以检查靠近的平行线,这些表示每个组?你能在没有矩形的情况下添加图像吗?如果圆圈之间有例如:CCC(C-圆圈)、长空格,则放大图像会链接圆圈吗?这取决于迭代次数、使用的内核等。例如,在你的情况下,对于2次迭代,分组中出现分裂,而5给出了正确的答案。哦,不。你不会得到那么多。我插入的最后一张图片呢?