如何去除图像 OpenCV、Python 中的噪声?

新手上路,请多包涵

我有一些裁剪过的图像,我需要在白色背景上有黑色文本的图像。首先,我应用自适应阈值处理,然后尝试去除噪声。虽然我尝试了很多去噪技术,但是当图像发生变化时,我使用的技术都失败了。

在此处输入图像描述

将我的图像的图像颜色转换为二进制的最佳方法是自适应高斯阈值。这是我的代码:

 im_gray = cv2.imread("image.jpg",  cv2.IMREAD_GRAYSCALE)
image = cv2.GaussianBlur(im_gray, (5,5), 1)
th =  cv2.adaptiveThreshold(image,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,3,2)

在此处输入图像描述

我需要平滑值、十进制分隔符(点)和后缀字母。我怎样才能做到这一点?

原文由 Ugurcan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 857
2 个回答

二值化前,需要对背景的光照不均匀进行校正。例如,像这样:

 import cv2

image = cv2.imread('9qBsB.jpg')
image=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
se=cv2.getStructuringElement(cv2.MORPH_RECT , (8,8))
bg=cv2.morphologyEx(image, cv2.MORPH_DILATE, se)
out_gray=cv2.divide(image, bg, scale=255)
out_binary=cv2.threshold(out_gray, 0, 255, cv2.THRESH_OTSU )[1]

cv2.imshow('binary', out_binary)
cv2.imwrite('binary.png',out_binary)

cv2.imshow('gray', out_gray)
cv2.imwrite('gray.png',out_gray)

结果: 在此处输入图像描述在此处输入图像描述

原文由 Alex Alex 发布,翻译遵循 CC BY-SA 4.0 许可协议

在 Python/OpenCV 中使用除法归一化可以做得稍微好一些。

输入:

在此处输入图像描述

 import cv2
import numpy as np

# load image
img = cv2.imread("license_plate.jpg")

# convert to grayscale
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# blur
blur = cv2.GaussianBlur(gray, (0,0), sigmaX=33, sigmaY=33)

# divide
divide = cv2.divide(gray, blur, scale=255)

# otsu threshold
thresh = cv2.threshold(divide, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU)[1]

# apply morphology
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3,3))
morph = cv2.morphologyEx(thresh, cv2.MORPH_CLOSE, kernel)

# write result to disk
cv2.imwrite("hebrew_text_division.jpg", divide)
cv2.imwrite("hebrew_text_division_threshold.jpg", thresh)
cv2.imwrite("hebrew_text_division_morph.jpg", morph)

# display it
cv2.imshow("gray", gray)
cv2.imshow("divide", divide)
cv2.imshow("thresh", thresh)
cv2.imshow("morph", morph)
cv2.waitKey(0)
cv2.destroyAllWindows()

部门形象:

在此处输入图像描述

阈值图像:

在此处输入图像描述

形态学清理图像:

在此处输入图像描述

原文由 fmw42 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题