0

我有一个声明试图实施,但对如何实施感到困惑。这是我的问题:

  • 我有一张图像,其中我将一些感兴趣的像素(感兴趣的区域)设置为 value 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= 。所以,假设是:11y

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)等等......

  • 现在,我想检查其中4-neighbourhoods的像素,C但同时不在C. 也就是对周围环境。

  • 现在,对于那些属于周围环境并且是 4 个邻居的像素,C我想选择最小化 和 之间距离的像素。pxC

现在清楚了吗?你知道我怎么能绕过它吗?

谢谢。

4

1 回答 1

0

如果你想找到像素的 4-neighbors 中的像素y,而不是y它们自己,你可以imdilate这样使用:

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

tmp = imdilate(y,msk);

result = tmp & ~y;

现在您可以将像素值设为C(result),并应用您的距离函数。

于 2013-02-23T13:50:35.840 回答