[求助]如何用fwrite函数,把像素值为12bit/像素的数据写入到文件指针呢? 本帖最后由 bistu6 于 2011-06-13 12:07:41 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 fwrite(&bufdata[i], 1, 1, fp_pgm); fwrite(&hi_zero, 1, 1, fp_pgm);这两句,你虽然一共写了2个字节的数据,但是实际只有bufdata[i]的8bit是有效的,hi_zero的8bit都是0,根本就不是12bit。如果是12bit的数据,在你的bufdata里面是怎么存的? 多谢回复可能我没说的太明白,bufdata里面的数据是8bit的灰度值,是从bmp图像中提取的rgb值再bayer格式化。我的问题是:可不可以将8bit/像素的灰度值存成12bit/像素的文件呢? 你是想没8bit扩展4个bit的0出来?你之前的代码扩展了8个bit的0出来,扩展成16bit的了。你把2个字节扩展成3个字节就行了,8bit4bit8bit4bit这样,利用移位和或、与操作。 请问:windows内核函数的问题 int *p=new int[5]() xp上安装vc6.o出现的问题,探讨一下! 为什么msdn上查不到MATH.H里的 acosf sinf这些函数 请教?有没有关闭或者停止键盘响应的函数??? 求一些简单字符串处理的代码。 真是让加密搞晕了头 在程序中如何得到本机的网关地址和子网掩码 一个初学者的问题。 如何在一个应用程序里将鼠标变成沙漏并且不能点击,然后再恢复? 在线等!!在XP系统下,打开多个程序实例才会崩溃(VS2005)开发的程序 VS2010慢到掉渣,想哭!
fwrite(&hi_zero, 1, 1, fp_pgm);
这两句,你虽然一共写了2个字节的数据,但是实际只有bufdata[i]的8bit是有效的,hi_zero的8bit都是0,根本就不是12bit。如果是12bit的数据,在你的bufdata里面是怎么存的?
多谢回复可能我没说的太明白,bufdata里面的数据是8bit的灰度值,是从bmp图像中提取的rgb值再bayer格式化。我的问题是:可不可以将8bit/像素的灰度值存成12bit/像素的文件呢?