任延珍 武汉大学计算机学院 空天信息安全与可信计算教育部重点实验室 第二章 图像基础知识 任延珍 武汉大学计算机学院 空天信息安全与可信计算教育部重点实验室
考核要求 了解数字图像的生成、表示、存储等相关基础知识 了解常见的图像变换方法 了解图像压缩原理和标准 了解图像质量评价方法
图像基本知识 图像基础 图像基本存储格式 图像压缩标准 图像信号处理方法 图像压缩原理 图像质量评价
图像基础 什么是图像 人类由外界获得的信息约有70%来自于视觉。图像是人类视觉的基础。 图像会以各种各样的形式出现:可视的和非可视的、抽象的和物理的。
图像基础 什么是图像 可视图像:由可见光形成,能为人的视觉系统所感受。如人们通常见到的自然景物等。 非可视图像:不能为人眼直接感受,是某种物理量的平面或空间分布。如X射线、红外线、微波、超声等形成的,但这类图像通过换能与显示装置变换后,仍能为视觉所感受。 可视图像是一个平面能量分布图,这种分布图可用多变量函数表示: 图像(Image)和图片(Picture)在文献中已混用,均指图像。
图像基础 什么是图像 图像可被划分为称作像素(pixel)的小区域,在每个像素,表示亮度或色彩的值被采样和量化,得到像素值。该过程称为数字化,得到的图像称为数字图像。 数字图像以其存储方式的不同又可分为不同的文件格式,如位图(BMP)、TIFF、GIF、JPEG等等。
图像的两大类型 位图 采用像素矩阵方法来显示和存储图像。 真实细腻反应图像层次色彩。体积较大。 适合描述照片。 矢量图 用数学方法描述由几何元素组成的图像。 文件小,能够随意缩放而不改变质量。 适合描述图形。
图像基础 数字图像的生成
图像基础 数字图像的生成
图像基础 数字图像的生成
图像基础 数字图像的色彩 存在严格的“位映射”关系 8bit ( 28 = 256色 ) 16bit ( 216 = 65536色 ) ● 图像由基本显示单元“像素”构成 图像像点 8bit ( 28 = 256色 ) 16bit ( 216 = 65536色 ) 24bit ( 224 = 16M色 ) 8位图像 16位图像 24位图像 ● 二进制位与图像之间 存在严格的“位映射”关系 ● 像素由若干个二进制位进行描述 ● 二进制位代表图像颜色的数量
位图中的图像类型 二值图像 灰度图像 RGB图像 索引图像 YUV图像
二值图像 图像中只存在0,1两个值。0为黑,1为白。
灰度图像 灰度图像是包含灰度级(亮度)的图像,它可以看做一个二维矩阵,该矩阵的每个元素对应于图像的每个像素点,元素的数值代表一定范围内的灰度级。
RGB图像 RGB图像(24位真彩色图像),每个像素点的值是由红、绿、蓝三原色共同组成,可以表示16M种不同的色彩。RGB图像可以看作一个三维矩阵,它是由三个二维矩阵构成的,每个二维矩阵代表红、 绿、蓝中的一种颜色,用来 表示该种颜色的深浅程度。
RGB图像 为了更好说明在RGB图像中所使用的三个不同颜色分量的作用效果,在MATLAB中创建一个简单的RGB图像,该图像包含某一范围内不中断的红、绿、蓝颜色分量。
RGB图像 对图像的指定层(B)加强,结果出现了常说的“颜色泛蓝”的现象,如下图
二值图像、灰度图像及RGB图像
索引图像 索引图像是一种把像素值直接作为RGB调色板下标的图像。一幅索引图包含一个数据矩阵data 和一个调色板 矩阵map。
图像基础 常见的一些颜色表示 颜色 R G B 红 255 蓝 绿 黄 紫 青 白 黑 灰 128
图像基础 YUV(YCbCr)—图像的另一种表示方法 Y:明亮度 U:色度 V:浓度 Y:明亮度 Cb:蓝色色度 Cr:红色色度 Cb Cr
图像基础 采用YUV表示的优势: 1.Y代表亮度,因此包含了灰度图的所有信息,用同一种方法可以方便地在灰度和彩色图之间切换,RGB can not。 2.人眼对亮度信号非常敏感,而对色差信号的敏感程度相对较弱,因此图像的主要信息包含在Y分量中。有利于进行有效的压缩等处理。
*YUV 与 RGB 的转换公式:
图像基本知识 图像基本类型 图像基本存储格式 图像压缩标准 图像信号处理方法 图像压缩原理 图像质量评价
图像基本存储格式 文件 用途 . BMP 用于Windows环境下的任何场合 . GIF 用于动画、多媒体程序界面,网页界面 . JPG ● 数字化图像以文件的形式存储,其文件名有严格的约定 文件 用途 . BMP 用于Windows环境下的任何场合 . GIF 用于动画、多媒体程序界面,网页界面 . JPG 用于数字图片保存、传送 . TIF 用于专业印刷 . TGA 用于专业动画影视制作 . PCD 用于PHOTO CD
图像基本存储格式——BMP图像(位图) BMP是英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。 随着Windows操作系统的流行与丰富的Windows应用程序的开发,BMP位图格式被广泛应用。通用性好。 这种格式的特点是包含的图像信息较丰富,几乎不进行压缩,但由此导致了它与生俱生来的缺点--占用存储空间过大。
图像基本存储格式——BMP图像(位图) BMP图像—文件结构 位图文件头(bitmap-file header) BITMAPFILEHEADER 位图信息头(bitmap-information header) BITMAPINFOHEADER 调色板(Pallette) RGBQUAD 实际的位图数据ImageDate
图像基本存储格式——BMP图像(位图) BMP图像—位图文件头结构 typedef struct tagBITMAPFILEHEADER { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } BITMAPFILEHEADER; 结构长度是固定的,为14个字节,WORD为无符号2字节,DWORD为无符号4字节,各个域的说明如下: bfType:指定文件类型,必须是0x424D,即字符串“BM”,也就是说所有.bmp文件的头两个字节都是“BM”; bfSize:指定文件大小; bfReserved1,bfReserved2 :为保留字,不用考虑; bfOffBits:文件头到实际的位图数据的偏移字节数。
图像基本存储格式——BMP图像(位图) BMP图像—位图文件头结构
图像基本存储格式——BMP图像(位图) BMP图像—位图信息头结构 typedef struct tagBITMAPINFOHEADER { DWORD biSize; /结构的长度,为40/ LONG biWidth; 指定图像的宽度,单位是像素 LONG biHeight; 指定图像的高度,单位是像素 WORD biPlanes; 图像色彩平面数,其值固定为1 WORD biBitCount 颜色的位数,常用的值为1、4、8、24 DWORD biCompression; 位图是否压缩 DWORD biSizeImage; 位图数据占用的字节数 LONG biXPelsPerMeter; LONG biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; } BITMAPINFOHEADER;
图像基本存储格式——BMP图像(位图) BMP图像—位图信息头结构
图像基本存储格式——BMP图像(位图) BMP图像—调色板Palette typedef struct tagRGBQUAD { BYTE rgbBlue; //该颜色的蓝色分量 BYTE rgbGreen; //该颜色的绿色分量 BYTE rgbRed; //该颜色的红色分量 BYTE rgbReserved; //保留值 } RGBQUAD; 调色板实际上是一个数组,数组中每个元素的类型是一个RGBQUAD结构,占4个字节。 结构中RGB分量是倒向存储的,即存储的顺序是BGR。
图像基本存储格式——BMP图像(位图) BMP图像—调色板Palette rgbBlue BYTE 蓝色值 00 01 灰度图像共256级 数据名称 偏移量 数据类型 说明 示例值0 示例值1 示例含义 rgbBlue BYTE 蓝色值 00 01 灰度图像共256级 rgbGreen 1 绿色值 rgbred 2 红色值 rgbReserved 3 保留值
图像基本存储格式——BMP图像(位图) BMP图像—图像实际数据 调色板的位图,图像数据就是该像素颜色在调色板中的索引值;真彩色图,图像数据就是实际的RGB值; 2色位图,用1位就可以表示该像素的颜色,一般0表示黑,1表示白,所以一个字节可以表示8个像素; 16色位图,用4位可以表示一个像素的颜色,所以一个字节可以表示2个像素; 256色位图,一个字节刚好可以表示1个像素; 真彩色图,三个字节才能表示1个像素。 每一行的字节数必须是4的整倍数,如果不是,则需要补齐。 *.bmp文件的数据从下到上,从左到右存储。也就是说,从文件中最先读到的是图像最下面一行、左边的第一个像素,然后是左边的第二个像素……接下来是倒数第二行左边的第一个像素,左边的第二个像素……依次类推 ,最后得到的是最上面一行最右的一个像素。
图像基本存储格式——BMP图像(位图) BMP图像—图像实际数据 如图 2.12所示是文件Lena.bmp的部分图像数据,2E即图像左下角点(511, 0)点的调色板编号值,之后的两个字节值分别为2E和38,分别对应图像中位置(511, 1)和(511, 2)的调色板编号值。 2E用十进制表示:46;38用十进制表示:56。因此像素点(511, 0)和 (511, 1)对应的RGB是(46,46,46); (511, 2)对应的RGB是(56,56,56)。
图像基本知识 图像基本类型 图像基本存储格式 图像压缩标准 图像信号处理方法 图像压缩原理 图像质量评价
图像压缩标准-JPEG JPEG JPEG特点 JPEG (Joint Photographic Experts Group)标准(ISO 10918)是ISO和ITU联合提出的通用静态图像压缩国际标准。 JPEG特点 (1)YUV格式图像(若为RGB图像,则先转换为YUV) (2)缩减取样 (3)分割为各个8×8分块 (4)对每个分块离散余弦变换 (5)量化(有损) (6)熵编码 2018/11/9
图像压缩标准-JPEG 原始 图像 重构 逆向离散 余弦变换 正向离散 量化 逆量化 编码 解码 压缩 量化表 编码表 Quality level: 90 File size: 10,582 bytes Quality level: 50 File size: 5,154 bytes Quality level: 1 File size: 923 bytes
图像压缩标准-JPEG2000 关键技术:以离散小波变换DWT为主的多解析压缩方式 核心算法:EBCOT(最佳截断嵌入码块编码) JPEG 2000(ISO 15444)是JPEG的更新换代标准,针对Internet应用和无线通信等领域。 关键技术:以离散小波变换DWT为主的多解析压缩方式 核心算法:EBCOT(最佳截断嵌入码块编码) 高压缩比:比JPEG压缩性能提高30% EBCOT算法是一种对小波变换产生的子带系数进行量化和编码的方法。它的基本思想是把每一个子带的小波变换系数分成独立编码的码块(code-block),并且对所有的码块使用完全相同的编码算法。 2018/11/9
图像压缩标准-JPEG2000 JPEG与JPEG 2000的性能比较 标准 JPEG JPEG 2000 标题 连续色调静态图像的数字压缩编码 新一代静态图像编码标准 日期 1986.3-1992.10 1996.2-2000.12 压缩比 2-30:1 2-50:1 主要技术 离散余弦变换DCT Zigzag扫描 哈夫曼编码 算术编码 离散小波变换DWT EBCOT核心算法 ROI编码 空间可扩展编码 应用场合 Internet 数字照相 图像视频编辑 打印、扫描、移动通信
图像基本知识 图像基本类型 图像基本存储格式 图像压缩标准 图像信号处理方法 图像压缩原理 图像质量评价
常用图像处理方法 二维离散傅立叶变换(DFT) 二维离散小波变换(DWT) 二维离散余弦变换(DCT) 除了位图表示外,数字图像的另一类重要表示方法就是变换域表示法。如JPEG压缩时就需要对图像进行离散余弦变换。
二维离散傅氏变换(2DFT) 离散傅里叶变换(DFT) 法国数学家傅里叶在《热分析理论》中提出了傅里叶变换理论。 傅里叶变换的提出为频域的分析奠定了基础。 离散傅里叶变换(DFT)是线性系统分析的有利工具,在数字信号处理技术中占有重要的地位。 DFT 是正交变换,计算时可以采取快速算法,特别地,信号的DFT变换有明确的物理意义,因此在通信、雷达、声纳、遥感、医学、图像处理、语音合成与分析等领域得到广泛应用。 DFT变换在数字水印技术中得到高度重视。 DFT变换是复数变换,在幅度和相位满足特定的条件下,可以嵌入在媒体的幅度上,也可以隐藏在它的相位中。
二维离散傅氏变换(2DFT) 二维离散傅里叶变换 逆变换
二维离散傅氏变换(2DFT) 数字图像经过离散傅里叶变换后,得到的二维矩阵及频率分布 图像 二维 DFT IDFT 1 2 4 3 对应低频成分 对应高频成分 直流部分
二维离散傅氏变换(2DFT) 傅里叶变换的结果是复数,可以取复数的模作为变换后图像的灰度值,下图是对Lena图像进行傅里叶变换的频谱图。图像的频谱能量主要集中在矩阵的4个角。
二维离散傅氏变换(2DFT) 通常在进行傅里叶变换之前用(-1)x+y乘以输入的图像,使得变换后图像频谱能量集中在原点附近的低频区域,
二维离散小波变换(2DWT) 小波分析, wavelet analysis 小波(Wavelet),顾名思义,“小波”就是小的波形。 所谓“小”是指它具有衰减性; 而称之为“波”则是指它的波动性,其振幅正负相间的震荡形式。
二维离散小波变换(2DWT) 一级分解:近似部分(LL),水平方向细节部分(HL),垂直方向细节部分(LH),对角线方向细节部分(HH) 自从1986年以来,小波分析的理论、方法与应用的研究一直方兴未艾。 20世纪工人的最辉煌的科学成就之一。 离散小波变换是一种局部的变换。 具有多尺度分析的能力。 JPEG2000和MPEG7都采用了小波变换。 利用小波变换吧原始图像分解为多频段的图像,能适应人眼的视觉特性且是的水印的嵌入和检测可分多个层次进行。 小波变换域睡姿水印方法兼具时空域方法和DCT变换域方法的优点。
二维离散小波变换(2DWT) h g 2 2 h g
二维离散小波变换(2DWT)
演示 Lena图像的一级小波分解
演示 二级小波分解
二维离散余弦变换(2DCT) 离散余弦变换(Discrete Cosine Transform,DCT)是一种实数域变换,其变换核为实数余弦函数。 特点:对一幅图像进行离散余弦变换后,许多有关图像的重要可视信息都集中在DCT变换的一小部分系数中。 因此,离散余弦变换(DCT)是有损图像压缩JPEG的核心,同时也是所谓“变换域信息隐藏算法”的主要“变换域(DCT域)”之一。
二维离散余弦变换(2DCT) 二维离散余弦变换 逆变换
DCT系数的性质
演示 Lena图像的2DCT变换
分析DCT系数的性质 DC系数 AC系数 对DCT变换来说,图像的主要能量是集中在其DCT系数的一小部分。
离散余弦变换 将时空域能量转换为频域 转换 特点: 左上角低频直流系数,其余高频交流系数 左上角到右下角数值大体趋势逐渐变小 能量主要集中在左上角
分块DCT 所以,对图像进行分块DCT后,在每一个8×8范围内其频率系数仍然符合前面我们总结的DCT系数分布规律。
分块DCT与整体DCT的三维投影
图像基本知识 图像基本类型 图像基本存储格式 图像压缩标准 图像信号处理方法 图像压缩原理 图像质量评价
图像压缩基本原理 原始 图像 重构 逆向离散 余弦变换 正向离散 量化 逆量化 编码 解码 压缩 量化表 编码表 2018/11/9
JPEG图像—基于DCT变换的图像压缩 DCT 量化器 熵编码器 压缩图象数据 量化表 熵编码表 源图象数据
JPEG图像—JPEG有损顺序编码算法 将源图像分成几个颜色平面(分量图像); 蓝色通道 绿色通道 红色通道
JPEG图像—JPEG有损顺序编码算法 编码算法步骤: 1. 分成8×8数据块进行正向离散余弦变换(FDCT); 2. 量化(quantization); 3. Z字形排列量化结果(zigzag scan); 4. 使用差分脉冲编码调制(differential pulse code modulation,DPCM)对直流系数(DC)进行编码; 5. 使用行程长度编码(run-length encoding,RLE)对交流系数(AC)进行编码; 6. 熵编码(entropy coding)。
JPEG图像—色彩模型RGB-YCbCr JPEG 图像使用YCrCb 颜色模型, 而不是计算机上最常用的 RGB。 YCrCb 模型更适合图形压缩. 因为人眼对图片上的亮度 Y 的变化远比色度 C 的变化敏感. 我们完全可以每个点保存一个 8bit 的亮度值, 每 2x2 个点保存一个 Cr 、Cb 值。 Y = 0.299*R + 0.587*G + 0.114*B (亮度) Cb = - 0.1687*R - 0.3313*G + 0.5*B+128 Cr = 0.5 *R - 0.4187*G - 0.0813*B+128
JPEG图像—分块DCT变换 对每个单独的彩色图像分量,把整个分量图像分成8×8的图像块(不能被8整除时,重复最后行或者列补齐),如图所示,并作为两维离散余弦变换DCT的输入。通过DCT变换,把能量集中在少数几个系数上。
JPEG图像—量化 亮度量化表 色差量化表 因为人眼对亮度信号比对色差信号更敏感,此外,由于人眼对低频分量的图像比对高频分量的图像更敏感,因此图中的左上角的量化步距要比右下角的量化步距小。
量化(有损过程) 人类眼睛在一个相对大范围区域,辨别亮度上细微差异相当好,但是在一个高频率亮度变动之确切强度的分辨上,却并不敏感。 这个事实让我们能在高频率成份上极佳地降低资讯的数量。简单地把频率领域上每个成份,除以一个对于该成份的常数就可完成,且接着舍位取最接近的整数。 这是整个过程中的主要失真运算。以这个结果而言,经常会把很多更高频率的成份舍位成为接近0,且剩下很多会变成小的正或负数。
JPEG图像—量化过程
JPEG图像—DCT系数重排 采用“Z”型扫描,如上图所示。把8×8的矩阵变成1×64的矢量。 量化后8×8矩阵中大多数值都为0,并且0值大都集中在中、高频区域。 运用Z字形排列读出的优点是:在大多数情况下出现连零的机会比较多,尤其在最后,如果都是零,在读到最后一个数后只要给出“块结束”(EOB)码,就可以结束输出,因此节省了很多码率。
熵编码(霍夫曼编码+Z型扫描) −26, −3, 0, −3, −3, −6, 2, −4, 1 −4, 1, 1, 5, 1, 2, −1, 1, −1, 2, 0, 0, 0, 0, 0, −1, −1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 当剩下的所有系数都是零,对于过早结束的序列,JPEG有一个特别的霍夫曼编码用词。使用这个特殊的编码用词,EOB,该序列变为 −26, −3, 0, −3, −3, −6, 2, −4, 1 −4, 1, 1, 5, 1, 2, −1, 1, −1, 2, 0, 0, 0, 0, 0, −1, −1, EOB
图像基本知识 图像基本类型 图像基本存储格式 图像压缩标准 图像信号处理方法 图像压缩原理 图像质量评价
图像基本知识 图像基本类型 图像基本存储格式 图像压缩标准 图像信号处理方法 图像压缩原理 图像质量评价
图像的质量评价 主观评价 让观察者根据一些事先规定的评价尺度或自己的经验,对测试图像按视觉效果提出质量判断,并给出质量分数,对所有观察者给出的分数进行加权平均。这种方法称为平均意见分(MOS)方法 客观评价 以机器为主体对图像质量进行评价
主观评价 比较准确 受观察者的知识背景、情绪和疲劳程度等因素的影响 可重复性较差
客观评价 对一个系统中输入和输出的图像信号做处理和分析,一般是从图像中提取一些特征参量作为研究分析对象,处理并作比较。从总体上反映了图像间的差别 常用的有 均方误差(MSE) 是原图像与处理图像之间均方误差 峰值信噪比(PSNR) 是原图像与处理图像之间均方误差相对于(2^n-1)^2的对数值(信号最大值的平方,n是每个采样值的比特数),它的单位是dB PSNR值越大,就代表失真越少
客观评价 使用方便 可重复性强 评价结果与主观感觉有时存在不一致
为什么客观评价与主观评价不能很好吻合? 人眼对所看到物体的理解,不仅与生理因素有关,还在相当大的程度上取决于心理因素 如“视而不见”,“听而不闻” 对感兴趣的区域给予极大关注,对其它区域不在意 大脑对所接收的事务有一个过滤和取舍的过程,目前计算机还无法很好地模拟此过程
例1 高斯噪声,椒盐噪声,PSNR相同 PSNR(dB) 48.1183 50.9538
例2(续) PSNR(dB) 23.5084 23.2079
谢 谢! 2018/11/9