2011-10-27 45 views
1

我試圖生成在MATLAB下從基本形狀「效果」:這個效果叫什麼,以及如何使用Matlab實現它?

http://i.imgur.com/DkLVp.png

但我甚至不知道這個過程是如何被調用。假設我有一個包含棕色形狀的圖像,我想要的是在其外部生成輪廓,當它們變大時會變得更平滑。

有沒有這個效果的名稱,在MATLAB中做到這一點的函數或從頭開始做的算法?

感謝

回答

3

我認爲你正在尋找bwdist

您顯示的圖像看起來像距離形狀邊界的距離函數的正面部分。您可以使用aforementioned manual page上的示例在Matlab中輕鬆執行此操作。

+0

確定這工作得很好,謝謝 – lezebulon

2

試試這個:

I = imread('brown_image.png'); 
I_bw = (rgb2gray(I) > 0); % or whatever, just so I_bw is 1 in the 'brown' region 
r = 10; 
se1 = strel('disk', r); 
se2 = strel('disk', r-1); 
imshow(imdilate(I_bw, se1) - imdilate(I_bw, se2)) 

需要圖像處理工具箱,但其基本思想是通過1(但是厚你想要的輪廓是或)不同的擴張元件擴張圖像兩次,減去從較大的一個小的結果。然後,您可以根據需要爲它們着色。

相關問題