图像的基本知识 《信息隐藏实验教程》教学幻灯片 二(2)
图像类型的相互转换
图像类型的相互转换 下表列出了MATLAB图像类型转换函数及其功能:
灰度图像的二值化方法 所谓灰度图像的二值化方法实际上解决的就是将灰度图像转换为二值图像这一问题。转换的方法可用伪C语言描述为: 设 (x,y)G 为图像的灰度G的像素 float threshold; //定义一个转换阈值 if ((x,y)G>=threshold) (x,y)B=1; else (x,y)B=0; 则图像B为G的二值转换图。
灰度图像的二值化方法
RGB图像与索引图像的互换 RGB图转换到索引图使用的函数是rgb2ind。该函数的一般使用格式为: [data,map]=rgb2ind(rgbimage,tol) 或 [data,map]=rgb2ind(rgbimage,n) 引入tol和n两个参数是因为RGB图像的色彩非常丰富,而索引图无法全部显示,故利用这两个参数控制转换的图像色彩数量。tol是一个(0,1)区间的实数,相应转换的索引图的调色板矩阵包含种色彩。n是一个[0, 65535]的整数,直接表示转换后的索引图的色彩数量。
RGB图像与索引图像的互换 索引图像转换为RGB图像使用的函数是ind2rgb。使用格式:rgbimage=ind2rgb(data,map)
RGB图像与索引图像的互换 索引图转换为RGB图色彩不会失真,而RGB图转换为索引图一般会出现色彩丢失而导致图像效果变差。
数字图像的基本文件格式 图像格式与图像类型不同,指的是存储图像采用的文件格式。不同的操作系统、不同的图像处理系统,所支持的图像格式都有可能不同。在实际应用中常用到以下几种图像格式。BMP文件、GIF文件、TIFF文件、PCX文件、JPEG格式、PSD格式、PCD格式、PNG格式 等。在这些图像格式中,我们使用最多的就是BMP、JPEG和PNG三种,它们的文件格式是必须要掌握的。
图像存储方式 MATLAB将图像中的数据存储为双精度型(double),即64位的浮点数。这种存储方法的优点在于使用中不需要数据类型转换,因为几乎所有的MATLAB及其工具箱函数都可使用double作为参数类型。然而对于图像存储来说,此种方式表示数据会导致巨大的存储量,所以MATLAB还支持图像数据的另一种类型——无符号整数型(unit8), 即图像矩阵中的每个数据占用一个字节。
图像存储方式 MATLAB及其工具箱函数都不支持unit8类型。unit8的优势仅仅在于节省存储空间,在涉及运算时要将其转换成double型。我们在今后的实验中一般都使用double型矩阵进行操作,这既方便调用图像函数,又与图像像素值的范围一致。利用MATLAB提供的image函数,可以直接显示8位图像或16位图像,而不必将其转换为双精度浮点类型。
图像文件格式的相互转换 图像格式间的转换可以间接利用图像读写函数来完成:首先使用imread 函数按照原有图像格式进行图像读取,然后调用imwrite函数对图像进行保存,并指定图像的保存格式。例如,将一幅图像由BMP格式转换为PNG格式,则可以这样实现:首先使用imread读取BMP图像,然后调用imwrite函数来保存图像并指定为PNG格式: bitmap=imread(‘mybitmap.bmp’,’bmp’); imwrite(bitmap,’mybitmap.png’,’png’);
颜色模型 在计算机图形学领域定义的颜色模型,就是在某种特定上下文中对于颜色的特性和行为的解释方法。我们前面对色彩的讨论都是基于通过红、绿、蓝三原色混合而产生其它颜色的成色机制上。RGB颜色模型最便于诸如视频监视器或打印机等硬件设备上表示颜色。但在具体的图形应用中,我们还会用到其它的一些颜色模型。
HSV模型 HSV模型是面向用户的,是一种复合主观感觉的色彩模型。H、S、V分别指的是色调(彩)(hue)、色饱(saturation)和度和明度(value)。所以在这个模型中,一种颜色的参数便是H、S、V三个分量构成的三元组。
HSV模型 HSV模型不同于RGB模型的单位立方体,而是对应于一个圆柱坐标系中的一个立体锥形子集。在这个锥型中,边界表示不同的色彩。H分量表示颜色的种类,取值范围为0~1,相应的颜色从红、黄、绿、蓝绿、蓝、紫到黑变化,且它的值由绕V轴的旋转角决定,每一种颜色和它的补色之间相差180。
HSV模型 S分量的取值范围也是0~1,表示所选色彩的纯度与该色彩的最大纯度的比例。相应的颜色从未饱和(灰度)向完全饱和(无白色元素)变化,当S=0.5时表示所选色彩的纯度为二分之一。V分量取值范围同样是0~1,从锥型顶点0变化到顶部1,相应的颜色逐渐变亮,顶点表示黑色,顶部表示色彩强度最大。
HSV模型
YCbCr模型 YCbCr模型又称为YUV模型,是视频图像和数字图像中常用的色彩模型。在YCbCr模型中,Y为亮度,Cb和Cr共同描述图像的色调(色差),其中Cb、Cr分别为蓝色分量和红色分量相对于参考值的坐标。YCbCr模型中的数据可以是双精度类型,但存储空间为8位无符号整型数据空间,且Y的取值范围为16~235,Cb和Cr的取值范围为16~240。在目前通用的图像压缩算法中(如JPEG算法),首要的步骤就是将图像颜色空间转换为YCbCr空间。
NTSC模型 NTSC模型是一种用于电视图像的颜色模型。NTSC模型使用的是Y.I.Q色彩坐标系,其中,Y为光亮度,表示灰度信息;I为色调,Q为饱和度,均表示颜色信息。因此,该模型的主要优点就是将灰度信息和信息区分开来。
颜色模型之间的转换
RGB与HSV的转换
RGB与YCbCr的转换 RGB颜色模型与YCbCr模型的转换是通过如下线性变化完成的: 以rgb2ycbcr函数为例,该函数是用来将RGB模型转换为YcbCr模型的。其调用格式如下:ycbcrmap=rgb2ycbcr(rgbmap); YcbCr=rgb2ycbcr(RGB)
RGB与YCbCr的转换