matlab图像处理

matlab图像处理,第1张

I=imread('D:\我的文档\MATLAB\cameramanbmp');

J0=imnoise(I,'gaussian');

J1=imnoise(I,'salt & pepper');

J0J3=imfilter(J0,fspecial('average'));

J0J5=imfilter(J0,fspecial('average',[5 5]));

J0Z3=medfilt2(J0);

J0Z5=medfilt2(J0,[5 5]);

J1J3=imfilter(J1,fspecial('average'));

J1J5=imfilter(J1,fspecial('average',[5 5]));

J1Z3=medfilt2(J1);

J1Z5=medfilt2(J1,[5 5]);

subplot(2,2,1),imshow(I);

title('原始图像');

subplot(2,2,2),imshow(J0);

title('加入零均值高斯噪声');

subplot(2,2,3),imshow(J1);

title('加入椒盐噪声');

figure,

subplot(2,2,1),imshow(J0J3);

title('对高斯噪声,采用3x3均值滤波');

subplot(2,2,2),imshow(J0J5);

title('对高斯噪声,采用5x5均值滤波');

subplot(2,2,3),imshow(J0Z3);

title('对高斯噪声,采用3x3中值滤波');

subplot(2,2,4),imshow(J0Z5);

title('对高斯噪声,采用5x5中值滤波');

figure,

subplot(2,2,1),imshow(J1J3);

title('对椒盐噪声,采用3x3均值滤波');

subplot(2,2,2),imshow(J1J5);

title('对椒盐噪声,采用5x5均值滤波');

subplot(2,2,3),imshow(J1Z3);

title('对椒盐噪声,采用3x3中值滤波');

subplot(2,2,4),imshow(J1Z5);

title('对椒盐噪声,采用5x5中值滤波');

421 Roberts算法原理

Roberts算子是一种最简单的算子,是一种利用局部差分算子寻找边缘的算子,他采用对角线方向相邻两象素之差近似梯度幅值检测边缘。检测垂直边缘的效果好于斜向边缘,定位精度高,对噪声敏感,无法抑制噪声的影响。

422 算法流程

Roberts算子在2×2领域上计算对角导数

(4-1)

成为Roberts交叉算子。在实际应用中为了简化计算,用梯度函数的Roberts绝对值来近似

(4-2)另外还可以用Roberts 最大算子来计算

(4-3)

上式能够提供较好的不变性边缘取向。对于同等长度但取向不同的边缘,应用Roberts最大值算子比应用Roberts交叉算子所得到的合成幅度变化小。Roberts边缘检测算子的卷积算子为

Roberts 边缘算子方向模版

由上面两个卷积算子对图像运算后,代入(3-7)式,可求得图像的梯度幅度值,然后选取门限TH,做如下判断>TH,为阶跃状边缘点为一个二值图像,也就是图像的边缘图像。441 Prewitt 算法原理

Prewitt边缘算子是一种边缘样板算子。Prewitt 从加大边缘检测算子的模板大小出发,由2×2 扩大到3×3 来计算差分算子,采用Prewitt 算子不仅能检测边缘点,而且能抑制噪声的影响。

Prewitt 采用计算偏微分估计的方法,由式(4-9)所示的两个卷积算子形成了Prewitt边缘算子,样板算子由理想的边缘子图像构成,依次用边缘样板去检测图像,与被检测区域最为相似的样板给出最大值,用这个最大值作为算子的输出

(4-9)

另一种方法是,可以将Prewitt算子扩展到八个方向,每个模版对特定的边缘方向做出最大响应,所有8个方向中最大值作为边缘幅度图像的输出,这些算子样板由离线的边缘子图像构成。依次用边缘样板去检测图像,与被检测区域最为相似的的样板给出最大值。定义Prewitt 边缘检测的算子模版如下:

(1)1方向 (2)2方向 (3)3方向 (4)4方

对于已经写入数字图像处理及机器视觉教科书多年的Sobel算子,谁也没曾追问和关心过它的发明背景和历史。最近,给学生上“光电图像处理”课,想介绍一下该算子的来历,查了很多文献,就是找不到原始文献。Google学术里搜索,信息很多,却不一致。有标注为期刊论文的,也有标注出版物析出的,出版时间也不一致(冈萨雷斯《Digital Image Processing》教材标注的时间为1970年)。

这个看似简单,但领域内科研、开发人员沿用了几十年的边缘检测算子究竟如何产生的?偶然发现了一个帖子,该算子的提出者Irwin Sobel在算子产生多年后于该帖中详细谈到它的由来和定义。

原来,这个著名的Sobel边缘算子,当年作者并没有公开发表过论文,仅仅是在一次博士生课题讨论会(1968)上提出("A 3x3 Isotropic Gradient Operator for Image Processing"),后在1973年出版的一本专著("Pattern Classification and Scene Analysis")的脚注里作为注释出现和公开的。

以上就是关于matlab图像处理全部的内容,包括:matlab图像处理、Matlab关于图像边缘提取,用Sobel算子、Roberts算子、Prewitt算子,加QQ详谈 急用!!、Sobel算子的由来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10103113.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存