MATLAB объединяет краевую область обратно в изображение - PullRequest
3 голосов
/ 01 марта 2010

Я не знаю, возможно ли это, но здесь все равно.

Я хотел бы извлечь края из изображения (я думал об использовании imfilter(i,fspecial('sobel')) для этого, затем, как только края были извлечены, я хотел бы манипулировать изображением, представляющим края, и затем, когда манипуляция была выполнена рекомбинируйте измененное изображение края с исходным изображением.

Возможно ли это или что-то в этом роде возможно? И если так, может кто-нибудь предложить способ, как выполнить эту рекомбинацию?

Ответы [ 2 ]

3 голосов
/ 01 марта 2010

Попробуйте функцию imoverlay на центральном файловом обмене MATLAB.Вот пример выходного изображения:

alt text
(источник: mathworks.com )

0 голосов
/ 02 марта 2010

В ответ на ваш комментарий к ответу Стива Эддина: Да, вы можете.

%# 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...