如何在使用MATLAB进行边缘提取后删除图像的边缘?

时间:2016-03-12 10:03:15

标签: matlab image-processing edge-detection

我有一个灰度图像,我想删除在MATLAB中使用边缘提取方法提取的边。

有可能吗?

以下是执行边缘提取的代码:

%load the image
A=imread('MikuBW.jpg');   

%predefined edge extraction method in MATLAB
g=edge(A,'canny');

%plot results
subplot(2,1,1);
imshow(A),title('ORIGINAL');

subplot(2,1,2);
imshow(g),title('CANNY');

!(http://i.imgur.com/uS2Xxwf.jpg)[原始图像和边缘提取后的结果] [1]

如何删除在" CANNY"中提取的边缘?从原始图像?

谢谢您的帮助! =)

1 个答案:

答案 0 :(得分:0)

如果你只是想要" Canny"要删除的部分,即用零替换,你可以简单地写:

A(g) = 0;

然而,更多"自然"方法将模糊图像,因此它首先会有更少的边缘:

H = fspecial('disk',5);
A = imfilter(A,H,'replicate');