我怎样才能消除这张照片上的噪音?

2024-04-16 18:07:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经应用了一些过滤器到这个图像,但它总是非常嘈杂我如何才能消除噪音,只留下字符? 这是我的密码:

import cv2    
import numpy as np

img = cv2.imread('12.jpg',0)    
img1=cv2.pyrDown(img)    
im=cv2.pyrDown(img1)    
final = cv2.medianBlur(im,5)    
cv2.imshow('image',final)    
cv2.waitKey(0)    
th2 = cv2.adaptiveThreshold(final,255,cv2.ADAPTIVE_THRESH_MEAN_C,\
            cv2.THRESH_BINARY_INV,11,2)    
cv2.imshow('image1',th2)    
cv2.waitKey(0)    
laplacian = cv2.Laplacian(im,cv2.CV_64F)    
cv2.imshow('image2',laplacian)    
cv2.waitKey(0)

原始图像:

original image

image 1

image2


Tags: 图像import过滤器imgcv2finalimg1imshow
1条回答
网友
1楼 · 发布于 2024-04-16 18:07:05

我有些事要让你开始。您可以合并difference of Gaussians (DoG)的概念。你知道吗

在这里,您将对具有两种不同内核大小的图像执行高斯模糊,并减去这两种内核大小的结果。该方法突出边缘,用于边缘检测。你知道吗

注意:请记住这只是为了让您开始。您必须调整过滤器的参数以获得更好的结果。你知道吗

代码:

import cv2    
import numpy as np

img = cv2.imread(r'C:\Users\Jackson\Desktop\text.jpg',0)    
img1 = cv2.pyrDown(img)
img1 = cv2.medianBlur(img1, 11)

b1 = 69
b2 = 39
g1 = cv2.GaussianBlur(img1, (b1, b1), 0) 
g2 = cv2.GaussianBlur(img1, (b2, b2), 0)  
cv2.imshow('DoG', g1 - g2)

cv2.waitKey(0)
cv2.destroyAllWindows()

结果:

enter image description here

相关问题 更多 >