我在我的图像上应用了一些过滤器,只保留重要的信息。我想保留的主要信息是图像上的垂直线,如果有的话。有什么功能可以帮我吗?你知道吗
我已经按此顺序应用了以下筛选器:
灰度
闭合(形态变换)
卷积2D(scipy信号)
SOBEL_X(消除水平线)
阈值二进制
def process_image(self):
image = cv2.cvtColor(self.img_diagonal, cv2.COLOR_BGR2GRAY)
# Step 1 - Mophological Filters
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))
closing = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel)
scharr = np.array([[-3 - 3j, 0 - 10j, +3 - 3j],
[-10 + 0j, 0 + 0j, +10 + 0j],
[-3 + 3j, 0 + 10j, +3 + 3j]]) # Gx + j*Gy
grad = signal.convolve2d(closing, scharr, boundary='symm', mode='same')
sobelx = cv2.Sobel(np.absolute(grad), cv2.CV_64F, 1, 0, ksize=3)
ret, thresh2 = cv2.threshold(sobelx, 127, 255, cv2.THRESH_BINARY)
cv2.imwrite("Temp/ritmo--%d.png" % self.count, thresh2)
return thresh2
我希望在下面的图像上只保留垂直线,右边的图像是基础图像,没有处理,我想在左边的图像上应用一些过滤器:
(我不能发布图片,所以这里有链接)
https://i.imgur.com/kTOVjEJ.pnghttps://i.imgur.com/BjaOwQj.png
目前没有回答
相关问题 更多 >
编程相关推荐