add_noise_distributionT_add_noise_distributionAddNoiseDistributionAddNoiseDistributionadd_noise_distribution添加噪声分布(算子)
名称
add_noise_distributionT_add_noise_distributionAddNoiseDistributionAddNoiseDistributionadd_noise_distribution — 为图像添加噪声。
签名
描述
add_noise_distributionadd_noise_distributionAddNoiseDistributionAddNoiseDistributionAddNoiseDistributionadd_noise_distribution 向图像 ImageImageImageImageimageimage 添加根据 DistributionDistributionDistributionDistributiondistributiondistribution 分布的噪声。生成的灰度值被裁剪至对应像素类型的范围。
DistributionDistributionDistributionDistributiondistributiondistribution 存储在一个长度为 513 的元组中。该元组的各个值定义了特定幅值噪声的频率,其幅度由元组内的位置决定。中心值(即元组中第256位的位置值)定义了保持不变的像素频率。第 255 位值定义灰度值降低 1 的像素频率。第 254 位值定义灰度值降低 2 的对应频率,依此类推。同理,第 257 位值定义灰度值增加 1 的像素频率。
DistributionDistributionDistributionDistributiondistributiondistribution 表示椒盐噪声,即小 于256 的位置最多有一个值不等于零,且大于 256 的位置最多有一个值不等于零。对于椒盐噪声,添加的噪声像素分别被设置为 ImageNoiseImageNoiseImageNoiseImageNoiseimageNoiseimage_noise 可表示的最小值(椒)和最大值(盐)。其中椒的数量由元组中第 0 位值表示,盐的数量由第 512 位值表示。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在元组级别上自动并行化。
- 在通道级别上自动并行化。
参数
ImageImageImageImageimageimage (输入对象) (multichannel-)image(-array) → objectHImageHObjectHImageHobject (byte / int2)
输入图像。
ImageNoiseImageNoiseImageNoiseImageNoiseimageNoiseimage_noise (输出对象) (multichannel-)image(-array) → objectHImageHObjectHImageHobject * (byte / int2)
噪声图像。
元素数量:
ImageNoise == Image
DistributionDistributionDistributionDistributiondistributiondistribution (输入控制) distribution.values-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
噪声分布。
元素数量:
513
示例(HDevelop)
read_image(Image,'mreut')
dev_display (Image)
sp_distribution(30,30,Dist)
add_noise_distribution(Image,ImageNoise,Dist)
dev_display (ImageNoise)
示例(C)
read_image(&Image,"fabrik");
disp_image(Image,WindowHandle);
set_d(PerSalt,30.0,0);
set_d(PerPepper,30.0,0);
T_sp_distribution(PerSalt,PerPepper,&Dist);
T_add_noise_distribution(Image,&ImageNoise,Dist);
disp_image(ImageNoise,WindowHandle);
示例(HDevelop)
read_image(Image,'mreut')
dev_display (Image)
sp_distribution(30,30,Dist)
add_noise_distribution(Image,ImageNoise,Dist)
dev_display (ImageNoise)
示例(HDevelop)
read_image(Image,'mreut')
dev_display (Image)
sp_distribution(30,30,Dist)
add_noise_distribution(Image,ImageNoise,Dist)
dev_display (ImageNoise)
示例(HDevelop)
read_image(Image,'mreut')
dev_display (Image)
sp_distribution(30,30,Dist)
add_noise_distribution(Image,ImageNoise,Dist)
dev_display (ImageNoise)
结果
add_noise_distributionadd_noise_distributionAddNoiseDistributionAddNoiseDistributionAddNoiseDistributionadd_noise_distribution 在所有参数正确时返回 2 ( H_MSG_TRUE )。如果输入为空时,可设置行为通过算子 set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)。如有必要,则抛出异常。
可能的前趋
gauss_distributiongauss_distributionGaussDistributionGaussDistributionGaussDistributiongauss_distribution,
sp_distributionsp_distributionSpDistributionSpDistributionSpDistributionsp_distribution,
noise_distribution_meannoise_distribution_meanNoiseDistributionMeanNoiseDistributionMeanNoiseDistributionMeannoise_distribution_mean
替代
add_noise_whiteadd_noise_whiteAddNoiseWhiteAddNoiseWhiteAddNoiseWhiteadd_noise_white
另见
sp_distributionsp_distributionSpDistributionSpDistributionSpDistributionsp_distribution,
gauss_distributiongauss_distributionGaussDistributionGaussDistributionGaussDistributiongauss_distribution,
noise_distribution_meannoise_distribution_meanNoiseDistributionMeanNoiseDistributionMeanNoiseDistributionMeannoise_distribution_mean,
add_noise_whiteadd_noise_whiteAddNoiseWhiteAddNoiseWhiteAddNoiseWhiteadd_noise_white
模块
基础