数字图像处理实验报告图像压缩

合集下载

数字图像处理 实验八 图像变换压缩编码

数字图像处理 实验八 图像变换压缩编码

实验八图像变换压缩编码一,实验目的:1,掌握变换压缩编码的原理与方法2,了解有损压缩图像质量评价的指标二,实验条件1,MATLAB软件2,典型的灰度,彩色图像。

三,实验原理1,去除数据冗余度可以有效地压缩数据2,图像编码压缩的主要技术指标:压缩比,客观评价SNR,主观评价四,实验内容1,以DCT变换为例,采用标准亮度量化表,得有损压缩的变换值,计算并显示其直方图2,采用标准量化表将上述变换值反量化回去后用IDCT变换回图像,比较并计算压缩前后图像的差异(MSE,PSNR等)3,根据由1计算得到的直方图试判断采用Huffman编码的平均码长。

五,实验步骤1,以DCT变换为例,采用标准亮度量化表,得有损压缩的变换值,计算并显示其直方图(1)代码如下所示I=imread('a.jpg');J=rgb2gray(I);J=imresize(J,[512 512]);%imshow(J);A=zeros(8,8);B=zeros(512,512);lighttable=... %标准亮度量化表[16 11 10 16 24 40 51 61,12 12 14 19 26 58 60 55,14 13 16 24 40 57 69 56,14 17 22 29 51 87 80 62,18 22 37 56 68 109 103 77,24 35 55 64 81 104 113 92,49 64 78 87 103 121 120 101,72 92 95 98 112 100 103 99];for i=1:64 %用i,j来控制子块for j=1:64for m=(8*(i-1)+1):8*ifor n=(8*(j-1)+1):8*jA(m-(8*(i-1)+1)+1,n-(8*(j-1)+1)+1)=J(m,n);%提取8*8子块endendC1=dct2(A); %对子块进行dct2变换C2=round(C1./lighttable); %将C1进行量化,并取整for p=1:8 %将子块按序存进512*512的矩阵中for q=1:8B(p+8*(i-1),q+8*(j-1))=C2(p,q);endendendendH=zeros(1,256*2-1);for i=1:mfor j=1:nH(B(i,j)+255)=H(B(i,j)+255)+1; %统计各值概率endendX=[-255:255];plot(X,H); %绘制坐标为-255—255的直方图(2)直方图如下所示-300-200-100010020030000.511.522.552,采用标准量化表将上述变换值反量化回去后用IDCT 变换回图像,比较并计算压缩前后图像的差异(MSE ,PSNR 等)(1)代码如下所示for i=1:64 %用i ,j 来控制子块for j=1:64for m=(8*(i-1)+1):8*ifor n=(8*(j-1)+1):8*jA(m-(8*(i-1)+1)+1,n-(8*(j-1)+1)+1)=B(m,n);endendC3=A.*lighttable; %将子块反量化回去C4=idct2(C3); %对C3进行IDCT 变换for p=1:8for q=1:8D(p+8*(i-1),q+8*(j-1))=C4(p,q);endendendendD=uint8(D);subplot(1,2,1),imshow(J);subplot(1,2,2),imshow(D);%计算J 和D 均方根误差e = double(J) - double(D);[m, n] = size(e);MSE = sqrt(sum(sum(e.^2))/(m*n));k = 8;%k为图像是表示地个像素点所用的二进制位数,即位深。

数字图像处理与图像压缩算法研究

数字图像处理与图像压缩算法研究

数字图像处理与图像压缩算法研究第一章引言数字图像处理技术是一门研究如何对图像进行精确分析与处理的学科,而图像压缩算法则是对图像进行编码压缩以减小存储空间和传输带宽的技术。

本章将介绍数字图像处理和图像压缩算法的背景与意义,并给出本文的研究目的和结构。

第二章数字图像处理2.1 数字图像基本概念数字图像是通过采用离散采样和量化方法将连续的光信号转化为离散的数字信号所得到的图像。

在数字图像处理中,需要了解图像的基本概念,如像素、分辨率、灰度等。

2.2 数字图像处理方法数字图像处理方法包括图像增强、图像恢复、图像压缩和图像分析等。

图像增强旨在改善图像的质量,如增加图像的对比度、降噪等。

图像恢复是通过模型和算法对损坏的图像进行修复。

图像压缩是将图像编码成更小的表示形式,以减小存储空间和传输带宽。

图像分析则是通过计算机视觉技术对图像进行理解和分析。

第三章图像压缩算法3.1 图像压缩的原理图像压缩的目标是尽可能地减小图像所占空间,同时保持原始图像的质量。

常见的图像压缩算法可以分为有损压缩和无损压缩两类。

有损压缩算法通过牺牲一定的图像信息来达到更高的压缩比,而无损压缩算法则通过编码技术实现无失真的图像压缩。

3.2 有损压缩算法有损压缩算法中,离散余弦变换(DCT)和小波变换是常用的方法。

离散余弦变换将图像转换到频域,通过量化等方法丢弃一部分高频分量来实现压缩。

小波变换则将图像分解为低频和高频子图像,通过对高频子图像进行量化和编码实现压缩。

3.3 无损压缩算法无损压缩算法中,无损预测编码(Lossless Predictive Coding)和无损图像压缩标准(Lossless Image Compression Standard,简称“LZW”)是常用的方法。

无损预测编码通过预测和编码差值的方式实现无损压缩。

LZW算法则通过建立字典对图像中的像素序列进行编码和解码。

第四章实验与结果分析为验证图像压缩算法的效果,本文选取了一组测试图像,分别采用有损压缩算法和无损压缩算法进行压缩,并进行压缩比、信噪比、图像质量等指标的评估。

数字图像处理中的图像压缩算法研究

数字图像处理中的图像压缩算法研究

数字图像处理中的图像压缩算法研究随着数字媒体技术的不断发展,数字图像处理已经成为了重要的研究领域之一。

在数字图像处理中,图像压缩算法是其中非常重要的一个研究方向。

图像压缩算法的目的是降低图像数据的冗余度,从而可以用更少的存储空间来存储图像数据,同时减少图像数据的传输时间,使得图像在网络传输和存储时具有更好的效果。

图像压缩算法主要分为无损压缩和有损压缩两种类型。

无损压缩能够完全恢复原始图像,而有损压缩则只能以一定的误差恢复原始图像。

根据压缩的方法又可以分为基于熵编码的压缩和基于变换的压缩两种。

基于熵编码的图像压缩算法包括哈夫曼编码、算术编码等方法。

其中,哈夫曼编码是最为常见的一种方法。

哈夫曼编码是一种无损数据压缩算法,通过统计文本中各个字符出现的频率,将出现频率较高的字符用较短的编码表示,出现频率较低的字符用较长的编码表示,从而达到文本压缩的目的。

在图像压缩中,可以将图像分成若干大小不等的块,然后对每个块进行哈夫曼编码压缩,最后将所有块的编码结果拼接起来进行存储。

虽然哈夫曼编码是一种非常高效的压缩算法,但是由于它需要对数据进行全局扫描,因此它的计算时间是比较长的。

基于变换的图像压缩算法包括离散余弦变换(DCT)和离散小波变换(DWT)等方法。

离散余弦变换是一种用于信号处理和数据压缩的重要数学工具,它将时间域的信号转换为频域的信号。

在图像压缩中,我们可以采用DCT将图像分解为多个小块,然后将每个小块的高频分量截掉,只保留低频分量,最后将所有低频分量结果合并起来,从而获得压缩后的图像。

由于DCT算法只需要对数据进行局部变换,因此计算效率比哈夫曼编码高得多。

离散小波变换也是一种用于图像压缩的重要数学工具,它在图像处理中得到广泛应用。

离散小波变换可以将图像分解成一系列小波块,并将高频分量和低频分量分别表示,然后将高频分量舍去,只保留低频分量,最后将所有低频分量结果合并起来,从而实现压缩。

在图像压缩中,DWT的计算速度比DCT更快。

数字图像处理中的图像压缩技术研究

数字图像处理中的图像压缩技术研究

数字图像处理中的图像压缩技术研究数字图像处理是指通过计算机技术对图像进行处理和分析,其中图像压缩技术是数字图像处理领域中的一个重要分支。

图像压缩技术的作用是将图像压缩成较小的数据量,方便图像的传输和存储。

本文将详细介绍数字图像处理中的图像压缩技术的研究。

一、图像压缩的概念图像压缩是指通过一定的技术手段将图像的数据量进行压缩,从而减小图像的体积,达到方便传输和存储的目的。

图像压缩主要分为有损压缩和无损压缩两种方式。

无损压缩是指在压缩图像的同时,不会对图像的质量造成影响,可以完全还原出原始的图像。

而有损压缩则是在压缩图像的过程中,会对图像的质量进行一定程度上的损失,但是压缩后的图像数据量会大大降低。

二、图像压缩技术的应用图像压缩技术在数字图像处理中有着广泛的应用。

首先,在图像的传输和存储过程中,若图像数据量过大,会导致传输时间长和存储空间不足等问题,将图像压缩后可以解决这些问题。

其次,在数字影像处理、电子商务、医学影像、视频会议等领域也有着重要的应用。

三、无损压缩技术1. Run-length Encoding (RLE)Run-length Encoding是一种基于像素行的无损压缩技术,它通过对图像中像素出现的连续长度进行编码来达到压缩图像的目的。

当像素值连续出现时,RLE算法只需要储存一个出现的值和像素值的个数,从而达到降低图像数据量的目的。

2. Huffman encodingHuffman encoding是一种基于概率的无损压缩技术,它可以通过编码表来描述图像中出现的像素。

在Huffman encoding中,出现频率较高的像素会使用较短的编码,而出现频率较低的像素则会使用较长的编码。

四、有损压缩技术1. Discrete Cosine Transform(DCT)DCT是一种基于频域的图像压缩方法,实现图像的有损压缩。

该方法将图像通过预处理分为不同的块,对每个块进行离散余弦变换,从而达到较好的压缩效果。

数字图像处理技术-图像压缩

数字图像处理技术-图像压缩

实验六图像压缩课程名称:数字图像处理技术实验日期:2016-11-17班级:姓名:学号:一、实验目的1.了解图像压缩的基本操作;2.掌握行程编码算法、哈夫曼编码算法;3. 掌握边缘检测的Matlab实现方法。

二、实验内容1. 在GUI中,实现灰度图像、彩色图像的行程编码的编码器算法;进一步实现行程编码的解码器算法,并比较原图像和解码图像是否有区别。

2. 在GUI中,实现图像的边缘检测, 比较'roberts','sobel',算子的检测效果。

三、实验代码function axes1_CreateFcn(hObject, eventdata, handles)% hObject handle to axes1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called imshow('1.jpg')% Hint: place code in OpeningFcn to populate axes1% --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)figure;A=imread('1.jpg');image1=rgb2gray(A);subplot(2,2,1);imshow(image1);image2=image1(:);image2length=length(image2);for i=1:1:image2lengthif image2(i)>=127image2(i)=255;elseimage2(i)=0;endendimage3=reshape(image2,320,240);subplot(2,2,2);imshow(image3);X=image3(:);x=1:1:length(X);plot(x,X(x));j=1;image4(1)=1;for z=1:1:(length(X)-1)if X(z)==X(z+1)image4(j)=image4(j)+1;elsedata(j)=X(z);j=j+1;image4(j)=1;endenddata(j)=X(length(X));image4length=length(image4);y=1:1:image4length;plot(y,image4(y));CR=image2length/image4length;l=1;for m=1:image4lengthfor n=1:1:image4(m);rec_image(l)=data(m);l=l+1;endendu=1:1:length(rec_image);plot(u,rec_image(u));rec2_image=reshape(rec_image,320,240);subplot(2,2,3);imshow(rec2_image);% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) figure;clear all;I1=imread('1.jpg');I2=im2bw(I1,0.5);I3=I2(:)';I3len=length(I3);j=1;n=1;for z=1:(I3len-1)if I3(z)==I3(z+1)n=n+1;elsepixel(j)=I3(z);numpixel(j)=n;j=j+1;n=1;endendpixel(j)=I3(z+1);numpixel(j)=n;pixel_len=length(pixel);CR=I3len/pixel_len;disp('压缩比:')disp(CR);disp('原图像数据的长度:')disp(I3len);disp('压缩后图像数据的长度:')disp(pixel_len);% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) figure;A=imread('095.jpg');image1=rgb2gray(A);figure;imshow(image1);image2=image1(:);image2length=length(image2);for i=1:1:image2lengthif image2(i)>=127image2(i)=255;elseimage2(i)=0;endendimage3=reshape(image2,1360,1020);figure;imshow(image3);X=image3(:);x=1:1:length(X);figure;plot(x,X(x));j=1;image4(1)=1;for z=1:1:(length(X)-1)if X(z)==X(z+1)image4(j)=image4(j)+1;elsedata(j)=X(z);j=j+1;image4(j)=1;endenddata(j)=X(length(X));image4length=length(image4);y=1:1:image4length ;figure;plot(y,image4(y));CR=image2length/image4length;l=1;for m=1:image4lengthfor n=1:1:image4(m);rec_image(l)=data(m);l=l+1;endendu=1:1:length(rec_image);figure;plot(u,rec_image(u));rec2_image=reshape(rec_image,1360,1020);figure;imshow(rec2_image);% --- Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) figure;A=imread('1.jpg');image1=rgb2gray(A);figure;imshow(image1);image2=image1(:);image2length=length(image2);for i=1:1:image2lengthif image2(i)>=127image2(i)=255;image2(i)=0;endendimage3=reshape(image2,320,240);figure;imshow(image3);X=image3(:);x=1:1:length(X);figure;plot(x,X(x));j=1;image4(1)=1;for z=1:1:(length(X)-1)if X(z)==X(z+1)image4(j)=image4(j)+1;elsedata(j)=X(z);j=j+1;image4(j)=1;endenddata(j)=X(length(X));image4length=length(image4);y=1:1:image4length ;figure;plot(y,image4(y));CR=image2length/image4length;l=1;for m=1:image4lengthfor n=1:1:image4(m);rec_image(l)=data(m);l=l+1;endendu=1:1:length(rec_image);figure;plot(u,rec_image(u));rec2_image=reshape(rec_image,320,240);figure;imshow(rec2_image);% --- Executes on button press in pushbutton4.% --- Executes on button press in pushbutton5.function pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)f=imread('1.jpg');u=rgb2gray(f);F=double(f);U=double(u);[H,W]=size(u);uSobel=u;for i=2:H-1for j=2:W-1Gx=(U(i+1,j-1)+2*U(i+1,j)+F(i+1,j+1))-(U(i-1,j-1)+2*U(i-1,j)+F(i-1,j+ 1));Gy=(U(i-1,j+1)+2*U(i,j+1)+F(i+1,j+1))-(U(i-1,j-1)+2*U(i,j-1)+F(i+1,j-1));uSobel(i,j)=sqrt(Gx^2+Gy^2);endendsubplot(2,2,1);imshow(f);title('原图像');subplot(2,2,4);imshow(im2uint8(uSobel));title('Sobel图像');% --- Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)figure;I=imread('1.jpg');I1=rgb2gray(I);subplot(2,2,1);imshow(I1);h1=[1 0;0 -1];B1=imfilter(I1,h1);h2=[0 1;-1 0];B2=imfilter(I1,h2);B3=B1+B2;subplot(2,2,4);imshow(B3);title('Roberts图像');四、实验结果截图五、实验体会借鉴老师的代码写,甚是有趣。

《数字图像处理》实验报告

《数字图像处理》实验报告

《数字图像处理》实验报告数字图像处理是一门将图像进行数字化处理的学科,它通过计算机算法和技术手段对图像进行分析、增强、压缩和重建等操作。

在本次实验中,我们学习了数字图像处理的基本概念和常用算法,并通过实验来探索其应用和效果。

首先,我们进行了图像的读取和显示实验。

通过使用Python中的OpenCV库,我们能够轻松地读取图像文件,并将其显示在屏幕上。

这为我们后续的实验奠定了基础。

同时,我们还学习了图像的像素表示方法,了解了图像由像素点组成的原理。

这使我们能够更好地理解后续实验中的算法和操作。

接下来,我们进行了图像的灰度化实验。

灰度化是将彩色图像转换为灰度图像的过程。

在实验中,我们使用了不同的算法来实现灰度化操作,包括平均值法、最大值法和加权平均法等。

通过比较不同算法得到的灰度图像,我们发现不同算法对图像的处理效果有所差异,这使我们深入理解了灰度化的原理和应用。

随后,我们进行了图像的直方图均衡化实验。

直方图均衡化是一种用于增强图像对比度的方法。

在实验中,我们使用了直方图均衡化算法来对图像进行处理,并观察了处理前后的效果变化。

通过实验,我们发现直方图均衡化能够显著提高图像的对比度,使图像更加清晰和鲜明。

在进一步探索图像处理技术的过程中,我们进行了图像的滤波实验。

滤波是一种常用的图像处理操作,它通过对图像进行卷积操作来实现。

在实验中,我们学习了不同类型的滤波器,包括均值滤波器、高斯滤波器和中值滤波器等。

通过比较不同滤波器对图像的处理效果,我们发现每种滤波器都有其适用的场景和效果。

此外,我们还进行了图像的边缘检测实验。

边缘检测是一种用于提取图像边缘信息的方法。

在实验中,我们学习了不同的边缘检测算法,包括Sobel算子、Canny算子和Laplacian算子等。

通过比较不同算法对图像的处理效果,我们发现每种算法都有其独特的特点和应用。

最后,我们进行了图像的压缩实验。

图像压缩是一种将图像数据进行压缩以减小文件大小的方法。

数字图像处理 图像压缩

数字图像处理 图像压缩

实验报告实验名称实验二图像压缩课程名称数字图像处理A姓名成绩班级学号日期地点(1)掌握离散余弦变换DCT的实现方法,了解DCT的幅度分布特性,从而加深对DCT 变换的认识;(2)掌握图像DCT变换编码的实现方法,从而加深对变换编码压缩图像原理的理解;(3)使用DCT变换编码编写程序实现图像压缩;2.实验环境(软件条件)Windws2000/XPMATLAB 7.03.实验方法根据如图2.1所示的典型变换编码系统,采用DCT变换对256×256大小、256级灰度的数字图像lena.bmp(如图2.2所示)进行如下处理:图2.1 典型变换编码系统图2.2 实验图像lena.bmp(1)对图像进行8×8分块处理并作DCT变换,观察图像8×8子块的DCT系数的分布,并分析其特点;(2)对DCT系数进行量化及反量化处理,求反量化系数的逆DCT变换,重新显示重建图像、误差图像和误差图像的直方图;(3)将量化步长分别增大为初始值的2倍、4倍、8倍后再进行DCT变换编码,显示不同量化步长条件下的重建图像、误差图像以及误差图像的直方图。

分析重建图像质量和量化步长的关系。

结果图原图像经dct 变化的图像对经DCT 变化后的图像进行量化反量化的图像050100150200250200040006000原图像经dct 变化的图像对经DCT 变化后的图像进行量化反量化的图像05010015020025020004000原图像经dct 变化的图像对经DCT 变化后的图像进行量化反量化的图像05010015020025020004000原图像经dct 变化的图像对经DCT 变化后的图像进行量化反量化的图像050100150200250200040005.实验结论结果图离散余弦变换的变换核为余弦函数。

余弦变换除了具有一般的正交变换性质外,它的变换矩阵的基向量能较好的描述图像信号和人类语音信号的相关特征,因此被应用与图像压缩编码的语音信号处理等领域。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告引言数字图像处理是一门研究如何对图像进行数字化处理的学科,它的应用广泛,涵盖了图像的获取、增强、压缩、分割等多个方面。

本次实验旨在探索数字图像处理的基本原理和常用技术,并通过实践操作加深对数字图像处理的理解。

实验目的1.学习掌握数字图像处理的基本原理;2.熟悉常用的数字图像处理工具和方法;3.实践应用数字图像处理技术解决实际问题。

实验环境在本次实验中,我们使用了以下环境和工具:- 操作系统:Windows 10 - 编程语言:Python - 图像处理库:OpenCV实验步骤步骤一:图像获取与显示首先,我们需要获取一张待处理的图像,并对其进行显示。

在Python中,我们可以使用OpenCV库来实现图像的读取和显示。

以下是示例代码:import cv2# 读取图像image = cv2.imread('image.jpg')# 显示图像cv2.imshow('Image', image)cv2.waitKey(0)cv2.destroyAllWindows()步骤二:图像增强图像增强是数字图像处理中常用的技术之一,旨在改善图像的质量和可视化效果。

常见的图像增强技术包括灰度转换、直方图均衡化、滤波器等。

以下是示例代码:import cv2# 读取图像image = cv2.imread('image.jpg')# 灰度转换gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GR AY)# 直方图均衡化equalized_image = cv2.equalizeHist(gray_image)# 高斯滤波器blurred_image = cv2.GaussianBlur(equalized_image, (5, 5), 0)# 边缘增强enhanced_image = cv2.Canny(blurred_image, 100, 20 0)# 显示图像cv2.imshow('Enhanced Image', enhanced_image)cv2.waitKey(0)cv2.destroyAllWindows()步骤三:图像压缩图像压缩是数字图像处理中的重要话题,旨在减少图像的存储空间和传输带宽。

数字图像处理实验报告

数字图像处理实验报告

[键入公司名称]数字图像处理实验报告班级:姓名:学号:目录实验一:matlab数字图像处理初步 (3)一.实验目的 (3)二.实验内容 (3)三.实验步骤 (3)实验二:图像的傅立叶变换 (7)一.实验目的 (7)二.实验原理 (7)三.实验内容 (8)四.实验步骤 (8)实验三:数字图像的频域滤波 (9)一.实验目的 (9)二.实验原理 (9)三.实验内容 (10)四.实验步骤 (11)实验四:图象旋转 (14)一.实验目的 (14)二.实验原理 (14)三.实验内容 (14)四.实验步骤 (14)实验五: 图象压缩 (16)一. 实验目的 (16)二.实验内容 (16)二.实验步骤 (16)实验一:matlab数字图像处理初步一.实验目的1、学习在matlab环境下对图像文件的I/O操作,为读取各种格式的图像文件和后续进行图像处理打下基础2、熟悉matlab操作环境3、熟悉matlab的一些指令语句二.实验内容利用matlab为用户提供的专门函数从图像格式的文件中读/写图像数据、显示图像,以及查询图像文件的信息三.实验步骤1、利用imshow显示MATLAB自带的图像在控制台输入>> I=imread('H:\a.bmp');>> imshow(I)弹出窗口显示图像2、用(imfinfo)功能得到图像的相关信息;>> info=imfinfo('autumn.tif');>> info结果为Filename: Filename: 'D:\MATLAB7\toolbox\images\imdemos\autumn.tif' FileModDate: '04-Dec-2000 21:57:54'FileSize: 213642Format: 'tif'FormatVersion: []Width: 345Height: 206BitDepth: 24ColorType: 'truecolor'FormatSignature: [73 73 42 0]ByteOrder: 'little-endian'NewSubfileType: 0BitsPerSample: [8 8 8]Compression: 'Uncompressed'PhotometricInterpretation: 'RGB'StripOffsets: [30x1 double]SamplesPerPixel: 3RowsPerStrip: 7StripByteCounts: [30x1 double]XResolution: 72YResolution: 72ResolutionUnit: 'Inch'Colormap: []PlanarConfiguration: 'Chunky'TileWidth: []TileLength: []TileOffsets: []TileByteCounts: []Orientation: 1FillOrder: 1GrayResponseUnit: 0.0100MaxSampleValue: [255 255 255]MinSampleValue: 0Thresholding: 13、利用显示颜色条功能(colorbar)在图像的左边画一条颜色亮度显示条>> colorbar(I)显示结果为4、读取一幅RGB彩色图像,将其转换为灰度图像,并在同一窗口显示原图>>RGB=imread('autumn.tif'); [m,n,p]=size(RGB) ; %矩阵大小>>I=rgb2gray(RGB) ; % 真彩色图像转换为灰度图像>>I1=im2bw(I) ; % 灰色图像二值画>>I2=~I1; %对二值图像取反>>subplot(1,2,1),imshow(RGB); >>subplot(1,2,2),imshow(I); >>figure % 新建个图形窗口>>subplot(1,3,1),imshow(I); >>subplot(1,3,2),imshow(I1); >>subplot(1,3,3),imshow(I2); 结果为:实验二:图像的傅立叶变换一.实验目的1、理解离散傅立叶变换的基本原理2、掌握应用MATLAB语言进行FFT及逆变换的方法二.实验原理Matlab 函数 fft、fft2 和 fftn 分别可以实现一维、二维和 N 维 DFT 算法;而函数 ifft、ifft2 和 ifftn 则用来计算反 DFT 。

实验六 图像DCT变换编码压缩报告

实验六  图像DCT变换编码压缩报告

实验课程名称数字图像处理实验项目名称图像DCT变换编码压缩年级 2010专业光信 101学生姓名肖明进学号 1007010124理学院实验时间:20 13 年5月 9日学院:理学院专业:光信班级:光信101姓名肖明进学号1007010124 实验组实验时间2013-5-9 指导教师徐锦成绩实验项目名称图像DCT变换编码压缩实验目的及要求:1.掌握离散余弦变换DCT的实验方法,了解DCT的幅度分布特性,从而加深对DCT变换的认识。

2.掌握图像DCT变换编码的实现方法,从而加深对变换编码压缩图像原理的理解。

实验原理:MATLAB图像处理工具箱实现离散余弦变换有两种方法:1.使用函数DCT2,该函数用一个基于FFT的算法,用来提高对输入较大的时的计算速度。

2.使用DCTMTX函数返回的DCT变换矩阵,这种方法适合于较小的输入方阵(例如:8*8或16*16).为了实现8*8子块的DCT图像变换,需要用到MATLAB中的BLKPROC函数。

将这个函数和函数DCTMTX一起用于块处理可以大大简化运算。

以上函数用MATLAB的help查看具体使用方法。

实验内容:编程实现图像DCT变换编码。

实验步骤:(源程序参考书中P171—172的例子)1.设置压缩比2.求8*8块的DCT变换矩阵3.计算8*8块的DCT变换4.对DCT系数量化和反量化5.求反量化系数(或称截取后的系数)的逆DCT变换6.显示原始图像、压缩后图像、误差图像(两图相减的结果)数据记录及处理:1.源程序:cr=0.5;initialimage=imread('lena512.bmp');initialimage=double(initialimage)/255;figure(1);subplot(1,3,1);imshow(initialimage);title('原图像');t=dctmtx(8);dctcoe=blkproc(initialimage,[8 8],'P1*x*P2',t,t'); coevar=im2col(dctcoe,[8 8],'distinct');coe=coevar;[y,ind]=sort(coevar);[m,n]=size(coevar);snum=64-64*cr;for i=1:ncoe(ind(1:snum),i)=0;endb2=col2im(coe,[8 8],[512 512],'distinct');i2=blkproc(b2,[8 8],'P1*x*P2',t',t);subplot(1,3,2);imshow(i2);title('压缩后图像');e=double(initialimage)-double(i2);[m,n]=size(e);erms=sqrt(sum(e(:).^2)/(n*m));subplot(1,3,3);imshow(e);title('误差图像');结果图:思考题:1.图像变换编码中为什么要对图像进行分块?答:1.小块图像的变换计算容易;2.距离较远的像素之间的相关性比距离较近的像素之间的相关性小。

数字图像处理实验5 图像压缩

数字图像处理实验5 图像压缩

实验5 图像压缩一.实验目的:1.掌握图像压缩的原理——编码冗余,压缩比C R的计算等。

2.了解并掌握霍夫曼编码的原理、实现步骤。

3.掌握JPEG标准——通用的图像压缩/解压缩编码标准。

二.实验内容:1.利用已给出的MATLAB自编函数库matlab_function文件夹,实现压缩比的计算。

2.对信号源符进行霍夫曼编码,以消除信源的冗余数据。

3.练习JPEG标准的压缩/解压缩技术。

三.实验原理:1.图像压缩比C R的计算函数imratio(f1, f2),计算图像压缩比C R,该函数来自MATLAB自编函数库matlab_function文件夹,语法如下:imratio(imread(‘filename’), ‘filename.jpg’)//第二个参数‘filename.jpg’仅是文件名,实际上是一个结构,内含压缩//后的各种压缩信息,并不代表图像本身>>f = imread(‘E:\医学图像处理实验讲义\实验五\car_lady.jpg’)>>imfinfo E:\医学图像处理实验讲义\实验五\car_lady.jpg//查看图像文件的详细信息>>imwrite(f, ‘car_lady25.jpg’, ‘quality’, 25)//将压缩后的图像存到MATLAB默认路径中>>imfinfo car_lady25.jpg//可依据图像信息计算出压缩率>>f25 = imread(‘car_lady25.jpg’)>>Cr = imratio (f25, ‘car_lady25.jpg’)2.霍夫曼编码符号概率a1 0.1875a2 0.5a3 0.125a4 0.1875函数huffman(p)进行霍夫曼编码,语法:huffman(p) //p为向量符号>>p = [0.1875 0.5 0.125 0.1875]>>c = huffman(p)使用函数mat2huff(‘filename’)对图像进行编码,验证霍夫曼编码压缩的性能。

图像压缩算法技术实验研究报告

图像压缩算法技术实验研究报告

图像压缩算法技术实验研究报告一、设计内容及研究意义设计的内容:本论文的主要研究内容是图像压缩技术。

具体框架是首先介绍了图像压缩的基本原理以及其相关压缩方法分类等理论知识,并且说明了对图像进行压缩的必要性与重要性,然后针对目前图像压缩现状和发展趋势,着重介绍了小波变换,并以其为基础来进行数字图像的压缩处理,这也许会成为图像数据压缩的主要技术之一。

接着又根据相关知识编写了一些简单的图像处理程序,对前面的理论进行试验、分析、论证。

最后,对整篇论文进行总结,发现自身研究的不足,并展望其未来发展前景研究意义:图像信息给人们以直观、生动的形象,正成为人们获取外部信息的重要途径。

然而,数字图像具有极大的数据量,在目前的计算机系统的条件下,要想实时处理,若图像信息不经过压缩,则会占用信道宽,是传输成本变得昂贵,传输速率变慢。

这对图像存储、传输及使用都非常不利,同时也阻碍了人们对图像的有效获取和使用。

另外,伴随着计算机科学技术的发展,图像压缩技术在通信系统和多媒体系统中的重要性也越来越高,在我们的学习、生产、生活以及国防事物中等的作用越来越显著。

为此,人们给予了图像压缩技术广泛的关注,如何用尽量少的数据量来表示图像信息,即对图像进行压缩,越来越成为图像研究领域的重点课题。

二、设计研究现状和发展趋势研究现状:第一代图像压缩编码的研究工作是从上个世纪50年代提出电视信号数字后开始的,至今己有60多年的历史。

主要是基于信息论的编码方法,压缩比小。

1966年J.B.Neal 对比分析了差分编码调制(DPCM)和脉冲编码调制(PCM)并提出了用于电视的实验数据,1969行了线性预测编码的实际实验。

同年举行首届图像编码会(PictureCodiSymP0sium),在这次会议之后,图像压缩编码算法的研究有了很大进展。

由于DCT压缩算法具有编码效果较好、运算复杂度适中等优点,目前己经成为国际图像编准(JPEG)的核心算法。

为了克服第一代图像压缩编码存在的压缩比小、图像复原质量不理想等1985年Kunt等人充分利用人眼视觉特性提出了第二代图像压缩编码的概念。

数字图像处理3灰度图像的压缩与解压缩)

数字图像处理3灰度图像的压缩与解压缩)
(1)实验程序如下:
I=imread('D:\xiehui1.jpg');
I=im2double(I);
T=dctmtx(8);
B=blkproc( I, [8 8],' P1*x*P2', T, T'); %对图像A进行8x8的分块DCT变换;
mask= [ 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
subplot(2,2,2);imshow(I2),title('解压缩后恢复图像压缩比16');
subplot(2,2,3);imshow(I3),title('解压缩后恢复图像压缩比8');
subplot(2,2,4);imshow(I4),title('解压缩后恢复图像压缩比2');
(2)用Matlab绘制出实验结果图如下。
学生实验报告
课程名称
《数字图像处理实验》
实验名称
综合实验
(灰度图像的压缩与解压缩)
班级,姓名
实验时间
2012年6月5日
学号
指导教师
报告内容
一、实验目的和任务
通过让学生在MATLAB编程环境下自己设计完成一副灰度图像的压缩与解压缩来培养学生独立自主分析和解决问题的能力。强化和提高MATLAB图像处理编程能力。
mask1 = [1 1 1 1 0 0 0 0
1 1 1 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 %定义变换系数掩模,
0 0 0 0 0 0 0 0];

数字图像处理 实验报告(完整版).doc

数字图像处理 实验报告(完整版).doc

数字图像处理实验一 MATLAB数字图像处理初步一、显示图像1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;实验结果如下图:源代码:>>I=imread('lily.tif')>> whos I>> imshow(I)二、压缩图像4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。

6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。

7.用imread()读入图像Sunset.jpg和Winter.jpg;8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小;9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。

其中9的实验结果如下图:源代码:4~6(接上面两个) >>I=imread('lily.tif')>> imfinfo 'lily.tif';>> imwrite(I,'lily.jpg','quality',20);>> imwrite(I,'lily.bmp');7~9 >>I=imread('Sunset.jpg');>>J=imread('Winter.jpg')>>imfinfo 'Sunset.jpg'>> imfinfo 'Winter.jpg'>>figure(1),imshow('Sunset.jpg')>>figure(2),imshow('Winter.jpg')三、二值化图像10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。

图像压缩编码实验报告

图像压缩编码实验报告

图像压缩编码实验报告一、实验目的1.了解有关数字图像压缩的基本概念,了解几种常用的图像压缩编码方式;2.进一步熟悉JPEG编码与离散余弦变换(DCT)变换的原理及含义;3.掌握编程实现离散余弦变换(DCT)变换及JPEG编码的方法;4.对重建图像的质量进行评价。

二、实验原理1、图像压缩基本概念及原理图像压缩主要目的是为了节省存储空间,增加传输速度。

图像压缩的理想标准是信息丢失最少,压缩比例最大。

不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。

压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。

应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分为以下3类:(1)无损压缩编码种类哈夫曼(Huffman)编码,算术编码,行程(RLE)编码,Lempel zev编码。

(2)有损压缩编码种类预测编码,DPCM,运动补偿;频率域方法:正交变换编码(如DCT),子带编码;空间域方法:统计分块编码;模型方法:分形编码,模型基编码;基于重要性:滤波,子采样,比特分配,向量量化;(3)混合编码JBIG,,JPEG,MPEG等技术标准。

2、JPEG 压缩编码原理JPEG是一个应用广泛的静态图像数据压缩标准,其中包含两种压缩算法(DCT和DPCM),并考虑了人眼的视觉特性,在量化和无损压缩编码方面综合权衡,达到较大的压缩比(25:1以上)。

JPEG既适用于灰度图像也适用于彩色图像。

其中最常用的是基于DCT变换的顺序式模式,又称为基本系统。

JPEG 的压缩编码大致分成三个步骤:(1)使用正向离散余弦变换(forward discrete cosine transform,FDCT)把空间域表示的图变换成频率域表示的图。

(2)使用加权函数对DCT系数进行量化,该加权函数使得压缩效果对于人的视觉系统最佳。

(3)使用霍夫曼可变字长编码器对量化系数进行编码。

数字图像处理中的图像压缩技术研究

数字图像处理中的图像压缩技术研究

数字图像处理中的图像压缩技术研究随着数字图像处理技术的不断发展,图像压缩已经成为了一个非常重要的研究方向。

图像压缩的目的在于将图像数据进行压缩,以便在存储和传输时占用更少的空间和带宽。

目前广泛应用的压缩技术包括有损压缩和无损压缩两种,本文将对图像压缩的常见技术进行分析和讨论。

一、有损压缩有损压缩即在压缩图像的过程中,会有部分信息被舍弃,这样也就会有部分的图像质量损失。

有损压缩主要包括以下两种技术:1. 基于变换的压缩变换压缩是一种基于数学变换的压缩方法,主要通过数学公式将原图像转化为一组频域系数,并对频域系数进行编码。

其中最常用的是离散余弦变换(DCT)和离散小波变换(DWT)。

离散余弦变换将图像分成若干个8x8的小块,将每个小块纵向(其实可以横向也可以)滤波后再横向滤波,得到一些常数和一些正负值,取常数和正值组成高频的正系数,取负值组成高频的负系数,这样就可以利用熵编码技术对系数进行压缩编码,最后得到的压缩文件需要一定的解码过程才可以得到原图像。

离散小波变换利用小波分析的思想将原始图像分成多层,每一层分解为一组高频和低频系数。

在低频系数上进行进一步分解,可得到更低频的系数和更高频的系数,如此反复,直到达到总层数或最小分辨率为止。

基于变换的压缩方法具有压缩率高、图像质量好等优点,被广泛应用于数字图像压缩领域。

2. 基于预测的压缩基于预测的压缩是另一种常见的有损压缩技术,其思想是通过对原始像素的预测值和预测误差的编码进行压缩。

其中,最常用的预测方法是差分预测和运动估计预测。

差分预测方法是指以图像中一个像素点前面的像素点为预测值,然后将预测值与实际值之差作为压缩编码的依据。

运动估计预测方法则是以图像序列中的前一帧图像为预测值,根据两帧图像间的运动差异,得到运动矢量,并通过熵编码对其进行压缩。

二、无损压缩与有损压缩相比,无损压缩技术在压缩图像时不丢失任何像素信息,因此压缩后的图像仍与原图像完全一致。

无损压缩又可以分为以下两种技术:1. 基于预测的压缩在无损压缩中,基于预测的压缩技术同样被广泛应用于数字图像压缩领域。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告数字图像处理实验报告一、引言数字图像处理是计算机科学与工程领域中的一个重要研究方向。

通过使用数字化技术,对图像进行采集、传输、存储和处理,可以实现对图像的增强、恢复、分析和识别等功能。

本实验旨在通过对数字图像处理算法的实践应用,探索图像处理的原理和方法。

二、实验目的本实验的主要目的是掌握数字图像处理的基本概念和算法,并通过实际操作加深对图像处理原理的理解。

具体目标包括:1. 学习使用图像处理软件,如Photoshop或Matlab等。

2. 掌握图像增强的方法,如直方图均衡化、滤波和锐化等。

3. 理解图像压缩和编码的原理,如JPEG和PNG等格式。

4. 了解图像分割和边缘检测的基本算法,如阈值分割和Canny边缘检测等。

三、实验过程1. 图像增强图像增强是指通过一系列算法和技术,改善图像的质量和视觉效果。

在实验中,我们可以使用直方图均衡化算法来增强图像的对比度和亮度。

该算法通过将图像的像素值映射到一个更大的范围内,使得图像的亮度分布更加均匀。

2. 图像滤波图像滤波是指通过一系列滤波器对图像进行处理,以实现去噪、平滑和锐化等效果。

在实验中,我们可以使用平滑滤波器(如均值滤波器和高斯滤波器)来去除图像中的噪声。

同时,我们还可以使用锐化滤波器(如拉普拉斯滤波器和Sobel滤波器)来增强图像的边缘和细节。

3. 图像压缩和编码图像压缩是指通过减少图像的数据量来减小图像文件的大小,从而实现存储和传输的效率提升。

在实验中,我们可以使用JPEG和PNG等压缩算法来对图像进行压缩和编码。

JPEG算法通过对图像的频域进行离散余弦变换和量化,实现对图像的有损压缩。

而PNG算法则采用无损压缩的方式,通过对图像的差值编码和哈夫曼编码,实现对图像的高效压缩。

4. 图像分割和边缘检测图像分割是指将图像分成若干个区域,以实现对图像的目标提取和图像分析的目的。

而边缘检测是指通过检测图像中的边缘和轮廓,实现对图像的形状分析和目标识别。

图像压缩综合实验.

图像压缩综合实验.

华北电力大学实验报告
end
end
accof=jacenc(acseq);
disp(['DC coefficient after Huffman coding has '
int2str(length(dccof)) ...
' bits']);
disp(['AC coefficient after Huffman coding has '
int2str(length(accof)) ...
' bits']);
disp(['Compression Rate '
num2str((length(dccof)+length(accof))/(mb*nb*64)) ' Bits / pixel ']) disp(['Compression Ratio '
num2str(8/((length(dccof)+length(accof))/(mb*nb*64))) ' : 1'])
实验结果整理及分析实验结果截图:
原图像:Q=10的量化编码图像:阈值编码图像:
结果分析:
由结果截图可看出,编码后的图像相对于原图像都稍显模糊,且阈值编码与量化编码所得图像也有不同之处,阈值编码时有些点出编码时取为0,而量化编码时却不取为0。

压缩后图像稍有失真。

压缩比为:8.9124 : 1
结论
及心得体会
本次实验达到了实验目的,进一步熟悉了DCT的概念和原理;掌握了对灰度和彩色图像作离散余弦变换和反变换的方法;可以选择适当的量化间隔、阈值和区域进行编码;实现了JPEG压缩编码。

非常感谢老师的指导。

数字图像处理实验报告图像压缩

数字图像处理实验报告图像压缩

竭诚为您提供优质文档/双击可除数字图像处理实验报告图像压缩篇一:数字图像处理实验报告数字图像处理实验报告课程:班级:学号:姓名:指导老师:日期:实验一内容一mATLAb数字图像处理初步一、实验目的与要求1.熟悉及掌握在mATLAb中能够处理哪些格式图像。

2.熟练掌握在mATLAb中如何读取图像。

3.掌握如何利用mATLAb来获取图像的大小、颜色、高度、宽度等等相关信息。

4.掌握如何在mATLAb中按照指定要求存储一幅图像的方法。

5.图像间如何转化。

二、实验内容及步骤1.利用imread()函数读取一幅图像,假设其名为flower.tif,存入一个数组中;解:读取图像,存入数组I 中:I=imread(flower.tif);2.利用whos命令提取该读入图像flower.tif的基本信息;解:查询数组I的信息:3.利用imshow()函数来显示这幅图像;解:因为imshow()方法不能直接显示tif图像矩阵,因此要先转换成Rgb模式,再调用imshow()显示。

代码如下:>>I1=I(:,:,1);>>I2=I(:,:,2);>>I3=I(:,:,3);>>Rgb=cat(3,I1,I2,I3);>>imshow(Rgb);显示的图像为:4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;解:代码如下:>>imfinfo(flower.tif)结果截图:5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q),q取0-100。

解:代码:>>imwrite(Rgb,flower.jpg,quality,80);结果截图:6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。

基于小波变换的数字图像压缩(实验5报告范文)

基于小波变换的数字图像压缩(实验5报告范文)

基于小波变换的数字图像压缩(实验5报告范文)多媒体技术实验报告学院:城南学院通信1202班姓名:学号:指导老师:尹波时间:2022/12/9教师评语:成绩评阅教师日期实验五:基于小波变换的数字图像压缩1.实验目的1)掌握小波变换的基本原理,掌握matlab小波变换工具箱。

2)利用MATLAB小波程序进行图像压缩。

2.实验原理小波变换基本概念多分辨分析,也称为多尺度分析,即在不同尺度下对事物进行分析。

在大尺度上分析信号的全貌,在小尺度上分析信号的细节。

连续小波变换:某CWTf(a,b)某(t),a,b(t)某(t)a,b(t)dtRCWTf(a,b)某(t),a,b(t)连续小波变换的结果可以表示为平移因子a和伸缩因子b的函数。

R某(t)a,b(t)dtRtb某(t)a()dta12小波变换对一个函数在空间和时间上进行局部化的一种数学变换。

通过平移母小波(motherwavelet)获得信号的时间信息,通过缩放母小波的宽度(或称尺度)获得信号的频率特性。

对母小波的平移和缩放操作是为计算小波的系数,这些系数代表局部信号和小波之间的相互关系。

小波分解树与小波包分解树由低通滤波器和高通滤波器组成的树。

原始信号通过一对滤波器进行的分解叫做一级分解。

信号的分解过程可以迭代,即可进行多级分解。

自然的高通滤波器输出对应的信号的高频分量部分,称为细节分量,低通滤波器输出对应了信号的相对较低的频率分量部分,称为近似分量。

基于小波分析的图像压缩二维小波分析用于图像压缩是小波分析应用的一个重要方面。

它的特点是压缩比高,压缩速度快,压缩后能保持图像的特征基本不变,且在传递过程中可以抗干扰。

小波分析用于图像压缩具有明显的优点。

基于小波分析的图像压缩方法很多,比较成功的有小波包、小波变换零树压缩、小波变换矢量量化压缩等。

利用二维小波分析对图像进行压缩。

一幅图像作小波分解后,可得到一系列不同分辨率的子图像,不同分辨率的子图像对应的频率是不相同的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

竭诚为您提供优质文档/双击可除数字图像处理实验报告图像压缩
篇一:数字图像处理实验报告
数字图像处理
实验报告
课程:
班级:
学号:
姓名:
指导老师:
日期:
实验一
内容一mATLAb数字图像处理初步
一、实验目的与要求
1.熟悉及掌握在mATLAb中能够处理哪些格式图像。

2.熟练掌握在mATLAb中如何读取图像。

3.掌握如何利用mATLAb来获取图像的大小、颜色、高度、宽度等等相关信息。

4.掌握如何在mATLAb中按照指定要求存储一幅图像的方法。

5.图像间如何转化。

二、实验内容及步骤
1.利用imread()函数读取一幅图像,假设其名为flower.tif,存入一个数组中;解:读取图像,存入数组I 中:I=imread(flower.tif);
2.利用whos命令提取该读入图像flower.tif的基本信息;
解:查询数组I的信息:
3.利用imshow()函数来显示这幅图像;
解:因为imshow()方法不能直接显示tif图像矩阵,因此要先转换成Rgb模式,再调用imshow()显示。

代码如下:
>>I1=I(:,:,1);
>>I2=I(:,:,2);
>>I3=I(:,:,3);
>>Rgb=cat(3,I1,I2,I3);
>>imshow(Rgb);
显示的图像为:
4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;
解:代码如下:>>imfinfo(flower.tif)
结果截图:
5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q),q取0-100。

解:代码:>>imwrite(Rgb,flower.jpg,quality,80);
结果截图:
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。

解:
代码:>>imwrite(Rgb,flower.bmp);
结果截图:
篇二:数字图像处理实验报告(完整版)
数字图像处理
实验一mATLAb数字图像处理初步
一、显示图像
1.利用imread()函数读取一幅图像,假设其名为lily.tif,存入一个数组中;
2.利用whos命令提取该读入图像flower.tif的基本信息;
3.利用imshow()函数来显示这幅图像;
实验结果如下图:
源代码:
>>I=imread(lily.tif)
>>whosI
>>imshow(I)
二、压缩图像
4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;
5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q),q取0-100。

6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。

7.用imread()读入图像sunset.jpg和winter.jpg;
8.用imfinfo()获取图像sunset.jpg和winter.jpg的大小;
9.用figure,imshow()分别将sunset.jpg和
winter.jpg显示出来,观察两幅图像的质量。

其中9的实验结果如下图:
源代码:
4~6(接上面两个)>>I=imread(lily.tif)
>>imfinfolily.tif;
>>imwrite(I,lily.jpg,quality,20);
>>imwrite(I,lily.bmp);
7~9>>I=imread(sunset.jpg);
>>J=imread(winter.jpg)
>>imfinfosunset.jpg
>>imfinfowinter.jpg
>>figure(1),imshow(sunset.jpg)
>>figure(2),imshow(winter.jpg)
三、二值化图像
10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。

实验结果如下图:源代码:
>>I=imread(lily.tif)
>>gg=im2bw(I,0.4);
F>>igure,imshow(gg)
原始图像:
四、思考题
(1)简述matLab软件的特点。

答:①高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;②具有完备的图形处理功能,实现计算结果和编程的可视化;
③友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;
④功能丰富的应用工具箱(如信号处理工具箱、通信工
具箱等),为用户提供了大量方便实用的处理工具。

(2)matLab软件可以支持哪些图像文件格式?
Jpeg、Jpeg、pcx、TIFF、png、gIF、hDF、xwD等等。

(3)说明函数imread的用途格式以及各种格式所得到图像的性质。

imread函数用于读入各种图像文件,其一般的用法为
[x,mAp]=imread(‘filename’,‘fmt’)
其中,x,mAp分别为读出的图像数据和颜色表数据,fmt 为图像的格式,filename为读取的图像文件(可以加上文件的路径)。

(4)为什么用I=imread(‘lena.bmp’)命令得到的图像
I不可以进行算术运算?
matlab系统默认的算术运算时针对双精度类型(double)的数据,而上述命令产生的矩阵的数据类型是无符号8位,直接进行运算会溢出。

实验二图像的代数运算
一.图像的加法运算
在mATLAb中,如果要进行两幅图像的加法,或者给一
幅图像加上一个常数,可以调用imadd函数来实现。

imadd
函数将某一幅输入图像的每一个像素值与另一幅图像相应的像素值相加,返回相应的像素值之和作为输出图像。

imadd 函数的调用格式如下:
Z=imadd(x,Y)
其中,x和Y表示需要相加的两幅图像,返回值Z表示得到的加法操作结果。

实验结果如下图:
源代码:
I=imread(‘sunset.jpg’);
J=imread(‘bluehills.jpg’);
K=imadd(I,J);
imshow(K);(两幅图尺寸大小一致)
原始图像:
给图像的每一个像素加上一个常数可以使图像的亮度增加。

效果如下:
源代码
>>Rgb=imread(‘cameraman.tif’);
>>Rgb2=imadd(Rgb,50);
>>subplot(1,2,1);imshow(Rgb);
>>subplot(1,2,2);imshow(Rgb2);
二、图像的减法运算
在mATLAb中,使用imsubtract函数可以将一幅图像从。

相关文档
最新文档