【matlab】:图像获得其边缘

matlab中如何获得图像的边缘呢?
用下面的一段代码就可以了,方法大概是分为如下几个步骤
1,读入图片
2,转为灰度图
3,通过自动获得阈值,转为二值图
4,将二值图通过roberts算子,prewitt算子,sobel算子获得其边缘**

代码:

 I = imread('d:\\图片.jpg');     //这个地方自己写代码的时候还需要修改,把路径换成自己图片的存放路径
imshow(I);
figure;
B = rgb2gray(I);
imshow(B);
figure;
thresh  = graythresh(I);
I2 = im2bw(I,thresh);
imshow(I2);
figure;
>> BW1 = edge(B,'roberts',0.08);
>> imshow(BW1);
figure;
>> BW2 = edge(B,'prewitt',0.05);
>> imshow(BW2);
>> figure;
>> BW3 = edge(B,'sobel',0.04);
>> imshow(BW3);

你可能感兴趣的:(图片,matlab)