文档章节

BMP文件RGB颜色数据存放方式

t
 tigerBin
发布于 2017/06/11 13:25
字数 286
阅读 42
收藏 0
点赞 0
评论 0

用Window画图工具绘画一张纯色图片: 颜色代码: RGB = 0xED1C24 ( R=236, G = 28, B = 36)

用Binary Viewer 工具查看图像二进制数据:

深色部分为文件头部分,包含文件大小,像素位数等信息

深色部分为像素数据,已知 图像数据 R=ED, G = 1C, B = 24

可以看出数据在内存中的实际存储格式是按照 BGR 的格式存放

为了便于处理, OpenCV的 Mat数据结构也是按照 BGR的方式存储数据:

	unsigned char *pData = new unsigned char[3 * 500 * 1000];
	for (int i = 0; i < 500; i++)
	{
		for (int j = 0; j < 1000 * 3; j+=3)
		{
			int offset = i * 1000 * 3 + j;
			pData[offset + 0] = 0x24; //Blue
			pData[offset + 1] = 0x1c; //Green
			pData[offset + 2] = 0xed; //Red
		}
	}

创建一个500 * 1000 的图像数据信息,然后转换为 OpenCV 的 Mat 对象,在用 imshow 函数显示图像:

static Mat ConvertToMat(unsigned char *data, int rows, int cols)
{
	Mat img(rows, cols, CV_8UC3);  // create a new matrix

	for (int i = 0; i < rows * cols * 3; i++)
	{
		img.data[i] = data[i];
	}

	return img;
}


void ShowImage(unsigned char *data, int rows, int cols)
{
	Mat img = ConvertToMat(data, rows, cols);
	imshow("Bitmap", img);
	waitKey();
}

 

Reference: http://blog.csdn.net/sjzlxd/article/details/3923907

© 著作权归作者所有

共有 人打赏支持
t
粉丝 0
博文 62
码字总数 17049
作品 0
武汉
程序员
数据压缩原理与应用 图像文件的读写和转换(BMP2YUV)实验报告

一、实验原理 1.BMP文件的组成结构 BMP(全称 Bitmap )是Windows操作系统中的标准图像文件格式 ,可以分成两类:设备相关位图(DDB )和设备无关位图( DIB),使用非常广。它采用位映射存...

zgyggy
2017/03/22
0
0
bitmap图像介绍

典型的BMP图像文件由四部分组成:   1:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息;   2:位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信...

技术小胖子
2017/11/14
0
0
OpenGL中位图的操作(glReadPixels,glDrawPixels和glCopyPi...

1、 BMP文件格式简单介绍 BMP文件是一种像素文件,它保存了一幅图象中所有的像素。这种文件格式可以保存单色位图、16色或256色索引模式像素图、24位真彩色图象,每种模式种单一像素的大小分别...

代码学习者01
2013/09/20
0
0
vc bmp对象与Opencv Iplimage对象相互转换

首先我们要了解两种数据结构 IplImag 对象结构: /** NOTE: Only use the "8 bit, 1 or 3 channels" image, the BitMap use LowerLeft (底左), the IplImage use TopLeft (顶左) IplIma......

长平狐
2012/07/12
227
0
OpenGL像素操作

今天我们先简单介绍Windows中常用的BMP文件格式,然后讲OpenGL的像素操作。虽然看起来内容可能有点多,但实际只有少量几个知识点,如果读者对诸如“显示BMP图象”等内容比较感兴趣的话,可能...

teacheryang
2010/11/19
0
0
视音频数据处理入门:RGB、YUV像素数据处理

===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB、YUV像素数据处理 视音频数据处理入门:PCM音频采样数据处理 视音频数据处理...

leixiaohua1020
2016/01/29
0
0
常见图片格式详解系列(二)---BMP位图--

BMP BMP是windows的一种图片格式,其组织方式相对简单,一个简单表示bmp文件的头结构 (BITMAPFILEHEAER)+ 一个表示图片信息的结构(BITMAPINFOHEADER)+ 一个表示调色板的结构(可选)。剩...

mmlf
03/16
0
0
BMP图形文件分析类(c#)

1using System; 2using JJBase.FILE; 3namespace JJBase.Image 4{ 5 ///// 6 /// BMP 的摘要说明。 7 /// 8 public class BMP 9 { 10 11 public BMP() 12 { 13 // 14 //TODO: 在此处添加构造......

晨曦之光
2012/03/09
126
0
架构设计:系统存储(21)——图片服务器:详细设计(1)

(接上文《架构设计:系统存储(20)——图片服务器:需求和技术选型(2)》) 1、概述 之前的两篇文章介绍了图片系统的技术组件选型和技术方案设计,从这篇文章开始我们将搭建工程进行详细的...

yinwenjie
2017/01/18
0
0
CreateDIBSection和位图结构

理解分辨率 我们常说的屏幕分辨率为640×480,刷新频率为70Hz,意思是说每行要扫描640个象素,一共有480行,每秒重复扫描屏幕70次。 理解调色板 有一个长宽各为200个象素,颜色数为16色的彩色...

姿势喵
02/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

数据库事务的四大特性以及事务的隔离级别

本篇讲述数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是...

Java大蜗牛
13分钟前
0
0
Spring Boot 整合 MyBatis/通用Mapper/PageHelper分页插件

整合MyBatis 整合通用Mapper 1. POM依赖配置 <properties><mapper.starter.version>2.0.3-beta1</mapper.starter.version></properties><!-- 通用Mapper --><dependency><groupId>t......

OSC_fly
22分钟前
0
0
CentOS7 双网卡绑定

环境 操作系统 CentOS7.5,禁用 NetworkManager 服务 网卡 eth0 网卡 eth1 绑定网卡 bond0 网卡 eth0 配置 修改 /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=EthernetBOOTPROTO=noneD......

Colben
23分钟前
0
0
zk实战--rpc框架集群化

在看此篇内容时需要浏览下面内容 netty实战--手写rpc框架 前文功能简介以及功能扩充 利用netty来实现一个点对点的rpc调用。客户端和服务端都是靠手写地址进行socket同学的,无法1对多,也无法...

xpbob
40分钟前
11
0
springboot 发送邮件

获取授权码 添加配置 # 账号和密码spring.mail.username=aaa@qq.comspring.mail.password=bbb# 服务器地址spring.mail.host=smtp.qq.comspring.mail.properties.mail.smtp.ssl.en...

阿豪boy
40分钟前
0
0
如何使用GNU Ring?

文章名:如何使用GNU Ring? 作者:冰焰火灵X 1079092922@qq.com 文章许可:CC BY-SA 4.0 ##1. 安装 下载GNU Ring 点击左边选择你的系统版本(这里以 GNU/Linux 为例,我使用的是Mint 18.3)...

ICE冰焰火灵X
43分钟前
4
0
深入理解springMVC

什么是spring MVC Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而...

Java填坑之路
49分钟前
1
0
《射雕英雄传》书摘

1. 我虽是个飘泊江湖的贫家女子,可不是低三下四、不知自爱之人。你如真心爱我,须当敬我重我。我此生决无别念,就是钢刀架颈,也决意跟定了你。将来……将来如有洞房花烛之日,自然……自能...

k91191
59分钟前
1
0
解决:modal中datePicker 选中时,会触发modal的hidden.bs.modal事件

最近项目中发现了一个bug,具体表现为选中模态框上datepicker组件上的日期时,会触发模态框的关闭事件,导致数据编辑无法正常进行。网上搜索了下,解决方法如下: $('.datepicker').on('hid...

Funcy1122
今天
0
0
Redis分布式锁的正确实现方式

前言 分布式锁一般有三种实现方式: 1.数据库乐观锁 2.基于Redis的分布式锁; 3.基于Zookeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis...

大海201506
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部