2010-03-01 4 views
3

Не знаю, возможно ли это, но здесь все равно.MATLAB объединение края область обратно в изображение

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

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

ответ

3

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

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

+0

Хорошее спасибо, я думаю, я мог бы использовать это, но только для двойной проверки может ли кто-нибудь подумать о том, каким образом краевая область изображения может быть буквально заменена другим изображением края? Еще раз спасибо mr Eddins – gagius

0

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

%# 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) 
+0

Несколько комментариев о коде в этом ответе: вывод bwperim логичен, поэтому выражение (edge> 0) является таким же, как и edge. Во-вторых, edge (edge> 0) - все 1s. Таким образом, назначение: img (edge> 0) = edge (edge> 0); эквивалентен простому назначению: img (edge) = 1; –

+0

На самом деле все 0.5. Кроме того, я хотел показать, как копировать крайние пиксели, если они не все равны. – Jonas

+0

Привет, мне потребовалось некоторое время, когда я спал .. ОК kewl il попробуйте и вернитесь к вам, однако есть ли причина, почему вы использовали bwperim, потому что это не дает мне результаты, которые я хочу? Спасибо снова, ребята – gagius

Смежные вопросы