这是我正在处理的扫描图像original image。其想法是只提取木纹作为暗线,而其他所有东西都将成为图像中的白色背景
我试着使用OpenCV,但结果远不理想。如何提取这些行
在这里,我标记了图像,以说明我正在寻找的线条:
以下是我尝试的步骤:
1-将图像转换为灰度:
grayImage = cv2.cvtColor(crop_image, cv2.COLOR_BGR2GRAY)
2-将灰度图像转换为黑白:
(thresh, blackAndWhiteImage) = cv2.threshold(grayImage, 160, 255, cv2.THRESH_BINARY)
3-黑白图像看起来不太好。所以我做了一个扩张器:
kernel = np.ones((5,5),np.uint8)
dilation = cv2.dilate(blackAndWhiteImage,kernel,iterations = 1)
我也尝试了不同的阈值,但它们并没有让事情变得更好。使用ADAPTIVE_THRESH_MEAN_C
和ADAPTIVE_THRESH_GAUSSIAN_C
会使情况更糟
更新:我现在有了一个想法。我想我需要编写代码,根据放大的图像“画线”。仅使用现有库(如OpenCV)并不能完全满足我的要求。如果我错了,请告诉我。非常感谢
目前没有回答
相关问题 更多 >
编程相关推荐