MATLAB 亚像素边缘检测代码只显示小白点?原因分析及解决方法
如果运行后显示的图像是一个小白点,可能是由于以下几个原因:
-
图像的边缘检测结果 bw_image 中只有一个像素点是白色,其他像素点都是黑色。这可能是由于使用的 Canny 边缘检测算法参数设置不合适导致的。你可以尝试调整 Canny 边缘检测算法的参数,例如调整阈值等,以获得更好的边缘检测结果。
-
亚像素边缘检测结果 subpixel_image 中只有一个像素点是白色,其他像素点都是黑色。这可能是由于计算亚像素边缘位置时出现了错误。你可以检查 zernike_moments 函数和 subpixel_edge_detection 函数中的计算公式和参数是否正确,并确保计算出的亚像素边缘位置在图像范围内。
-
图像的像素值范围不正确。你可以尝试将图像的像素值范围归一化到 0 到 255 之间,以便正确显示图像。
如果以上方法都无法解决问题,建议逐步调试代码,检查每个函数的输入和输出是否符合预期,并检查各个计算步骤是否正确。
原文地址: https://www.cveoy.top/t/topic/fv4F 著作权归作者所有。请勿转载和采集!