求C/C++读取双色BMP每个像素点的RBG信息代码
一张固定大小的图片,且只有白色和橙色,我想能不能依据这个图片做出属于这个图片的二维数组表示颜色的区分,比如这个图片是30*30的,那能不能有一个30*30的数组,白色的地...
一张固定大小的图片,且只有白色和橙色,我想能不能依据这个图片做出属于这个图片的二维数组表示颜色的区分,比如这个图片是30*30的,那能不能有一个30*30的数组,白色的地方是1,其他颜色的地方时0,其实主要就是能读取每个像素的RGB就好,谢谢大神~
展开
1个回答
展开全部
可以的
这里的关键 在于你需要知道bmp是怎么存的
越过头
然后根据编码方式,读取数据。
bmp也有很多编码方式的
最常见的是rgb555
就是三个字节一个点。
这里的关键 在于你需要知道bmp是怎么存的
越过头
然后根据编码方式,读取数据。
bmp也有很多编码方式的
最常见的是rgb555
就是三个字节一个点。
追问
头是指偏移量吗,我听说是固定54字节
追答
头有几部分的
位图头文件
位图信息
调色板
这几个都是头。 要略过。 但也要解析一些。比如宽高 如何存储什么的。
54字节是不带调色板的。 有些是带调色板的,就不是54个字节了。
如果你的bmp格式是统一的,固定的宽和高,确定是555格式存的,而且确定bgr顺序。 同时确定没有调色板,
那么可以忽略头。
否则必须对其做解析或者部分解析。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |