100分求救,对于16bit的bmp图像,有没有办法判断它是彩色图像,还是灰度图像?

admireO 2002-05-26 09:30:26
很急,请大家关注。
...全文
219 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qindq 2002-05-27
  • 打赏
  • 举报
回复
16bit位图如果是555格式(实质上是15bit):
Red的色度是2^5, GreenRed的色度是2^5, Blue的色度是2^5,
只要所有象素(或99.9999%)满足Red==GreenRed==Blue就可以算灰度图

如果是565格式
Red的色度是2^5, Green的色度是2^6, Blue的色度是2^5
green'=Green>>1;
只要所有象素(或99.9999%)满足Red==green'==Blue就可以算灰度图




admireO 2002-05-27
  • 打赏
  • 举报
回复
哎,大家快发表意见.
storein 2002-05-27
  • 打赏
  • 举报
回复
灰度等级是256是针对每一个色彩信息而言的
比如RED,那么就是256等级的灰度信息
在灰度图中,常用的就是8位,也就是256色了,这时是索引状态的,R,G,B三色颜色值相同,比如 R128,G128,B128
这个时候索引值也是128,BMP信息部分包括了从1-255的所有R,G,B 三色相同值的颜色。
如果我们使用24位来表示灰度图,灰度的等级分辨率并不是2^24,仍然是2^8,因为你还是必须要保证RGB三色相同哦
那么既然这样的话
在24位中只要你判断全部像素,如果都是R=G=B,则就是彩色图中的特殊图--灰度图,反之,就是彩色图了
至于16位,由于我不了解16是如何存放像素的,
所以只能说这些
admireO 2002-05-27
  • 打赏
  • 举报
回复
请关注.
admireO 2002-05-26
  • 打赏
  • 举报
回复
“灰度图的三原色值相同“,是没错,不过有些要求分辨率高的图像(比如医学图像)灰度等级不止256,这样16位的话都表示的是灰度等级有2^16。所以,我觉得没办法分辨。看看大家的意见。
2ndboy 2002-05-26
  • 打赏
  • 举报
回复
灰度图的三原色值相同
16bit位图还要考虑格式是555还是565

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧