MATLAB将边缘区域组合回图像

时间:2010-03-01 18:32:20

标签: matlab

我不知道这是否可行,但无论如何都要进行。

我想从图像中提取边缘(我正在考虑使用imfilter(i,fspecial('sobel'))为此,然后一旦边缘被提取,我想操纵表示边缘的图像然后一旦操作具有已经执行了修改后的边缘图像与原始图像重新组合。

这是可能的还是沿着这些方向的东西可能吗?如果是这样,有人可以建议如何进行这种重组吗?

2 个答案:

答案 0 :(得分:3)

尝试使用MATLAB Central File Exchange上的imoverlay function。这是一个示例输出图像:

alt text http://www.mathworks.com/matlabcentral/fx_files/10502/1/imoverlay_screenshot.png

答案 1 :(得分:0)

回应你对Steve Eddin回答的评论:是的,你可以。

%# make an image
img = zeros(100);
img(10:40,45:75)=1;
figure,imshow(img)

%# find the edge
edge = bwperim(img);

%# do something to the edge
edge = imdilate(edge,ones(3))*0.5;
figure,imshow(edge)

%# replace all the pixels in the raw image that correspond to a non-zero pixel in the edge 
%# image with the values they have in the edge image
img(edge>0) = edge(edge>0);
figure,imshow(img)