查找使两组之间的距离最小的像素
问题描述:
我有一条声明试图实现,但如何实现却很困惑。这是我的问题:查找使两组之间的距离最小的像素
- 我有一个图像,我已将感兴趣的像素(感兴趣区域)设置为值
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)
等等...
现在,我要检查的像素的
C
的4-neighbourhoods
但同时不C
。就是在周围。现在,属于周围环境,并且是
C
四个相邻的像素我想选择像素p
这x
和C
之间的距离最小化。
现在清楚了吗?你知道我怎么可以绕过吗?
谢谢。
答
如果你想找到属于像素的4-邻居y
像素,但不y
自己,你可以使用imdilate
这样的:
msk = zeros(3);
msk(2,:) = 1;
msk(:,2) = 1;
tmp = imdilate(y,msk);
result = tmp & ~y;
现在,你可以得到的像素值作为C(result)
,并应用你的距离函数。
我不太明白你在这里要做什么。但是,你说你被“最小化距离”这个短语所困惑;如果有帮助,那*可能意味着像素值之间的距离,即图像看起来有多不同。也许你可以提供更多的信息,并说出你是否认为我的猜测对你的问题有意义。 – jazzbassrob 2013-02-22 10:23:12
'img'和'p'的大小是多少? – 2013-02-22 10:23:27
感谢您的回复。我将在我的问题中添加更多信息 – Simplicity 2013-02-22 10:27:18