将8位bmp转为24位时,头信息中的调色板需要做什么改变么?

frisby 2005-08-15 09:51:55
还是直接用就可以。
而且,那个调色板是怎么定的,一直不是很清楚。大小和图像的大小有关么?
...全文
189 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ftkghost 2005-08-17
  • 打赏
  • 举报
回复
还有就是 bmp文件中实际的存储顺序是 BGR 即第一个分量是蓝色,第三个分量是红色,而不是以R G B为顺序
ftkghost 2005-08-17
  • 打赏
  • 举报
回复
调色板大小和图像大小无关,只和颜色数量有关
8位bmp图像,数据块中存放的是颜色索引,24位bmp图像,数据块中存放的是实际的RGB值
8位转24位时 调色板那块要去掉,并且需要把后面的数据块修改
通过8位bmp图像数据块中索引值找到调色板中对应的RGB值,并以这个RGB值来替换原来的索引值
jixingzhong 2005-08-17
  • 打赏
  • 举报
回复
如果用调色板表示一个象素也要用24 位这是因为每种颜色的索引要用24 位因为总共
有2 的24 次方种颜色即调色板有2 的24 次方行) 和直接用R G B 三个分量表示用的字
节数一样不但没有任何便宜还要加上一个256*256*256*3 个字节的大调色板.
jixingzhong 2005-08-17
  • 打赏
  • 举报
回复
24位还用 调色板的话,反而更浪费 ...
zzwu 2005-08-16
  • 打赏
  • 举报
回复
上面有点乱,改正如下:

从8位图像取到的每个点是0-255的数值,通常称为“逻辑色”,它不是真正的颜色,而是存放颜色的调色板的地址. 在调色板的的每一地址中存放[R,G,B]的颜色分量值.

而24位图像的每个点直接存放了组成颜色的3个[R,G,B]分量值。

所以你要把从8位图像转换为24位图像,你必须从那个8位调色板中取出真正代表颜色的R,G,B值.
zzwu 2005-08-16
  • 打赏
  • 举报
回复
从8位图像取到的每个点是0-255的数值,它不是真正的颜色,而是存放颜色的调色板的地址.
24位的图像的每个点是由3个0-255组成的[R,G,B]分量值,所以你要把8wei转换为24图像,它的没你必须从那个8位调色板中取出真正代表颜色的RGB值.
wrcluomo 2005-08-16
  • 打赏
  • 举报
回复
24位不要调色板
summer54 2005-08-16
  • 打赏
  • 举报
回复
24位不要调色板

将8位bmp转成24位,位图数据需要修改,方法如上

4,446

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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