add_noise_distributionT_add_noise_distributionAddNoiseDistributionAddNoiseDistributionadd_noise_distribution添加噪声分布(算子)

名称

add_noise_distributionT_add_noise_distributionAddNoiseDistributionAddNoiseDistributionadd_noise_distribution — 为图像添加噪声。

签名

add_noise_distribution(Image : ImageNoise : Distribution : )

Herror T_add_noise_distribution(const Hobject Image, Hobject* ImageNoise, const Htuple Distribution)

void AddNoiseDistribution(const HObject& Image, HObject* ImageNoise, const HTuple& Distribution)

HImage HImage::AddNoiseDistribution(const HTuple& Distribution) const

static void HOperatorSet.AddNoiseDistribution(HObject image, out HObject imageNoise, HTuple distribution)

HImage HImage.AddNoiseDistribution(HTuple distribution)

def add_noise_distribution(image: HObject, distribution: Sequence[float]) -> HObject

描述

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

模块

基础