以下是输出
以下是红色圆圈标记的内容。图像中有很多这样的线条,我只标记了3个圆圈。如何删除这些行?是否有任何过滤器可以删除此行?我想,这是因为存在角落。
答案 0 :(得分:4)
您可以使用中位数过滤器删除该内容。
尝试此代码,并在更改轨迹栏的值(蒙版大小)时查看差异。
import cv2
import numpy as np
def nothing(x):
pass
#image window
cv2.namedWindow('image')
cv2.namedWindow('image2')
# create trackbars for color change
cv2.createTrackbar('mask','image',1,10,nothing)
cv2.createTrackbar('mask2','image2',1,10,nothing)
#loading images
img = cv2.imread('VfgSN.png') # load your image with path
gray_im = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
while True:
# get current positions of trackbars
m = cv2.getTrackbarPos('mask','image')
m2 = cv2.getTrackbarPos('mask2','image2')
median = cv2.medianBlur(gray_im,(2*m+1))
median2 = cv2.medianBlur(img,(2*m2+1))
cv2.imshow('image',median)
cv2.imshow('image2',median2)
#press ESC to stop
k = cv2.waitKey(1) & 0xFF
if k == 27:
break
cv2.destroyAllWindows()
带面具的结果图片:5
灰度(使用相同的蒙版)
但是它也会影响图像的其他部分。如果你不希望这发生在另一部分。您可以在您感兴趣的区域中应用此过滤器。
希望它有所帮助。