2012-04-09 72 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]); 

希望对你有帮助...