
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
-10
0
01
1
1]
%
建立Y方向的模板
x_mask
=
y_mask'
%
建立X方向的模板
I
=
im2double(A)
%
将图像数据转化为双精度
dx
=
imfilter(I,
x_mask)
%
计算X方向的梯度分量
dy
=
imfilter(I,
y_mask)
%
计算Y方向的梯度分量
grad
=
sqrt(dx.*dx
+
dy.*dy)
%
计算梯度
grad
=
mat2gray(grad)
%
将梯度矩阵转换为灰度图像
level
=
graythresh(grad)
%
计算灰度阈值
BW
=
im2bw(grad,level)
%
用阈值分割梯度图像
figure,
imshow(BW)
%
显示分割后的图像即边缘图像
title('Prewitt')
就是这样了。
可以使用如下的函数实现r
=
normrnd(mu,sigma)
(生成均值为
mu,标准差为
sigma
的正态随机数)
r
=
normrnd(mu,sigma,m)
(生成
1×
m
个正态随机数)
r
=
normrnd(mu,sigma,m,n)
(生成
m
行
n
列的
m
×
n
个正态随机数)
假设输入信号为x,则给x加上一个均值为0,方差为1的高斯白噪声信号的方法为
y=x+normrnd(0,1)
%
设置采样区间
k=(0:300)'/100
%
计算采样值
x=sin(2*pi*k)
%
施加高斯白噪声
y=awgn(x,0)
figure(1)
%
设置绘图位置,左下角距屏幕左200像素,下200像素,宽800像素,高300像素
set(gcf,'position',[200,200,800,300])
%
绘图网格1*2,左图绘制原始信号,右图绘制噪声信号
subplot(1,2,1),plot(k,x)
subplot(1,2,2),plot(k,y)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)