我正在着名的冈萨雷斯"数字图像处理"研究图像处理,并谈论图像恢复,很多例子都是用计算机生成的噪声(高斯,盐和胡椒等)完成的.在MATLAB中有一些内置函数可以做到这一点.那么OpenCV呢?
我遵循了有关向图像添加噪声的问题的得票最高的答案。然而它对我不起作用。我只是想在使用 Python 时观察图像上的不同噪声效果 如何使用 OpenCV 在 Python 中向图像添加噪声(高斯/盐和胡椒等)
据我所知,图像是 uint8 类型的?我不确定这种类型是否可以采用小数。
盐和胡椒部分也不起作用
from numpy import shape, asarray
import numpy as np
import cv2
from PIL import Image
def noisy(noise_typ,image):
if noise_typ == "gauss":
row,col,ch= image.shape
mean = 0
var = 0.1
sigma = var**0.5
gauss = np.random.normal(mean,sigma,(row,col,ch))
gauss = gauss.reshape(row,col,ch)
noisy = image + gauss
return noisy
elif noise_typ == "s&p":
row,col,ch = image.shape
s_vs_p = 0.5
amount = 0.004
out = np.copy(image)
# Salt mode
num_salt = np.ceil(amount * …
Run Code Online (Sandbox Code Playgroud) python numpy image-processing gaussianblur data-augmentation