图像压缩代码
Ⅰ MATLAB编写基于离散正弦变换(DCT)的图像压缩程序
I=imread('cameraman.tif')
I=im2double(I) %转换图像矩阵为双精度型。
T=dctmtx(8) %产生二维DCT变换矩阵
%计算二维DCT,矩阵T及其转置是DCT函数P1*X*P2的参数
B=blkproc(I,[8,8],'P1*x*P2',T,T') %二值掩模,用来压缩DCT系数,只留下DCT系数中左上角的10个
mask=[1 1 1 1 0 0 0 0
1 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0
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 0 ]
B2=blkproc(B,[8 8],'P1.*x',mask) %只保留DCT变换的10个系数
I2=blkproc(B2,[8 8],'P1*x*P2',T',T) %重构图像
subplot(1,2,1)
imshow(I)
title('原始图像');
subplot(1,2,2)
imshow(I2);
title('压缩图像');
我这个程序也是改了后的,不过我运行过了,图片压缩效果都能出来,就是压缩比没有变小,我也不知道为什么,如果有人给决绝了麻烦通知一下,我邮箱[email protected]
Ⅱ 数字图像压缩技术
Ⅲ matlab中如何求图像的压缩比 (代码)
I为压缩前的图像数据,I1为压缩后的图像数据。
[m1
n1]=size(I1);
[m
n]=size(I);
t=m1*n1/(m*n);
那把你要求的压缩比公式写一下吧
Ⅳ 怎么用matlab把压缩成tiff
1.用matlab实现图像压缩时,如何将图片仿真
图像压缩是当今信息时代迫切需求的一门图像处理技术,它极大的减少了图像的数据量,为图像的存储,传输提供了方便。
小波变换,是一种广泛用于图像压缩的方法。它能让图像按不同的分辨率分析。
根据Mallat算法的思想,图像能分解成一个轮廓信号(低频子图)和水平,垂直,对角线三个方向上的细节信号(高频子图)。而轮廓信号又可以进一步分解。
而图像的主要能量部分是低频部分,而且人眼视觉系统对低频部分更为敏感,所以可以对低频部分采用较低压缩比;对高频部分采用较大压缩比来进行压缩。 本文提出的是一种结合小波变换,DCT变换和矢量量化的压缩方法。
根据人眼的视觉特性,首先对图像进行小波分解,然后,对低频分量进行压缩比不大的DCT变换;对不同方向不同分辨率的高频分量进行不同码字大小的矢量量化编码,然后对反变换和解码后的系数进行小波重构。矢量量化过程中的码书设计采用的是LBG算法。
这样,根据对图像质量的不同要求,我们可以改变小波分解的层数,来得到不同压缩比的图像。本篇论文只对小波分解一层和两层后压缩进行了仿真和分析,表明该方案结合了各种压缩方法的优点,在满足图像质量的同时能得到较大的压缩比。
目前,在包装装潢设计中常用的图形处理软件有Pho-toshop,CorelDraw,AutoCAD等。但是这些软件中很少涉及到对图像进行压缩处理,以满足图像进行传输和储存的需要。
基于这一点考虑,在此尝试着用MATLAB编程来处理包装装潢图像的压缩,实现包装与计算机的紧密结合。 1 MATLAB MATLAB是MathWorks公司推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图像显示于一体,它附带的小波分析工具箱功能强大,可以完成小波分析的绝大部分工作。
MATLAB工具箱的出现避免了程序设计中的重复性劳动,缩短了开发周期,降低了成本,因而受到工科院校师生和研究人员的青睐。 在介绍利用MATLAB小波工具压缩图像的文献中,总是将真彩色RGB图像转换为灰度级索引图像进行处理.经过这种处理以后,图像的存储数据能得到一定的压缩,但由压缩后的数据难以恢复成理想的彩色图像。
文中用MATLAB中有关函数处理图像压缩,而且由压缩后的数据可以还原出图像.实验结果表明,还原出的图像效果是理想的。文中主要以lena图像的处理为例,对它进行二进小波多层分解后,将低频和高频近似的系数矩阵作相应的处理,来研究用MATLAB中的小波工具箱压缩图像的方法。
2 图像压缩方法 在实际应用中,首先需要从图像文件中读取图像数据.MATLAB使用imreed()函数完这一任务.例如,在电脑D盘中有一彩色图像文件picl.jps,则可由下述语句读取: X=imread(′D:\picl.′); MATLAB图像处理工具箱支持4种基本图像类型:索引图像、灰度图像、二进制图像和RGB图像.MATLAB直接从图像文件中读取的图像为RGB图像.它存储在三维数组中。这个三维数组有3个面,依次对应子红(Red)、绿(Green)、蓝(Blue)3种颜色,而面中的数据则分别是这3种颜色的强度值,面中的元素对应于图像中的像素点。
索引图像数据包括图像矩阵X与颜色图数组map,其中颜色图map是按图像中颜色值进行排序后的数组。对于每个像素,图像矩阵X包含一个值,这个值就是颜色图数组map中的索引。
颜色图map为m*3双精度矩阵,各行分别指定红、绿、蓝(R、G、B)单色值,map=〔RGB〕,R、C、B为值域为〔0,1〕的实数值,m为索引图像包含的像素个数.然后可根据情况采用不同的小波函数,进行索引图像的分解压缩。这里对上面产生的索引图像X用dbl小波进行2层分解。
〔c,l〕=wavedec2(X,2,′dbl′)。 在这里,一个索引图像作小波分解后,可得到一系列不同分辨率的子图像,不同分辨率的子图像对应的频率是不相同的.高分辨率(即高频细节)子图像上大部分点的数值接近于0,越是高频这种现象越明显.对一个图像来说,表现一个图像最主要的部分是低频(即近似)部分。
多层小波分解的所有成分系数均保存在向量c中,低频近似与高频细节的系数需从向量C中提取。MATLAB分别使用appcoet2()和detcoef2()函数来完成这一工作。
这种方法是对低频和高频部分进行处理,因而提取低频和高频近似系数。 cAl=appcoef2(c,1,′dbl,′1);cH1=detcoef2(′h′,c,1,1); cDl=detcoef2(′d′,c,l,1);cVl=detcoef2(′v′,c,l,1)。
matlab实现离散余弦变换压缩(JPEG压缩原理) JPEG图像压缩算法: 输入图像被分成8*8或16*16的小块,然后对每一小块进行二维DCT(离散余弦变换)变换,变换后的系数量化、编码并传输; JPEG文件解码量化了的DCT系数,对每一块计算二维逆DCT变换,最后把结果块拼接成一个完整的图像。在DCT变换后舍弃那些不严重影响图像重构的接近0的系数。
DCT变换的特点是变换后图像大部分能量集中在左上角,因为左上放映原图像低频部分数据,右下反映原图像高频部分数据。而图像的能量通常集中在低频部分。
实例程序: function Jpeg I=imread('D:\MATLAB7\toolbox\images\imdemos\cameraman.tif'); %该图片在安装matlab的目录中找,原图为灰度图象 。
2.使用MATLAB图像压缩怎么做
I = imread('cameraman.tif'); % 输入图像
I = im2double(I); % 数据类型转换
T = dctmtx(8); % 计算二维离散DCT矩阵
dct = @(x)T * x * T'; % 设置函数句柄
B = blkproc(I,[8 8],dct); % 图像块处理
mask = [1 1 1 1 0 0 0 0 % 掩膜
1 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0
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 0];
B2 = blkproc(B,[8 8],@(x)mask.* x); % 图像块处理
invdct = @(x)T' * x * T; % 设置函数句柄
I2 = blkproc(B2,[8 8],invdct); % 图像块处理
imshow(I), figure, imshow(I2) % 显示原始图像和压缩重构图像
3.用matlab把11张tif图片做成一个连续动画
使用如下代码方式可以达到你想要的效果。
clear;
clc;
for i=2:50
c=strcat('a',num2str(i));%这里可以根据自己图片名字儿作相应的修改
c=strcat(c,'.bmp');
I=imread(c);
% I=rgb2gray(I)
figure(1);
imshow(I);
end
图片的保存方式如:a21.bmp,这样可以实现你的汽车动画。如果想要使用你的汽车图片做的话,请把汽车图片发给我,我帮你看看。
Ⅳ matlab中如何求图像的压缩比 (代码)
I=imread('文件名');
save Idata.mat
I1=whos('-file', 'Idata');
Bytes=I1.bytes; %原图大小
压缩图进行同样的操作,只要比较两个图像的Bytes就可以了吧
Ⅵ 图像压缩编码详细资料大全
图像压缩编码可分为两类:一类压缩是可逆的 ,即从压缩后的数据可以完全恢复原来的图像 ,信息没有损失 ,称为无损压缩编码;另一类压缩是不可逆的 ,即从压缩后的数据无法完全恢复原来的图像 ,信息有一定损失 ,称为有损压缩编码。
基本介绍
- 中文名 :图像压缩编码
- 性质 :压缩方式
- 编码方式 :MP图像档案格式等
- 来源 :电子领域
定义
在满足一定保真度的要求下,对图像数据的进行变换、编码和压缩,去除多余数据减少表示数字图像时需要的数据量,以便于图像的存储和传输。即以较少的数据量有损或无损地表示原来的像素矩阵的技术,也称图像编码.分类
图像压缩编码可分为两类:一类压缩是可逆的 ,即从压缩后的数据可以完全恢复原来的图像 ,信息没有损失 ,称为无嫌液损肢纯压缩编码;另一类压缩是不可逆的 ,即从压缩后的数据无法完全恢复原来的图像 ,信息有一定损失 ,称为有损压缩编码。基本途径
图像的数据量极大,必须对其数据总量大大压缩,才能够存储在直径12cm的光盘上。在实用技术上,可通过以下途径来压缩图像数据的总量。 1、采用亮度(Y)、色度(C)取样方式 2、将整幅图像分割为小区域进行分割处理 3、采用帧间和帧内数据压缩技术。几种编码比较
BMP图像档案格式 BMP是一种与硬体设备无关的图像档案格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP档案所占用的空间很大。BMP档案的图像深度可选lbit、4bit、8bit及24bit。BMP档案存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。由于BMP档案格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软体都支持BMP图像格式。典型的BMP图像档案由三部分组成:点阵图档案头数据结构,它包含BMP图像档案的类型、显示内容等信息;点阵图信息数据结构,它包含有BMP图像的宽、高、压芹饥物缩方法,以及定义颜色等信息。 PCX图像档案格式 PCX这种图像档案的形成是有一个发展过程的。最先的PCX雏形是出现在ZSOFT公司推出的名叫PC PAINBRUSH的用于绘画的商业软体包中。以后,微软公司将其移植到 Windows环境中,成为Windows系统中一个子功能。先在微软的Windows3.1中广泛套用,随着Windows的流行、升级,加之其强大的图像处理能力,使PCX同GIF、TIFF、BMP图像档案格式一起,被越来越多的图形图像软体工具所支持,也越来越得到人们的重视。PCX是最早支持彩色图像的一种档案格式,现在最高可以支持256种彩色,如图4-25所示,显示256色的彩色图像。PCX设计者很有眼光地超前引入了彩色图像档案格式,使之成为现在非常流行的图像档案格式。PCX图像档案由档案头和实际图像数据构成。档案头由128位元组组成,描述版本信息和图像显示设备的横向、纵向分辨率,以及调色板等信息:在实际图像数据中,表示图像数据类型和彩色类型。PCX图像档案中的数据都是用PCXREL技术压缩后的图像数据。 PCX是PC机画笔的图像档案格式。PCX的图像深度可选为l、4、8bit。由于这种档案格式出现较早,它不支持真彩色。PCX档案采用 RLE行程编码,档案体中存放的是压缩后的图像数据。因此,将采集到的图像数据写成PCX档案格式时,要对其进行RLE编码:而读取一个PCX档案时首先要对其进行RLE解码,才能进一步显示和处理。 TIFF图像档案格式 TIFF(TaglmageFileFormat)图像档案是由Als和Microsoft公司为桌上出版系统研制开发的一种较为通用的图像档案格式。TIFF格式灵活易变,它又定义了四类不同的格式:TIFF-B适用于二值图像:TIFF-G适用于黑白灰度图像;TIFF-P适用于带调色板的彩色图像:TIFF-R适用于RGB真彩图像。 TIFF支持多种编码方法,其中包括RGB无压缩、RLE压缩及JPEG压缩等。 TIFF是现存图像档案格式中最复杂的一种,它具有扩展性、方便性、可改性,可以提供给IBMPC等环境中运行、图像编辑程式。 TIFF图像档案由三个数据结构组成,分别为档案头、一个或多个称为IFD的包含标记指针的目录以及数据本身。 TIFF图像档案中的第一个数据结构称为图像档案头或IFH。这个结构是一个TIFF档案中唯一的、有固定位置的部分;IFD图像档案目录是一个位元组长度可变的信息块,Tag标记是TIFF档案的核心部分,在图像档案目录中定义了要用的所有图像参数,目录中的每一目录条目就包含图像的一个参数。 GIF档案格式 GIF(Graphics Interchange Format)的原义是“图像互换格式”,是CompuServe公司在 1987年开发的图像档案格式。GIF档案的数据,是一种基于LZW算法的连续色调的无损压缩格式。其压缩率一般在50%左右,它不属于任何应用程式。目前几乎所有相关软体都支持它,公共领域有大量的软体在使用GIF图像档案。 GIF图像档案的数据是经过压缩的,而且是采用了可变长度等压缩算法。所以GIF的图像深度从lbit到8bit,也即GIF最多支持256 种色彩的图像。GIF格式的另一个特点是其在一个GIF档案中可以存多幅彩色图像,如果把存于一个档案中的多幅图像数据逐幅读出并显示到萤幕上,就可构成一种最简单的动画。 GIF解码较快,因为采用隔行存放的GIF图像,在边解码边显示的时候可分成四遍扫描。第一遍扫描虽然只显示了整个图像的八分之一,第二遍的扫描后也只显示了1/4,但这已经把整幅图像的概貌显示出来了。在显示GIF图像时,隔行存放的图像会给您感觉到它的显示速度似乎要比其他图像快一些,这是隔行存放的优点。 JPEG档案格式 JPEG是Joint Photographic Experts Group(联合图像专家组)的缩写,档案后辍名为“.jpg”或“.jpeg”,是最常用的图像档案格式,由一个软体开发联合会组织制定,是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。尤其是使用过高的压缩比例,将使最终解压缩后恢复的图像质量明显降低,如果追求高品质图像,不宜采用过高压缩比例。但是JPEG压缩技术十分先进,它用有损压缩方式去除冗余的图像数据,在获得极高的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像品质。而且 JPEG是一种很灵活的格式,具有调节图像质量的功能,允许用不同的压缩比例对档案进行压缩,支持多种压缩级别,压缩比率通常在10:1到40:1之间,压缩比越大,品质就越低;相反地,压缩比越小,品质就越好。比如可以把1.37Mb的BMP点阵图档案压缩至20.3KB。当然也可以在图像质量和档案尺寸之间找到平衡点。JPEG格式压缩的主要是高频信息,对色彩的信息保留较好,适合套用于网际网路,可减少图像的传输时间,可以支持24bit真彩色,也普遍套用于需要连续色调的图像。 JPEG格式是目前网路上最流行的图像格式,是可以把档案压缩到最小的格式,在 Photoshop软体中以JPEG格式储存时,提供11级压缩级别,以0—10级表示。其中0级压缩比最高,图像品质最差。即使采用细节几乎无损的10 级质量保存时,压缩比也可达 5:1。以BMP格式保存时得到4.28MB图像档案,在采用JPG格式保存时,其档案仅为178KB,压缩比达到24:1。经过多次比较,采用第8级压缩为存储空间与图像质量兼得的最佳比例。 JPEG格式的套用非常广泛,特别是在网路和光盘读物上,都能找到它的身影。目前各类浏览器均支持JPEG这种图像格式,因为JPEG格式的档案尺寸较小,下载速度快。 JPEG2000作为JPEG的升级版,其压缩率比JPEG高约30%左右,同时支持有损和无损压缩。JPEG2000格式有一个极其重要的特征在于它能实现渐进传输,即先传输图像的轮廓,然后逐步传输数据,不断提高图像质量,让图像由朦胧到清晰显示。此外,JPEG2000还支持所谓的“感兴趣区域”特性,可以任意指定影像上感兴趣区域的压缩质量,还可以选择指定的部分先解压缩。 JPEG2000和JPEG相比优势明显,且向下兼容,因此可取代传统的JPEG格式。JPEG2000即可套用于传统的JPEG市场,如扫瞄器、数位相机等,又可套用于新兴领域,如网路传输、无线通讯等等。 TGA格式 TGA格式(Tagged Graphics)是由美国Truevision公司为其显示卡开发的一种图像档案格式,档案后缀为“.tga”,已被国际上的图形、图像工业所接受。 TGA的结构比较简单,属于一种图形、图像数据的通用格式,在多媒体领域有很大影响,是计算机生成图像向电视转换的一种首选格式。TGA图像格式最大的特点是可以做出不规则形状的图形、图像档案,一般图形、图像档案都为四方形,若需要有圆形、菱形甚至是缕空的图像档案时,TGA可就派上用场了! TGA格式支持压缩,使用不失真的压缩算法。 EXIF格式 EXIF的格式是1994年富士公司提倡的数位相机图像档案格式,其实与JPEG格式相同,区别是除保存图像数据外,还能够存储摄影日期、使用光圈、快门、闪光灯数据等曝光资料和附带信息以及小尺寸图像。 FPX图像档案格式 FPX图像档案格式(扩展名为fpx)是由柯达、微软、HP及Live PictureInc联合研制,并于1996年6月正式发表,FPX是一个拥有多重分辨率的影像格式,即影像被储存成一系列高低不同的分辩率,这种格式的好处是当影像被放大时仍可维持影像的质素,另外,当修饰FPX影像时,只会处理被修饰的部分,不会把整幅影像一并处理,从而减小处理器及记忆体的负担,使影像处理时间减少。 SVG格式 SVG是可缩放的矢量图形格式。它是一种开放标准的矢量图形语言,可任意放大图形显示,边缘异常清晰,文字在SVG图像中保留可编辑和可搜寻的状态,没有字型的限制,生成的档案很小,下载很快,十分适合用于设计高分辨率的Web图形页面。 PSD档案格式 这是Photoshop图像处理软体的专用档案格式,档案扩展名是.psd,可以支持图层、通道、蒙板和不同色彩模式的各种图像特征,是一种非压缩的原始档案保存格式。扫瞄器不能直接生成该种格式的档案。PSD档案有时容量会很大,但由于可以保留所有原始信息,在图像处理中对于尚未制作完成的图像,选用PSD格式保存是最佳的选择。 十一、CDR档案格式 CDR格式是着名绘图软体CorelDRAW的专用图形档案格式。由于CorelDRAW是矢量图形绘制软体,所以CDR可以记录档案的属性、位置和分页等。但它在兼容度上比较差,所有CorelDraw应用程式中均能够使用,但其他图像编辑软体打不开此类档案。 十二、PCD档案格式 PCD是Kodak PhotoCD的缩写,档案扩展名是.pod,是Kodak开发的一种Photo CD档案格式,其他软体系统只能对其进行读取。该格式使用YCC色彩模式定义图像中的色彩。YCC和CIE色彩空间包含比显示器和打印设备的RGB色和 CMYK色多得多的色彩。PhotoCD图像大多具有非常高的质量。 十三、DXF档案格式 DXF是Drawing Exchange Format的缩写,扩展名是.dxf,是AutoCAD中的图形档案格式,它以ASCII方式储存图形,在表现图形的大小方面十分精确,可被CorelDraw和3DS等大型软体调用编辑。 十四、UFO档案格式 它是着名图像编辑软体Ulead Photolmapct的专用图像格式,能够完整地记录所有 Photolmapct处理过的图像属性。值得一提的是,UFO档案以对象来代替图层记录图像信息。 十五、EPS档案格式 EPS是Encapsulated PostScript的缩写,是跨平台的标准格式,扩展名在PC平台上是.eps,在Macintosh平台上是.epsf,主要用于矢量图像和光栅图像的存储。EPS格式采用 PostScript语言进行描述,并且可以保存其他一些类型信息,例如多色调曲线、Alpha通道、分色、剪辑路径、挂网信息和色调曲线等,因此EPS 格式常用于印刷或打印输出。Photoshop中的多个EPS格式选项可以实现印刷打印的综合控制,在某些情况下甚至优于TIFF格式。 十六、PNG图像档案格式 PNG(Portable Neorf Graphics)的原名称为“可移植性网路图像”,是网上接受的最新图像档案格式。PNG能够提供长度比GIF小30%的无损压缩图像档案。它同时提供 24位和48位真彩色图像支持以及其他诸多技术性支持。由于PNG非常新,所以目前并不是所有的程式都可以用它来存储图像档案,但Photoshop可以处理PNG图像档案,也可以用PNG图像档案格式存储。