2012-04-09 38 views
2

我需要得到鄰居像素爲了得到邊界點的序列,所以我的計劃是: -如何在MATLAB中獲取像素鄰居?

  1. 查找邊界像素。
  2. 找到它的鄰居(它也應該是一個邊界像素)。
  3. 遞歸做到這一點,直到我到達開始像素。

如何在MATLAB中獲得像素鄰居?

+0

定義 「像素鄰居」。你只是指與你正在考慮的像素相鄰的像素的座標? – 2012-04-09 19:34:23

+0

是啊,這就是我的意思,實際上我需要他們在傅立葉描述符中使用! – 2012-04-09 19:38:32

+0

然後我不明白這個問題。你的鄰居的座標是「(i + 1,j)','(i,j + 1)','(i-1,j)','(i,j-1)',處理邊界案例。 – 2012-04-09 19:39:55

回答

5

你總是可以定義一個位移矢量

d = [ 1 0; -1 0; 1 1; 0 1; -1 1; 1 -1; 0 -1; -1 -1]; 

然後位置loc =[i j]的鄰居是

neighbors = d+repmat(loc,[8 1]); 

希望對你有幫助...