常用图像格式有bmp,tif,jpeg,png,gif等。
图像的基本数据结构
- 其中有A通道,则图像可以做透明效果。
- 不能工具读取RGB的顺序不同
图像格式
如果将原始格式的图像直接存储到文件中是非常大的,如果使用zip或rar类的算法来压缩图像数据,就有了jpeg和png等格式。
1. BMP格式
是windows操作系统中的标准文件格式,能够被多个windows应用程序所支持。这种格式包含图像的信号较丰富,但是几乎不压缩图像,占用内存较大。
bmp有四种位数可供选择:2位(单色(黑白)图像)、4位(16中颜色)、8位(256中颜色)和24位bmp格式图像在文件中的存储包括:文件头、图像格式头、像素数据
2. JGEP格式
JPEG文件的扩展名为.jpg和.jpeg,是一种有损压缩的格式,在保存时有个质量参数可在[0,100]之间选择,参数越大图片就越保真,但图片的体积也就越大。一般情况下选择70或80就足够了。
JPEG适合用来存储色彩丰富的相机拍出来的照片,图像被压缩的体积较小,同时又能保证较高的图像质量。JPEG压缩的核心算法是离散余弦变换(DCT)、Huffman编码、算术编码等技术。
JPEG支持不完全读取整张图像,可以直接读取图像1/2,1/4,1/8等(缩小的图像),节省时间。在c代码中读取jpeg一般是使用libjpeg, 这个库提供了不完全读取图片的功能。
jpeg批量转化工具:C#
exif信息:
另外jpeg文件一般有一个附属的exif信息,这个信息中有图像大小,拍摄时间,拍摄的相关参数,照片方向,图像缩略图、旋转角度等信息。
3. JPEG 2000
是JPEG的升级版,压缩率更高。
4. PNG格式
是一种无损压缩的格式,是一种新型的网格图像格式。是目前图像最不失真的格式
特点:
兼有GIF和JPG的色彩模式,存储形式丰富
可以将图像压缩到极限,但是又可以保持图像与品质有关的信息
显示速度快,只需下载1/64的图像信息,就可以显示低分辨率的图像
支持透明图像的制作
是个矢量图、几何图(几何特征强的图形类图像)
缺点:
不支持动画应用效果
图像位数:24位、32位(带有alpha通道的图片)
将图片a绘制到另一幅图片b上,如果图片a没有alpha通道,那么就会完全将b图片的像素给替换掉。而如果有alpha通道,那么最后覆盖的结果值将是c = aalpha + b(1-alpha)
5. GIF格式
相较于bmp,jpeg,png,gif可以保存多帧的图像(动态图像),gif中有个参数可以控制图片变化的快慢。
6. webp
google开发的一种有损、透明图片格式,相当于jpeg和png的合体,google声称其可以把图片大小减少40%。
7. TIFF
图像格式负责,存储信息多,并且存储的图像细微层次信息非常多,图像质量较高。有压缩(LZW无损压缩)和非压缩格式。