单通道加噪声实现过程
代码流程
- 使用opencv函数
split
,分割通道; - 使用skimage的
random_noise
函数对某通道加噪声; - 使用opencv函数
merge
,合并通道
代码示范
def addNoiseByChannel(img_path):
origin_img = cv2.imread(img_path) # BGR
# 分割通道
(b, g, r) = cv2.split(origin_img)
# 或者只需要取某个单独通道
# b = cv2.split(origin_img)[0]
# g = cv2.split(origin_img)[1]
# g = cv2.split(origin_img)[2]
# add gaussian noise in channel blue only
b_noise_img = skimage.util.random_noise(b, mode='gaussian', seed=None, clip=True)
cv2.namedWindow('noise_img'