python - 如何从图像中去除显示器闪烁的噪音?

标签 python python-3.x image opencv image-processing

我正在尝试消除监视器屏幕照片中的噪音。这是源照片:

enter image description here

我尝试了一些不同的方法,所以我的代码的当前版本如下:

clr_img = cv2.imread("D:\Noisy.jpg", 1) 
gray_img = cv2.cvtColor(clr_img, cv2.COLOR_BGR2GRAY) 
gray_img = cv2.fastNlMeansDenoising(gray_img, h=11)
binary_image = cv2.adaptiveThreshold(gray_img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 91, 12)

结果如下:

enter image description here

有没有可能摆脱这种噪音?

最佳答案

您需要在自适应阈值之前应用平滑操作。简单的模糊应该有助于减少噪音。其中任何一个都应该有效:简单平均模糊( cv2.blur )、高斯模糊( cv2.GaussianBlur )或中值模糊( cv2.medianBlur )。这是使用 (7,7) 的结果高斯模糊:

enter image description here

import cv2

image = cv2.imread('1.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blur = cv2.GaussianBlur(gray, (7,7), 0)
thresh = cv2.adaptiveThreshold(blur,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV,51,9)
result = 255 - thresh

cv2.imshow('thresh', thresh)
cv2.imshow('result', result)
cv2.waitKey()

关于python - 如何从图像中去除显示器闪烁的噪音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59879485/

相关文章:

python - 为每个 plt.step 行指定不同的颜色

python - 比较两个 Python 3 日期时间对象返回 "can' t 比较原始偏移和偏移感知日期时间 : TypeError"

python - 如何在Gurobi python界面中创建二进制变量?

python - tkinter - Canvas 中的滚动条不起作用

html - CSS3背景随机切割我的图像

c# - Image.FromFile,未找到 [但它在那里]

python - 找出 Pandas 的条纹长度

python - 在 Ubuntu 服务器中测试 Django 站点时,Gunicorn 返回 "TypeError: expected str, bytes or os.PathLike object, not list"

java - 在不损失质量的情况下读取/写入 JPG 图像的最快方法?

python - 在 Pandas 中 reshape 数据框