人工智能编程语言大作业~
第二部分有点点问题,可以直接用randn生成
- matlab实现
高斯噪声产生器(或者randn)
function [gauss]=GaussGenerator(miu,sigma,row,col)%高斯噪声生成器
rng('shuffle');%使得每次运行不同
x=rand(row,col)*3*1;%生成与图片同维(0,3σ)均匀随机数矩阵
%利用曲边梯形求解积分
for i=1:row
for j=1:col
X=0:0.001:x(i,j);
X=0.001*exp(-X.^2/(2*1)^2)/(2*pi)^0.5;
flag=randi([0 1]);%x正负随机判断
if flag==0
x(i,j)=0.5-sum(X);
else
x(i,j)=0.5+sum(X);
end
end
end
gauss=(x-0.5)*sigma+miu;%返回高斯噪声
end
main
clear;clc
img=imread('peppers.png');%读取图片
img_new=img;
row