我遵循(并修改了)this post的最佳答案中的方法。
我的图像有点different。我使用了HoughLinesP并设法检测到大多数红线。
我想知道是否有一种方法可以从图像中删除检测到的线条,而不会损坏其他黑色相交的线条?我只对黑色线条感兴趣。是否有一种更聪明的方法来隔离黑线而不会丢失过多的像素和线段?
答案 0 :(得分:2)
如果您只想隔离黑线,则可以使用简单的Otsu阈值并按位进行操作-
import cv2
image = cv2.imread('3.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 0, 255,cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]
result = cv2.bitwise_and(image,image,mask=thresh)
result[thresh==0] = (255,255,255)
cv2.imshow('thresh', thresh)
cv2.imshow('result', result)
cv2.waitKey()
答案 1 :(得分:0)
这似乎是信号分离/处理的问题。
我不知道这是否行得通。但这只是预感。试一试,看看是否有效。假设您的图像是卷尺和ECG的卷积图像。因此,如果您在傅立叶域中对此进行处理,也许您可以解开这两种信号。
R
具有scipy
功能)。调用原始图像:fft
和fft-image:f
。 F
,将其命名为g
。 如果此方法不起作用,请在评论部分留下注释。