我想在这个
中找到深灰色的对角线,背景相当嘈杂,亮度有梯度。(当打开.png时,这条线几乎看不见,但如果我将其读为灰度,这条线会变得更加明显。)
我尝试了不同的模糊,阈值和精明的边缘检测组合。我能想到的最好的办法是:
img_blur = cv.bilateralFilter(img, 3, 120, 120)
thresh = cv.adaptiveThreshold(img_blur, 255, cv.ADAPTIVE_THRESH_GAUSSIAN_C, cv.THRESH_BINARY, 501, 3)
这导致了这个
。这里仍然有相当多的噪音在背景和线路中断。
我尝试了一些形态操作(扩张,侵 eclipse ,打开,关闭),但没有真实的的改善。
应用类似lines = cv.HoughLines(thresh, rho=1, theta=np.pi / 180, threshold=130)
的东西给我留下了这个
。这就是我想要的,但是130的阈值对类似的图像不起作用,并且会找不到或找不到太多的线。
1条答案
按热度按时间zf9nrax11#
您可以尝试首先使用Hessian检测图像中的脊,然后使用阈值。这在您的示例图像上似乎工作正常。