编者按:此文件被选为MATLAB Central推荐商品
在r2012中,我们引入了圆HOUGH变换来检测图像中的圆。有几个参数可以操作以提高IMFINDCIRCLES功能的性能。此应用程序提供了一个交互式环境,用于更改参数和选项,以及立即可视化计算的效果。
用法:
circleFinder使用默认图像('硬币.png')预加载。
circleFinder(input image)允许用户指定输入图像或输入图像的名称。
班级支持:万博1manbetx
inputImage可以是IMREAD可读的任何有效图像格式。支持彩色(RGB)图像,但对RGB2GRAY表示执行圆检测。万博1manbetx
(有关详细信息,请参见IMFINDCIRCLES的帮助。)
注意:此功能和应用程序已验证是否准备就绪,并将作为FindCirclesGUI的替代。
可在此处访问解释此应用程序使用的视频教程:
https://www.youtube.com/watch?v=dgxvBBn_oIQ
欢迎提出意见/建议。
Brett Shoelson(2020年)。圆查找器(//www.tianjin-qmedu.com/matlabcentral/fileexchange/34365-circle-finder),MATLAB中心文件交换。恢复.
2.0.0.1版 | 更新的许可证 |
|
2.0.0.0版 | 修改描述以包含指向教学YouTube视频的链接。 |
|
2.0.0.0版 | 我想我还是和新的(R14b+)MATLABs有些不兼容。这应该能治好他们。 |
|
1.9.0.0条 | 已验证是否准备就绪。我认为它在以前的版本中仍然有效。 |
|
1.8.0.0条 | 修复了图像名称中下划线和加载后续图像的问题。 |
|
1.7.0.0条 | 合并了一个不允许加载新图像的丢失文件。还修复了图像标题中下划线的问题。 |
|
1.6.0.0条 | 现在默认为“立即处理”=false。另外,采用指定初始半径范围的可选输入参数。一些小错误修复,更好的expandAxes行为,更好的图像导入行为。 |
|
1.5.0.0条 | 已更新以包含r2012 b的应用程序文件。 |
|
1.4.0.0条 | 已转向更正文件。 |
|
1.2.0.0条 | 添加版权。 |
尼克·迈克尔(查看配置文件)
这帮了我的忙,仔细选择你的背景可以大大提高结果。我试着找到大头针的头部,用了一个黑色的背景,成功率达到了90%。
拉姆(查看配置文件)
沙赫泽布阿里(查看配置文件)
眼睛虹膜检测不正确请告诉其他解决方案
光学应力(查看配置文件)
不幸的是,这无法确定我使用的圆圈。。。
巴拉苏布拉曼尼亚(查看配置文件)
布雷特·肖尔森(查看配置文件)
@亚当:
在工具的右下角,您将看到一个标记为“导出/保存结果”的按钮。如果您调整示例图像的参数,然后导出,您将在您的MATLAB命令窗口中看到等效的代码来重现结果。您应该能够很容易地将代码复制并粘贴到函数中,并将其应用于多个文件(在for循环或parfor循环中)。
当做,
布雷特
亚当欧帕尔斯基(查看配置文件)
我发现它在液滴微流体中非常有用。然而,由于我对MATLAB还很陌生,所以我不能完全使用它。问小费的地方对吗?
我可以在一张有很多物体的图像中检测出圆圈(即水滴)。但是,我想这样做是为了从一个接一个地拍摄运动液滴的图像序列中提取信息。这样做容易吗?
刘艳艳(查看配置文件)
谢谢!这对我的过程很重要
布雷特·肖尔森(查看配置文件)
@豪克,
感谢你的评价——你处理大图像的方法很聪明。如果你不知道的话,blockproc函数会促进这种交互。一旦你有了一个函数句柄(由我的应用程序返回),你就可以一次读取和处理任意大的图像块!
干杯,
布雷特
豪克·卡斯滕森(查看配置文件)
谢谢你提供这个图形用户界面,我用了很多!
它无法处理大小为20.000*20.000的图像,但通过在图像中添加一个循环(重叠)部分,这是可能的。第二步清除双重计数。这样你就有了一个进程条,节省了内存。
布雷特·肖尔森(查看配置文件)
@肯尼斯,
谢谢你的建议。如果单击“导出”按钮,则导出的内容之一是“结果”图像。或者,你可以简单地写下:
imshow(imgIn)节目
viscircles(圆,半径)
至于红到完成,你的过程需要多长时间?一般来说,速度很快。
当做,
布雷特
肯尼斯·舍普勒(查看配置文件)
比手动尝试不同的参数要好得多。一旦我找到了圆和它们的半径,就可以保存我所看到的图像,这将是一件好事。另外,将Process Now按钮的颜色更改为红色,直到处理完成,这将有助于识别何时处理完成。
霍尔希德1974(查看配置文件)
凯尔·莫里斯(查看配置文件)
对于4096 x 4096图像,使用两级(灵敏度0.3)搜索,超过10-50像素,“tic”和“toc”报告计算时间为95秒。
我很感激这种图像大小和搜索参数可能会使“imfindcircles”超出其预期的设计和可靠性,所以时间不是问题,我实际上印象深刻,只是好奇是否可以报告累加器的进度。
布雷特·肖尔森(查看配置文件)
凯尔,谢谢你的评价。在这种情况下,waitbar并不实际——没有for循环。只是一个累加器,一直运行到完成。(不过,你的计算需要多长时间?)
凯尔·莫里斯(查看配置文件)
很好的实现。例如,有没有办法用“waitbar”来指示Hough变换的进度?
杰汉·齐亚德·加夫里(查看配置文件)