图像处理的疑问!急。 我看了一个图像处理程序,在获取图像每行的字节数他是(((wide*8)+31)/32*4),其中WIDE是图像的宽度。一想是以四为单位进行进位,不是被四整除的增加变成被四整除的!想了一天也不知道为什么要这么做。有哪位达人经通这方面的请指教一下!小弟在此拜谢了!!!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 爲了效率+1以前有相同的帖子的http://topic.csdn.net/t/20040916/09/3377310.html 另外就是,windows下存储图像的每一行像素值时,如果存储该行像素值所占的字节数为4的倍数,则正常存储,否则,需要在后端补0,凑足4的倍数。 要理解这一点需要从计算机原理方面来考虑。对于字长为32位的CPU,每次存取内存数据是4字节,其地址总线不包含最低两位地址。当从内存中读取数据时,如果内存地址是4的倍数,则一次即可读出;如果地址不是4的倍数,则需要读两次。例如从地址0x87654321处读一个DWORD值,则需要分别读出0x87654320和0x87654324这两个地址的数据,然后再合成0x87654321地址的数据。所以存取地址是4的倍数时速度比较快。 恐怕是用FFT所需要的:FFT处理的数字列长一般要求是2的幂次 《Visual C++ 数字图像处理(第二版)》P20:// 在计算图像大小时,采用公式:biSizeImage = biWidth' x biHeight.// 是biWidth,而不是biWidth,这里的biWidth'必须是4的整数倍,表示// 大于或等于biWidth的,离4最近的整数。#define WIDTHBYTES(bits) (((bits) + 31) / 32 * 4)因为单位是bits,所以bits = width * 8个人看法:这个代码的作者没有领会其中原理,而是直接套用公式而已,如果单位是bytes,可以写成:(width + 3) / 4 * 4 OpenGL 多重采样 抗锯齿 清空IHtmlElement内容的问题 在使用directdraw表面的对话框上面显示一个非模态的透明对话框的问题? 鼠标如果在窗体外单击,那么窗体能接收到“鼠标在窗体外单击”这个消息么? SQL数据导入 [急]用指定环境变量块的方式创建子进程失败 [超级感谢] CDaoRecordset在Acess数据库查询问题? 关于窗口句柄的问题? 我想通过程序断掉连接到我机器上的非法连接,如何实现,请各位赐教。 急问isapi!!! 请高手帮忙看看是怎么回事 关于编辑框的滚动条的控制
以前有相同的帖子的
http://topic.csdn.net/t/20040916/09/3377310.html
// 在计算图像大小时,采用公式:biSizeImage = biWidth' x biHeight.
// 是biWidth,而不是biWidth,这里的biWidth'必须是4的整数倍,表示
// 大于或等于biWidth的,离4最近的整数。#define WIDTHBYTES(bits) (((bits) + 31) / 32 * 4)因为单位是bits,所以bits = width * 8个人看法:这个代码的作者没有领会其中原理,而是直接套用公式而已,如果单位是bytes,可以写成:
(width + 3) / 4 * 4