使用OpenCV消除图像背景中的波浪噪声

ahm*_*ama 5 python opencv

我想删除背景中存在的噪音.噪音不是标准模式.我想删除背景噪音,并将文字保存在白色背景上.

这是一个图像样本:

在此输入图像描述

我使用下面的代码非常简单的处理步骤.

import cv2 
import numpy as np

img = cv2.imread("noisy.PNG")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = cv2.subtract(255,gray)
ret,thresh = cv2.threshold(gray,5,255,cv2.THRESH_TOZERO)


noisy_removal = cv2.fastNlMeansDenoising(thresh, None, 65, 5, 21)
cv2.imwrite("finalresult.jpg",255-noisy_removal)
Run Code Online (Sandbox Code Playgroud)

这是输出图像:

在此输入图像描述

我怎样才能增强这个结果

zin*_*rod 5

你可以玩的对比度/亮度在讨论去除背景像素这一职位.

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

alpha = 2.5
beta = -0.0

denoised = alpha * gray + beta
denoised = np.clip(denoised, 0, 255).astype(np.uint8)

denoised = cv2.fastNlMeansDenoising(denoised, None, 31, 7, 21)
Run Code Online (Sandbox Code Playgroud)

结果