我想在这张图片中找到暗灰色的对角线。背景非常嘈杂,并且亮度有梯度变化。
(当打开.png文件时,这条线几乎看不见,但如果将其读取为灰度图像,则线条更加明显。)
我尝试了不同的模糊、阈值化和Canny边缘检测的组合。我能想到的最好的方法是:
这导致了这个结果
。
在这里,背景中仍然有很多噪音,线条也被中断了。
我尝试了一些形态学操作(膨胀、腐蚀、开运算、闭运算),但没有真正改善。
像这样应用
。
这正是我想要的,但是阈值130对于类似的图像不起作用,可能找不到或找到太多线条。
我尝试了不同的模糊、阈值化和Canny边缘检测的组合。我能想到的最好的方法是:
img_blur = cv.bilateralFilter(img, 3, 120, 120)
thresh = cv.adaptiveThreshold(img_blur, 255, cv.ADAPTIVE_THRESH_GAUSSIAN_C, cv.THRESH_BINARY, 501, 3)
这导致了这个结果
![threshold image](https://istack.dev59.com/NhEam.webp)
我尝试了一些形态学操作(膨胀、腐蚀、开运算、闭运算),但没有真正改善。
像这样应用
lines = cv.HoughLines(thresh, rho=1, theta=np.pi / 180, threshold=130)
,我得到了这个 ![result](https://istack.dev59.com/vSktf.webp)
ridges = detect_ridges(original_image, sigma=5)
给我带来了非常好的结果。谢谢! - undefined