0

如何将点列表转换为二进制矩阵?希望该操作适用于 640x640 图像。这是一个例子:

% the points
p = [2 2;2 3;3 3]

% the images is 4x4
img=zeros(4,4)

% set img to 1 for all points in p

???这是问题吗?

% 生成的二值图像 img =

 0     0     0     0
 0     1     0     0
 0     1     1     0
 0     0     0     0
4

2 回答 2

0

你可以简单地做:

img(sub2ind(size(img), p(:,2), p(:,1))) = 1;

例如:

p = [2 2;2 3;3 3];
img = zeros(4,4);

img(sub2ind(size(img), p(:,2), p(:,1))) = 1

这会给你:

img =

   0   0   0   0
   0   1   0   0
   0   1   1   0
   0   0   0   0
于 2013-08-23T02:55:16.220 回答
0

那这个呢:

linearInd = sub2ind(size(img), p(:,2), p(:,1));
img(linearInd) = 1;
于 2013-08-23T03:04:47.913 回答