首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将噪声添加到图像神经病

将噪声添加到图像神经病
EN

Stack Overflow用户
提问于 2020-03-02 10:53:10
回答 1查看 142关注 0票数 1

我正试着在“神经病”的图像中添加噪音。我正在使用imread,但似乎无法读取所需格式的图像,以将噪声添加到整个图像中的各个像素。我希望有人能知道我是如何做到这一点的。

具体地说,我的任务是在参与者自己的感知阈值上向他们呈现刺激。我正在使用一种自适应的阶梯程序(任务处理器)在试验之间滴定添加到图像中的噪声量以达到这个阈值。也就是说,参与者正确地识别了图像,下一张图像具有更多的噪声;他们错误地识别了图像,下一次试验具有较少的噪声。我们通过重复试验来获得参与者正确回答特定百分比试验所需的噪声量。

我试图通过改变单个像素来添加高斯噪声,从而在每次试验中添加与任务处理器传递的噪声百分比相等的噪声量。我不希望更改原始图像。我设想这是通过将图像读取为像素矩阵,复制它,向该矩阵中的像素添加噪声,并为该试验提供新的刺激来实现的。我用来读取图像的imread函数似乎无法做到这一点--有人有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2020-03-11 09:02:16

我已经演示了如何使用cv2读取图像并对其应用不同级别的噪声。噪声添加不会修改原始图像。正如@Michael MacAskill在他的评论中所写的那样,你可以通过一个向量运算将噪声应用于图像。在我的回答中,我创建了一个均值为1且形状与图像相同的高斯,并将其与图像相乘。可以通过增加高斯噪声分布的标准差来增加噪声水平。

代码语言:javascript
复制
import cv2
import matplotlib.pyplot as plt
import numpy as np


def apply_noise(image, scale):
    """Return image with noise.

    Parameters
    ----------
    image : ndarray, image to which noise is applied.
    scale : positive float, standard deviation of Gaussian 
        noise distribution.
    """
    image = np.asarray(image)
    # Create a Gaussian noise array.
    noise = np.random.normal(loc=1.0, scale=scale, size=image.shape)
    # Apply the noise array.
    noisy = image * noise
    # Tranform to integer type.
    noisy = noisy.astype(np.int32)
    # Clip the values to RGB bounds.
    noisy = noisy.clip(0, 255)
    return noisy

我使用以下命令下载了一个示例图像

代码语言:javascript
复制
wget -qO "astronaut.jpg" https://live.staticflickr.com/8674/16504233985_9f1060624e_q_d.jpg

下面是示例结果。原图:

代码语言:javascript
复制
img = cv2.imread("astronaut.jpg")
# Transform from BGR to RGB
img = img[..., ::-1]
plt.imshow(img)

应用了一些噪波的图像:

代码语言:javascript
复制
img_a = apply_noise(image=img, scale=0.1)
plt.imshow(img_a)
plt.title("Gaussian std. dev. = 0.1")

应用了更多噪波的图像:

代码语言:javascript
复制
img_b = apply_noise(image=img, scale=0.5)
plt.imshow(img_b)
plt.title("Gaussian std. dev. = 0.5")

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60481937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档