本图像处理系列笔记是基于B站杨淑莹老师的课程进行学习整理的。

文章目录

  • 黑白图像
  • 8位灰度索引图像
  • 8位伪彩色索引图像
  • 24位真彩色图像
  • 图像文件格式
  • BMP文件存储格式
    • BMP文件头
    • 位图信息头
    • 颜色表
    • 位图信息——BITMAPINFO结构
    • BMP位图文件汇总

按照颜色深度分类,常用图像文件:

  • 黑白图像
  • 8位索引图像
  • 24位真彩色图像

黑白图像

单色图像,二值图像,每个像素由0 或 1 组成

8位灰度索引图像

一个数据矩阵 X 和一个调色板矩阵 MAP

X=[015020012050180250220100](1)X=\left[ \begin{matrix} 0 & 150 & 200 \\ 120 & 50 & 180 \\ 250 & 220 & 100 \end{matrix} \tag{1}\right] X=⎣⎡​0120250​15050220​200180100​⎦⎤​(1)

调色板MAP:

索引号 B G R
0 0 0 0
1 1 1 1
2 2 2 2
255 255 255 255

即图像的数据矩阵中,每一个元素的值即为索引号的值,其图像颜色表代表了BGR的分量各是多少。8位灰度索引图像中,索引号的值和RGB分量的值相同。

各像素信息由一个量化的灰度级来描述,没有彩色信息。其像素值越大,图像越亮。

8位伪彩色索引图像

每个像素的信息由RGB三原色构成的图像,其中RGB是由不同的灰度级来描述的。

  • 颜色表R G B分量值不全相等。
  • 像素值是图像颜色表的索引地址

颜色索引表

索引号 R G B
255 0 0
绿 0 255 0
0 0 255
255 255 255
0 0 0
0 255 255
255 0 255
255 255 0

24位真彩色图像

  • 每一像素由RGB三个分量组成
  • 每个分量各占8位,取值范围为0~255,每个像素24位。

表示如下:

(207,137,130)(220,179,163)(215,169,161)…

以三个分量的形式可表示如下:
R=[25524024025508025500](2)R=\left[ \begin{matrix} 255 & 240 & 240 \\ 255 & 0 & 80 \\ 255 & 0 & 0 \end{matrix} \tag{2}\right] R=⎣⎡​255255255​24000​240800​⎦⎤​(2)
G=[01608025525516002550](3)G=\left[ \begin{matrix} 0 & 160 & 80 \\ 255 & 255 & 160 \\ 0 & 255 & 0 \end{matrix} \tag{3}\right] G=⎣⎡​02550​160255255​801600​⎦⎤​(3)
B=[08016000240255255255](4)B=\left[ \begin{matrix} 0 & 80 & 160 \\ 0& 0 & 240 \\ 255 & 255 & 255 \end{matrix} \tag{4}\right] B=⎣⎡​00255​800255​160240255​⎦⎤​(4)

图像文件格式

  • BMP格式
  • GIF格式
    • 主要用于不同平台上交流和传输,而不是作为文件的存储格式,最大不能超过64M,颜色最多为256色。
  • TIFF格式
    • 其考虑了扩展性、方便性和可修改性,是最复杂的一种,要求用更多的代码来控制它,结果导致文件读写速度慢,代码长
  • JPEG格式

BMP文件存储格式

BMP文件组成

  • BMP文件头
  • 位图信息头
  • 颜色表
  • 位图数据

BMP文件头


bfType表示文件类型,bfSize表示文件大小,bfOffBits表示位图数据的起始位置

位图信息头


biSize表示该结构共多少个字节,即从biSize到biClrImportant共40个字节,故biSize为40
biWidth和biHeight为图像的宽度和高度,以像素为单位
biPlanes是位平面数,一般是1
biBitCount是每个像素所需的位数,8位伪彩色图像,8位灰度图像,biBitCount为8(8位带颜色表),24位伪彩色图像,biBitCount为24(24位不带颜色表
biCompression为位图压缩类型,BMP图像不压缩,此处为0
biSizeImage为位图的大小,以字节为单位,整个位图的大小
最后四个标准情况下为0

颜色表


除了红绿蓝三个分量,还有一个保留的字节,rgbReserved

位图信息——BITMAPINFO结构

BMP位图文件汇总

第2、3讲 图像的存储格式相关推荐

  1. OpenCV中图像Mat存储格式和MATLAB中图像Mat存储格式的区别

    首先,看一下图像中的宽高与笛卡尔坐标系之间的关系如下图所示,即x与width(cols)对应,y与height(rows)对应,x是按列来进行变化,y按行变化. OpenCV读入图像以Mat形式存储时 ...

  2. HTML基础第四讲---图像

    转自:https://blog.csdn.net/likaier/article/details/326735 图像,也就是images,在html语法中用img来表示,其基本的语法是:    < ...

  3. 《数字图像处理》第12讲——图像表示与描述

    目录 12.1表示方法 ①链码 ②多边形近似 点合成法 边分裂法 ③外形特征 ④边界分段 ⑤区域骨架 12.2边界描述 ①简单描述子 ②形状数 ③傅里叶描述子 ④矩量 12.3区域描述 ①简单描绘子 ...

  4. halcon C++编程 第22讲 图像镜像 tcy

    用途:本文利用矩阵乘法实现图像的镜像包括沿x,y轴及对角线实现镜像 注意:镜像点的选取:以三角形为例 水平或垂直线中心坐标或水平垂直线的交点坐标原理:*[1 0 Px] [M M 0] [1 0 -P ...

  5. OpenCV中图像的存储格式(Python版本)

    在Python中使用Open CV读取一张图片后,会保存为"numpy.ndarray"格式,具体的ndarray数据结构特点可以参考以下文章:NumPy Ndarray 对象丨菜 ...

  6. 图像的存储格式转化(python实现)

    jpg 格式转化为ppm格式 1 from PIL import Image 2 import cv2 3 4 img = Image.open("/home/cc/test/feature ...

  7. DICOM标准及应用——第一讲 DICOM标准概述

    一 什么是DICOM? DICOM是Digital Imaging and COmmunication of Medicine的缩写,是美国放射学会(American College of Radio ...

  8. 【Android FFMPEG 开发】FFMPEG AVFrame 图像格式转换 YUV - RGBA ( 获取 SwsContext | 初始化图像数据存储内存 | 图像格式转换 )

    文章目录 I . FFMPEG AVFrame 图像数据帧处理 前置操作 II . FFMPEG 解码 AVPacket 数据到 AVFrame 流程 III. FFMPEG 解码前后的图像格式 IV ...

  9. pydicom 显示jpeg压缩图像_解读常见图像格式

    一.图像处理 多数图像的存储格式一般都为字节型(char), 每种图像格式包括很多信息,其中主要还是颜色的存储RGB和RGBA.其中图像存储安照矩阵的方式,如下图: 如果有A通道说明这个图片有透明效果 ...

最新文章

  1. [Gdal-dev] GCP's, Warping and Source Data Projections
  2. less than 50000 rmb convertible car
  3. 股票系列,动态规划,加油,九月太浪了,十月不许浪
  4. 阿里开源:思考,演进和发展
  5. RESET MASTER和RESET SLAVE使用场景和说明【转】
  6. 【manacher】Strings in the Pocket
  7. 移动端的开发-视口-适配
  8. html怎样在雪景里插入文字,下雪朋友圈怎么配文字 雪景发朋友圈配一句话
  9. 游戏美术专业人士如何评价Share Creators智能数字资产管理系统
  10. CCRC信息安全服务资质。
  11. amd cpu 型号大全
  12. python软件和rost软件哪个更好_ROST-CM软件分词和词频统计用法体验
  13. SAP修改消息内容和报错类型(OBA5,SE91)
  14. Albumentations 中的空间级图像变换
  15. 巴斯扩散模型-Bass Diffusion Model
  16. sigsuspend 与sigwait 的区别
  17. CentOS7 yum安装tomcat
  18. elasticsearch部署过程中各种报错解析
  19. 兄弟们,1024,懂得都懂。
  20. 2018年“世界品牌500强”新榜出炉,中国38个品牌入选(附总榜单)

热门文章

  1. 手机连接投影机的步骤_家用投影仪如何安装 家用投影仪安装方法【步骤详解】...
  2. 好奇怪呀后面加什么标点_狗狗吃饭时奇怪的小动作,你知道代表什么吗?做个懂狗的好主人...
  3. 一步步编写操作系统 37 一级页表与虚拟地址2
  4. python编辑器spyder运行_使用spyder编译器单步调试python
  5. 台式机电脑配置单_2020年电脑配置单重点硬件参考
  6. 一些网站github等无法连接服务器的解决办法
  7. 【CodeForces - 1152C 】Neko does Maths(数学数论,lcm,gcd性质)
  8. SM3密码杂凑算法源码解析
  9. LeetCode刷题实战(43):Multiply Strings
  10. java 命令行 编译 jar文件_用命令行编译java并生成可执行的jar包