昆明理工大学(数字图像处理)实验报告实验名称图像的基本变换实验时间2014年3月20日专业班级学号姓名成绩教师评语:一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。2.熟练掌握在MATLAB中如何读取图像。3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。5.图像间如何转化二、实验原理及知识点1、数字图像的表示和类别一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。术语‘空间域’指的是图像平面本身,在空间与内处理图像的方法是直接对图像的像素进行处理。空间域处理方法分为两种:灰度级变换、空间滤波。空间域技术直接对像素进行操作其表达式为g(x,y)=T[f(x,y)]其中f(x,y)为输入图像,g(x,y)为输出图像,T是对图像f进行处理的操作符,定义在点(x,y)的指定领域内。定义点(x,y)的空间邻近区域的主要方法是,使用中心位于(x,y)的正方形或长方形区域,。此区域的中心从原点(如左上角)开始逐像素点移动,在移动的同时,该区域会包含不同的领域。T应用于每个位置(x,y),以便在该位置得到输出图像g。在计算(x,y)处的g值时,只使用该领域的像素。灰度变换T的最简单形式是使用领域大小为1×1,此时,(x,y)处的g值仅由f在该点处的亮度决定,T也变为一个亮度或灰度级变化函数。当处理单设(灰度)图像时,这两个术语可以互换。由于亮度变换函数仅取决于亮度的值,而与(x,y)无关,所以亮度函数通常可写做如下所示的简单形式:s=T(r)其中,r表示图像f中相应点(x,y)的亮度,s表示图像g中相应点(x,y)的亮度。1.图像的线性变换g(x,y)=2*I(x,y)I=imread('D:\picture1.jpg');imshow(I);[m,n]=size(I);forx=1:m;fory=1:n;g(x,y)=2*I(x,y);endendimshow(g);图像的线性变换:g(x,y)=I(x,y)I=imread('D:\picture1.jpg');imshow(I);[m,n]=size(I);forx=1:m;fory=1:n;g(x,y)=I(x,y);endendimshow(g);3.图像的非线性变换k1=40*log(k+1);I=imread('D:\picture1.jpg');imshow(I);I1=rgb2gray(I);k=im2double(I1);k1=40*log(k+1);H=uint8(k1);imshow(H);4.图像的非线性变换k1=40*exp(k+1);I=imread('D:\picture1.jpg');subplot(311)imshow(I);I1=rgb2gray(I);subplot(312)imshow(I1)k=im2double(I1);k1=40*exp(k+1);H=uint8(k1);subplot(313)imshow(H);5.图像的分段线性变换functionZ=imadjust_sec(X,a,b,c,d)[m,n]=size(X);X1=im2double(X);fori=1:mforj=1:nif(X1(i,j)a)Z(i,j)=c*X1(i,j)/a;endif(X1(i,j)=a&&X1(i,j)b)Z(i,j)=(d-c)*(X1(i,j)-a)/(b-a)+c;endif(X1(i,j)=b)Z(i,j)=(1-d)*(X1(i,j)-b)/(1-b)+d;endendendX=imread('D:\picture6.jpg');Z=imadjust_sec(X,0.3,0.5,0.2,0.6);imshow(X),figure,imshow(Z);