bycj.net
当前位置:首页 >> 如何在mAtlAB程序的图像中添加高斯白噪声? >>

如何在mAtlAB程序的图像中添加高斯白噪声?

一般加入白噪声,只得是加入高斯白噪声利用randn产生高斯分布噪声加到原来的图像上就可以了假设你原来的图像的数据存在矩阵变量a中那么noise=A*randn(size(a));其中A是需要加噪声的方差值,A的取值确定噪声的幅度大小一般比图像信号幅度小得多b=a+noise;就是加了噪声之后的图像如何在matlab的图像中加入高斯白噪声?

使用imnoise函数X=imread('D:\matlab7.1\toolbox\images\imdemos\greens.jpg');Y=imnoise(X,'gaussian');%%默认均值为0,方差为0.01%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%A double-class image must have values between zero and one,这个问题是你的图像是double型,但是你的图像的数值不是0-1之间,给他除以255即可!

函数imnoise在为图像添加噪声之前,要将它转化为范围[0,1]内的double类图像,这里把20改为20/(255)^2就可以了

J = imnoise(I,'gaussian',0,20); 仔细看一下,其中参数应该是0.20,不是0,20 改一下就可以了 J = imnoise(I,'gaussian',0.20);

你好!I=imread('test.jpg');J=awgn(I,0.1);如果对你有帮助,望采纳.

一般加入白噪声,只得是加入高斯白噪声 利用randn产生高斯分布噪声加到原来的图像上就可以了 假设你原来的图像的数据存在矩阵变量a中 那么 noise=A*randn(size(a)); 其中A是需要加噪声的方差值,A的取值确定噪声的幅度大小 一般比图像信号幅度小得多 b=a+noise; 就是加了噪声之后的图像

clc clear all close all A = imread('cameraman.tif'); % 读入图像 imshow(A);title('原图'); V=0.008; Noisy=imnoise(A,'gaussian',0,V); figure1; imshow(Noisy);%添加均值为0、方差0.008的高斯噪声 y_mask = [-1 -1 -1;0 0 0;1 1 1]; % 建立Y方

使用imnoise函数 X=imread('D:\matlab7.1\toolbox\images\imdemos\greens.jpg'); Y=imnoise(X,'gaussian');%%默认均值为0,方差为0.01%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% A double-class image must have values between zero and one,这个问题是你的图像是double型,但是你的图像的数值不是0-1之间,给他除以255即可!

g=imnoise(f,'localvar',v)将均值为0,局部方差为v的高斯噪声添加到图像f上,其中v是与f大小相同的一个数组,它包含了每一个点的理想方差值.

matlab中有现成的函数,imnoise函数应该就可以实现了,你自己找找Imnoise函数的用法看看.

网站首页 | 网站地图
All rights reserved Powered by www.bycj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com