Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
普通会员
注册日期: 2009-03-05
年龄: 37
帖子: 34
声望力: 17 ![]() |
![]()
读出一幅图像数据,想把这个256*256大小的图,分成32*32个8*8的块,用什么语句实现自动取8*8的块呢?应该怎样写循环呢?
|
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-11-01
年龄: 39
帖子: 406
声望力: 26 ![]() |
![]()
以下是pseudo code,个人看法,仅供参考.
assume A(i,j) is the image, B(m,n) is the block for memory saving, then for i from 1 to 32 for j from 1 to 32 for m from 1 to 8 for n from 1 to 8 B(m,n) = A(m+(i-1)*32,n+(j-1)*32) ....(any further process you want) end end end end 当然 要考虑先按行还是,先按列,做compression的话,取法有很多种,做tracking或者recognition基本这样一行一行取应该没有什么问题;另外,由于有四层循环,要看你自己进一步的处理的复杂度,综合考虑总的运行效率;还有其它的写法,主要看array的indexing methods;提醒:这样得到的B是一个2-D的,不知道你的意图,所以,一旦重新给B赋值,B原先的值就被覆盖了。 Thx for reading. (缩进出了写问题) |
![]() |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
为什么这个程序在7.0中没有频谱? | 梦龙 | MATLAB论坛 | 2 | 2009-03-29 16:07 |
我想问下matlab a和b版本的问题 | b181 | MATLAB论坛 | 2 | 2009-03-24 15:29 |
请大家帮我实现这样一个等待的功能 | jerome_and_angela | MATLAB论坛 | 1 | 2009-03-20 09:26 |
[求助]matlab gui编译 | hit-wang | MATLAB论坛 | 0 | 2009-02-16 14:28 |
opc toolbox | 肥肥雪 | MATLAB论坛 | 0 | 2008-10-06 22:52 |