用Sobel算子、Roberts算子、Prewitt算子对图像进行边缘检测的程序,在matlab环境下,程序要完整,最好有图

114982777@qq.com,谢谢,要尽快... 114982777@qq.com,谢谢,要尽快 展开
 我来答
xpeng_001
2011-05-11
知道答主
回答量:12
采纳率:100%
帮助的人:10.1万
展开全部

close all

clear all

I=imread('tig.jpg'); %读取图像

I1=im2double(I); %将彩图序列变成双精度

I2=rgb2gray(I1); %将彩色图变成灰色图

[thr, sorh, keepapp]=ddencmp('den','wv',I2);

I3=wdencmp('gbl',I2,'sym4',2,thr,sorh,keepapp); %小波除噪

I4=medfilt2(I3,[9 9]); %中值滤波

I5=imresize(I4,0.2,'bicubic'); %图像大小

BW1=edge(I5,'sobel'); %sobel图像边缘提取

BW2=edge(I5,'roberts'); %roberts图像边缘提取

BW3=edge(I5,'prewitt'); %prewitt图像边缘提取

BW4=edge(I5,'log'); %log图像边缘提取

BW5=edge(I5,'canny'); %canny图像边缘提取

h=fspecial('gaussian',5); %高斯滤波

BW6=edge(I5,'zerocross',[ ],h); %zerocross图像边缘提取

figure;

subplot(1,3,1); %图划分为一行三幅图,第一幅图

imshow(I2); %绘图

figure;

subplot(1,3,1);

imshow(BW1);

title('Sobel算子');

subplot(1,3,2);

imshow(BW2);

title('Roberts算子');

subplot(1,3,3);

imshow(BW3);

title('Prewitt算子');

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式