
1、打开Matlab,点击“新建脚本”,如下图所示。
2、在代码编辑区输入代码,先利用Imread函数读取图像,然后使用Imshow函数将图像展示出来,以便与添加噪声后的图像做对比。
3、Matlab中利用imnoise函数可以添加各种噪声,而使用“gaussian”参数就可以添加高斯噪声。
4、选择保存位置,并为m文件重命名,如下图所示所示,设置完成,点击“保存”。
5、这样,就在Matlab中为图像添加了高斯噪声,并且把一组对比图显示在同一个窗口中,如下图所示。
clcclear 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')
就是这样了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)