sherri 发表于 2007-4-23 10:13

请教一个图像矩阵转换的问题

想把二值图像矩阵I(m,n)转变成J(p,q),p>m,q>n,采用将I平铺成J或添加0、1将I扩展成J都可以,该怎么实现呢?
有没有哪个函数可以直接实现?

eight 发表于 2007-4-23 10:16

原帖由 sherri 于 2007-4-23 10:13 发表 http://forum.vibunion.com/forum/images/common/back.gif
想把二值图像矩阵I(m,n)转变成J(p,q),p>m,q>n,采用将I平铺成J或添加0、1将I扩展成J都可以,该怎么实现呢?
有没有哪个函数可以直接实现?


请举一个简单的例子说明你的问题,例如 I = ; ,则 J = ?

sherri 发表于 2007-4-23 11:28

I = ;
J=[1,2,3,4,1,2,3,4;
      -1,-2,-3,-4,-1,-2,-3,-4;
      0,4,2,9,0,4,2,9;
      1,2,3,4,1,2,3,4;
      -1,-2,-3,-4,-1,-2,-3,-4;
       0,4,2,9,0,4,2,9]
或者
J=[1,2,3,4,1,1,1,1;
      -1,-2,-3,-4,1,1,1,1;
      0,4,2,9,1,1,1,1;
      1,1,1,1,1,1,1;
      1,1,1,1,1,1,1,1;
       1,1,1,1,1,1,1,1]

eight 发表于 2007-4-23 11:32

原帖由 sherri 于 2007-4-23 11:28 发表 http://forum.vibunion.com/forum/images/common/back.gif
I = ;
J=[1,2,3,4,1,2,3,4;
      -1,-2,-3,-4,-1,-2,-3,-4;
      0,4,2,9,0,4,2,9;
      1,2,3,4,1,2,3,4;
      -1,-2,-3,-4,-1,-2,-3,-4;
       0,4,2,9,0,4,2,9]
...


最简单的做法:


J = repmat(I, 2, 2);

sherri 发表于 2007-4-23 11:47

如果用0、1扩展怎么做呢?

eight 发表于 2007-4-23 11:52

原帖由 sherri 于 2007-4-23 11:47 发表 http://forum.vibunion.com/forum/images/common/back.gif
如果用0、1扩展怎么做呢?

0 扩展:

J = repmat(zeros(size(I)), 2, 2);
J(1:size(I,1), 1:size(I,2)) = I;


1 扩展:把 zeros 换成 ones
页: [1]
查看完整版本: 请教一个图像矩阵转换的问题