通过2字节灰度值,灰度级65536,如何生成位深度16的BMP格式的灰度图呢?
看了下BMP标准格式16位的rgb三通道是按照555解析的,也尝试了使用公式gray=r0.3+g0.59+b*0.11 再进行位操作,结果颜色也是不行。
请教指点一下
如果用的是opencv的话bmp不行,存png吧,这个可以支持16U格式。
如果真的要存为BMP也不是不行,你可以将16分为高八位和低八位,分别存进去BGR中的两个通道,只要你能记住高低八位对应哪个通道,就可以正确的解析出来。如果是指针的话更好搞,直接按照比特写入将16S用memcpy按照字节拷贝到图片的data指针里面去即可,会自动按高低八位存入。
如果你是纯C的话,bmp的信息头设置biBitCount为16看看,还有就是其他一些信息头设置要正确,我不清楚你是写入有问题还是读取错误导致的。