Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 在低分辨率灰度图像中寻找重叠圆的中心_Matlab_Image Processing_Computer Vision_Computer Science_Hough Transform - Fatal编程技术网

Matlab 在低分辨率灰度图像中寻找重叠圆的中心

Matlab 在低分辨率灰度图像中寻找重叠圆的中心,matlab,image-processing,computer-vision,computer-science,hough-transform,Matlab,Image Processing,Computer Vision,Computer Science,Hough Transform,我目前正在计算机视觉和图像处理领域迈出第一步 我正在做的任务之一是找到(重叠和遮挡)圆的中心坐标 以下是一个示例图像: 下面是显示两个重叠圆的另一个示例图像: 有关此问题的更多信息: 始终是单色、灰度图像 相当低分辨率的图像 圆的半径未知 给定图像中的圆数未知 要确定圆心,最好是亚像素精度 半径不必确定 相对较低的算法开销非常重要;该处理应使用实时相机图像进行 对于第一个样本图像,通过找到质心来计算圆心相对容易。不幸的是,这对第二个映像不起作用 我尝试的东西主要是基于圆霍夫变换和距离变换

我目前正在计算机视觉和图像处理领域迈出第一步

我正在做的任务之一是找到(重叠和遮挡)圆的中心坐标

以下是一个示例图像:

下面是显示两个重叠圆的另一个示例图像:

有关此问题的更多信息:

  • 始终是单色、灰度图像
  • 相当低分辨率的图像
  • 圆的半径未知
  • 给定图像中的圆数未知
  • 要确定圆心,最好是亚像素精度
  • 半径不必确定
  • 相对较低的算法开销非常重要;该处理应使用实时相机图像进行
对于第一个样本图像,通过找到质心来计算圆心相对容易。不幸的是,这对第二个映像不起作用

我尝试的东西主要是基于圆霍夫变换和距离变换

圆霍夫变换在计算上似乎相对昂贵,因为我没有关于半径的信息,并且可能的半径范围很大。此外,由于图像的低分辨率,似乎很难沿边缘识别(适当的)像素

至于距离变换,我很难识别圆的中心,而且图像需要二值化这一事实意味着一定程度的信息损失

现在,我正在寻找上述算法的可行替代方案

还有一些示例图像(类似于上面两个示例的图像是从以下图像中提取的):


只是大声思考,试着让球为你滚起来。。。我会考虑使用
Blob
,或
连接组件
分析来分离Blob

然后,我会开始逐个查看每个斑点。第一件事是查看每个blob的边界框有多方。如果它是非常方形的,并且水滴的质心位于正方形的中心,那么就有一个圆。如果它不是正方形,或者质心不是中心,则有多个圆


现在,我将开始观察白色区域与边界框边缘的接触位置,寻找一些关于中心位置的线索…

请再分享一些图像好吗?@MarkSetchell我添加了一些示例图像谢谢回答,这正是我目前正在做的事,仅仅根据我最初的描述,这可能并不清楚。关于触摸边界框边缘的提示似乎很有趣。我来看看!