Python 代码实现人脸图片加噪声 (高斯噪声 & 椒盐噪声)
要给人脸图片增加一些噪声,你可以使用以下代码:
import cv2
import numpy as np
def add_noise(image, noise_type='gaussian', mean=0, stddev=10):
if noise_type == 'gaussian':
# 添加高斯噪声
noise = np.random.normal(mean, stddev, image.shape).astype(np.uint8)
noisy_image = cv2.add(image, noise)
elif noise_type == 'salt_and_pepper':
# 添加椒盐噪声
noise = np.random.choice([-1, 0, 255], size=image.shape, p=[0.05, 0.9, 0.05])
noisy_image = cv2.add(image, noise)
else:
raise ValueError('Invalid noise type. Choose 'gaussian' or 'salt_and_pepper'.')
return noisy_image
# 替换为你的人脸图片路径
image_path = 'your_face_image.jpg'
# 读取人脸图片
image = cv2.imread(image_path)
# 添加高斯噪声
noisy_image = add_noise(image, noise_type='gaussian', mean=0, stddev=10)
# 添加椒盐噪声
# noisy_image = add_noise(image, noise_type='salt_and_pepper')
# 显示原始图片和加噪后的图片
cv2.imshow('Original Image', image)
cv2.imshow('Noisy Image', noisy_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
请将代码中的 'your_face_image.jpg' 替换为你要添加噪声的人脸图片的路径。这段代码将会读取人脸图片并添加高斯噪声或椒盐噪声,视你使用的noise_type参数而定。
你可以根据需要调整mean和stddev参数来控制高斯噪声的均值和标准差,或者在添加椒盐噪声时调整噪声比例。通过注释或取消注释add_noise()函数中的相应行,你可以选择需要的噪声类型。
请注意,添加噪声是一种用于测试和验证算法的技术,应谨慎应用于真实的人脸图像,确保不会引起违反隐私或其他法律规定的问题。
原文地址: https://www.cveoy.top/t/topic/0wn 著作权归作者所有。请勿转载和采集!