matlab边界特征提取

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

I=imread('d:\lena.bmp ');% 提取图像

BW1=edge(I,'sobel'); %用SOBEL算子进行边缘检测

BW2=edge(I,'roberts');%用Roberts算子进行边缘检测

BW3=edge(I,'prewitt'); %用prewitt算子进行边缘检测

BW4=edge(I,'log'); %用log算子进行边缘检测

BW5=edge(I,'canny'); %用canny算子进行边缘检测

h=fspecial('gaussian’,5);

BW6=edge(I,’canny’);

subplot(2,3,1), imshow(BW1);

title(‘sobel edge check’);

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

title(‘sobel edge check’);

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

title(‘prewitt edge check’);

subplot(2,3,4), imshow(BW4);

title(‘log edge check’);

subplot(2,3,5), imshow(BW5);

title(‘canny edge check’);

subplot(2,3,6), imshow(BW6);

title(‘gasussian&canny edge check’);%此为用高斯滤波后Canny算子边缘检测结果

(注意:代码中有一些标点是中文模式,若输入代码后标点显示红色,则为中文标点,改回来就行了)

i=imread('d:\d1.jpg');

i2=im2double(i);

ihd=rgb2gray(i2);

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

ixc=wdencmp('gbl',ihd,'sym4',2,thr,sorh,keepapp);

figure,imshow(ixc),title('消噪后图像');

k2=medfilt2(ixc,[7 7]);

figure,imshow(k2),title('中值滤波');

isuo=imresize(k2,0.25,'bicubic');

%sobert、robert和prewitt算子检测图像边缘

esobel=edge(isuo,'sobel');

erob=edge(isuo,'roberts');

eprew=edge(isuo,'prewitt');

subplot(2,2,1);

imshow(isuo);title('前期处理图像'); subplot(2,2,2);

imshow(esobel);title('sobel算子提取'); subplot(2,2,3);

imshow(erob);title('roberts算子提取'); subplot(2,2,4);

imshow(eprew);title('prewitt算子提取');

相关文档
最新文档