我一直在尝试使用给定聚光灯的不同时刻的图片,以便检测聚光灯内的圆,并确定其中心和圆的直径。在与它合作时,我遇到了一些问题。
1.使用二进制阈值适用于大多数图像,但也有一些图像,如下面显示的
对此应用二进制阈值会产生以下结果:
这是阈值的聚光灯的错误部分,甚至试图使用自适应阈值似乎没有做太多的问题。
1.有许多图像没有完全填充的圆圈,并且有些像素化,这意味着阈值产生的结果看起来像这样:
并且应用阈值处理可以做到这一点:
对于这些示例,我可以做些什么来构建一个圆并去除噪声,以便我可以检测到圆及其特征?
1条答案
按热度按时间muk1a3rh1#
如果你不能使用固定的阈值,最简单的方法之一是尝试可能的阈值,并选择一个看起来不错的。
在下面的示例代码(C++)中,以升序尝试阈值,直到二进制化结果形状变为“足够圆”。
该样品的结果(注:我使用缩小尺寸的图像输入):