图像处理以去除图像中的噪声

hug*_*ugo 2 opencv image-processing python-3.x

我正在使用 opencv 对图像进行图像处理。

我只想将图像转换为黑白,但我想删除一些灰色(噪点)

这是我的图片:

点击这里

我想要一张白色和黑色的图像,只是为了清楚地显示文本:

“ 参与 -3.93 C Redevance Patronale -1.92 C ”

我尝试用 OpenCV 更改图像的阈值但没有成功

#grayscale
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
#binary
ret,thresh = cv2.threshold(gray,175,255,cv2.THRESH_BINARY_INV)
Run Code Online (Sandbox Code Playgroud)

Var*_*wal 5

我认为你的意思是消除图像的噪音。为此,您可以选择较低的阈值。我选择 64 使用ret,thresh = cv2.threshold(img,64,255,cv2.THRESH_BINARY)并得到以下结果:

阈值图像

但这不是那么清晰,而且字母很细,所以我们使用cv2.erode。这给出:

侵蚀图像

现在我们cv2.bitwise_or在原始图像和腐蚀图像之间执行以获得无噪声图像。

结果

使用的完整代码是

img = cv2.imread('grayed.png', 0)
ret,thresh = cv2.threshold(img,64,255,cv2.THRESH_BINARY)
kernel = np.ones((5, 5), np.uint8)
erode = cv2.erode(thresh, kernel, iterations = 1)
result = cv2.bitwise_or(img, erode)
Run Code Online (Sandbox Code Playgroud)