我試圖生成在MATLAB下從基本形狀「效果」:這個效果叫什麼,以及如何使用Matlab實現它?
但我甚至不知道這個過程是如何被調用。假設我有一個包含棕色形狀的圖像,我想要的是在其外部生成輪廓,當它們變大時會變得更平滑。
有沒有這個效果的名稱,在MATLAB中做到這一點的函數或從頭開始做的算法?
感謝
我試圖生成在MATLAB下從基本形狀「效果」:這個效果叫什麼,以及如何使用Matlab實現它?
但我甚至不知道這個過程是如何被調用。假設我有一個包含棕色形狀的圖像,我想要的是在其外部生成輪廓,當它們變大時會變得更平滑。
有沒有這個效果的名稱,在MATLAB中做到這一點的函數或從頭開始做的算法?
感謝
我認爲你正在尋找bwdist
。
您顯示的圖像看起來像距離形狀邊界的距離函數的正面部分。您可以使用aforementioned manual page上的示例在Matlab中輕鬆執行此操作。
試試這個:
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(但是厚你想要的輪廓是或)不同的擴張元件擴張圖像兩次,減去從較大的一個小的結果。然後,您可以根據需要爲它們着色。
確定這工作得很好,謝謝 – lezebulon