答案 0 :(得分:1)
根据我的经验,Canny边缘检测算法在用于处理低分辨率图像时通常会留下这些伪像。听起来很奇怪,通过简单地增加图像的大小(例如,使用双线性插值),您通常可以获得更好的结果。我不确定您使用的是什么工具,但在OpenCV中,可以使用简单的resize功能来完成。通过将宽度和高度增加4倍,我可以得到以下边界:
当然,如果仔细观察,你仍然会看到一些小差距。一种可能的解决方案,以解决它使用morphological transformations。例如,如果我在上面的图像上使用形态学关闭操作,这将有助于连接间隙:
值得注意的是,由于您的边缘图像在白色背景上看起来是黑色边缘,因此您可能需要使用形态学打开操作。
另外,请注意,Canny操作的低阈值也可以对解决您在某些情况下看到的各种差距产生一些影响。在尝试更加计算昂贵的方法之前,值得尝试降低低阈值,看看是否可以拉入缺失的边缘。
答案 1 :(得分:0)
尝试在精确轮廓检测器之前使用锐化滤镜来强调边缘。