高光谱多通道图片加噪声

制作深度学习高光谱图像数据集时,进行数据增广,如何为高光谱多通道图片添加模拟噪声?
我的图片为54通道的tif格式图片

为了添加噪声到高光谱多通道图片,可以使用 Python 的 random 模块来生成随机数,并使用 NumPy 库来对图片进行矩阵运算。下面是一个例子:

import random
import numpy as np

# 读入图片
img = cv2.imread('image.jpg')

# 判断图片是否为多通道图片
if len(img.shape) > 2:
    # 获取图片的高度和宽度
    h, w, c = img.shape
    # 使用 NumPy 生成一个具有指定大小和类型的随机数组
    noise = np.random.rand(h, w, c)
    # 将噪声添加到图片中
    img = img + noise

# 保存修改后的图片
cv2.imwrite('noisy_image.jpg', img)

接上面回复,如果想向 TIF 格式的多通道图像添加噪声,可以使用 Python 的第三方库来实现。其中一个选择是使用 NumPy 库来处理数组数据,并使用 skimage 库中的 random_noise 函数来添加不同类型的噪声。

首先,需要安装这两个库:

pip install numpy
pip install scikit-image

然后,可以使用 NumPy 库读取 TIF 格式图像的数组数据,并使用 skimage 库中的 random_noise 函数来添加噪声,如下所示:

import numpy as np
from skimage.util import random_noise

# 读取 TIF 格式图像的数组数据
img = np.imread('image.tif')

# 添加椒盐噪声
noisy_img = random_noise(img, mode='salt')

# 添加高斯噪声
noisy_img = random_noise(img, mode='gaussian')

# 添加椒盐噪声
noisy_img = random_noise(img, mode='pepper')

# 添加高斯噪声
noisy_img = random_noise(img, mode='gaussian', var=0.01)

可以根据需要使用不同的噪声类型和参数来添加噪声。最后,可以使用 NumPy 库将噪声后的图像数据写入 TIF 格式文件中。

# 将噪声后的图像数据写入 TIF 格式文件
np.imwrite('noisy_image.tif', noisy_img)