C++ 在检测划痕之前减少噪音
我在试着检测芯片上的轻微划痕。并连接这些非连续划痕,以便划痕计数正确 目前,我正在使用canny边缘和概率hough变换来检测和绘制划痕。但是,噪声太大,无法准确检测。我尝试了形态学操作来降低噪音,但失败了,因为微弱的划痕也会被消除。此外,我还尝试使用sobel滤波器和高斯模糊来减少噪声,但结果也很糟糕。我对图像处理很陌生,所以我已经没有办法减少噪音了 原创的 预期 这是我正在尝试的图像。预期结果是从芯片顶部一直到芯片底部的划痕,划痕计数应该只有一个 这是我能做的最好的canny edge,它给了我错误的检测 这是阈值为185的二值化图像 我愿意接受任何建议,以便尝试其他方法。 另外,如果需要任何额外的信息,请告诉我 已编辑 非局部滤波器 结果C++ 在检测划痕之前减少噪音,c++,opencv,image-processing,hough-transform,canny-operator,C++,Opencv,Image Processing,Hough Transform,Canny Operator,我在试着检测芯片上的轻微划痕。并连接这些非连续划痕,以便划痕计数正确 目前,我正在使用canny边缘和概率hough变换来检测和绘制划痕。但是,噪声太大,无法准确检测。我尝试了形态学操作来降低噪音,但失败了,因为微弱的划痕也会被消除。此外,我还尝试使用sobel滤波器和高斯模糊来减少噪声,但结果也很糟糕。我对图像处理很陌生,所以我已经没有办法减少噪音了 原创的 预期 这是我正在尝试的图像。预期结果是从芯片顶部一直到芯片底部的划痕,划痕计数应该只有一个 这是我能做的最好的canny edge,
您好,我已经尝试了非本地过滤器,这是结果。这很好,但还不够完美,尤其是中间缺少的部分。我通过手动降低hough变换的阈值来解决这个问题。有什么更好的方法可以解决这个问题吗?OpenCV中有什么可以帮助我的?我只知道如何使用基本的过滤器,如高斯滤波器和sober滤波器,有什么更好的过滤器可以解决这个问题吗?SE站点“信号处理”可能更适合这个问题您是否尝试过像邻域滤波这样的非局部滤波?一个基于范围的过滤器(mean+-delta变成mean、全局或局部)也会有帮助。@user6556709我想你的意思是opencv中的fastNlMeansDenoising()函数,对吗?它似乎起作用了,我一试就会给你回复。