2013-02-22 96 views
0

我有一條聲明試圖實現,但如何實現卻很困惑。這是我的問題:查找使兩組之間的距離最小的像素

  • 我有一個圖像,我已將感興趣的像素(感興趣區域)設置爲值1。所以,我們可以說我們現在有一個具有以下值的集合1s其中這裏的每個1代表圖像中的特定位置。

C = [1 1 1 1 1 1 1 1 1 1];;

例如,假設img爲了簡單起見,這裏是矩陣x如下:

x = [2 3 5; 5 4 5; 6 4 3; 6 5 4; 6 54 3; 6 5 3]; 

x將基於隸屬程度y對我們設置一些值1。爲了澄清,對於每個像素y = 1,我們將該像素設置爲1。所以,讓我們說y是:

y = [0 1 0; 0 1 1; 1 1 0; 0 0 1; 0 0 1; 1 1 1]; 

所以,C包含10 1s。例如,第一1代表位置x(1,2)等等...

  • 現在,我要檢查的像素的C4-neighbourhoods但同時不C。就是在周圍。

  • 現在,屬於周圍環境,並且是C四個相鄰的像素我想選擇像素pxC之間的距離最小化

現在清楚了嗎?你知道我怎麼可以繞過嗎?

謝謝。

+0

我不太明白你在這裏要做什麼。但是,你說你被「最小化距離」這個短語所困惑;如果有幫助,那*可能意味着像素值之間的距離,即圖像看起來有多不同。也許你可以提供更多的信息,並說出你是否認爲我的猜測對你的問題有意義。 – jazzbassrob 2013-02-22 10:23:12

+0

'img'和'p'的大小是多少? – 2013-02-22 10:23:27

+0

感謝您的回覆。我將在我的問題中添加更多信息 – Simplicity 2013-02-22 10:27:18

回答

0

如果你想找到屬於像素的4-鄰居y像素,但不y自己,你可以使用imdilate這樣的:

msk = zeros(3); 
msk(2,:) = 1; 
msk(:,2) = 1; 

tmp = imdilate(y,msk); 

result = tmp & ~y; 

現在,你可以得到的像素值作爲C(result) ,並應用你的距離函數。

相關問題