MATLAB自定义求图像边缘

自定义求图像边缘时,可以使用循环实现。

其实还有一种方式,就是直接使用数组操作。

这种方法处理起来,如下:

clc;
clear all;
o=imread('lena512.bmp');
[m,n]=size(o);
x=2:m-1;
y=2:n-1;
key=20;
key=20;
index=find(abs(o(x,y)-o(x-1,y))<key&abs(o(x,y)-o(x,y-1))<key&abs(o(x,y)-o(x,y+1))<key&abs(o(x,y)-o(x+1,y))<key);
onesw=zeros(m-2,n-2);
onesw(index)=255;
subplot(1,2,1),imshow(o,[]);
subplot(1,2,2),imshow(onesw,[]);

注意,需要生成一个不包含图像边界的子图像来保存边缘信息。


猜你喜欢

转载自blog.csdn.net/superdont/article/details/60551353