实用讲义
问题陈述
编写一个简单的霍夫特征检测器,可以检测输入图像中任意大小的圆。
该程序必须支持以下功能:
简单的边缘过滤器
灰度图像将需要通过简单的边缘过滤器(请参阅注释)进行处理,然后进行阈值确定,以确定仅包含背景和边缘像素的二进制图像
突出显示提取的特征
检测到特征后,必须在图像上绘制与该特征对应的圆圈以显示结果。 该图像可以保存然后查看。
多种功能
确定累加器最大值的过程需要搜索多个局部最大值; 这些中的每一个都将是一个新功能(圆圈)。
提供一些带圆圈的示例测试图像
我的解决方案
该解决方案是使用一些 Qt 和 cmake 用 C++ 编写的。 Qt 提供了加载和保存图像的便利,而 cmake 则用于生成构建文件。 该解决方案的工作原理如下:
加载源图像
运行Sobel边缘检测
每个半径为 1..n 的霍夫变换,其中 n 是可能的最大半径
找到霍夫空间图像中的亮点,并将其标
2021-06-12 21:46:16
7KB
C++
1