You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改高斯噪声函数,为图像添加占最大像素强度20%的噪声

实现思路

你需要把高斯噪声的标准差sigma设置为图像最大像素强度的20%即可,有两种修改方案可选:


方案1:修改函数逻辑,自动从图像读取参数(更省心,无需手动计算传参)

直接把图像数组作为入参传入函数,自动计算最大像素值和对应尺寸:

import numpy as np

def white_noise_2(img, mu=0, noise_ratio=0.2):
    max_pixel_val = img.max()
    sigma = max_pixel_val * noise_ratio
    # 直接从图像数组读取尺寸,无需手动传n参数
    noise = np.random.normal(mu, sigma, img.shape)
    return noise

调用方式:

# 生成噪声
noise = white_noise_2(img)
# 叠加到原图后记得截断像素范围,避免超出图像合法值域
noisy_img = np.clip(img + noise, 0, img.max()).astype(img.dtype)

方案2:不修改原有函数,仅调整调用逻辑

如果不想改动你已经写好的函数定义,只需要在调用前提前计算对应sigma即可:

# 计算等效于最大像素强度20%的sigma值
custom_sigma = img.max() * 0.2
# 传入原有函数调用
noise = white_noise_2(custom_sigma, img.shape)

补充说明:如果你的图像是归一化到[0,1]区间的浮点格式,上述逻辑同样生效,不需要额外调整。

内容的提问来源于stack exchange,提问作者Razor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 06:30:05