数字图像处理实验三报告

合集下载

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告实验一数字图像处理编程基础一、实验目的1. 了解MATLAB图像处理工具箱;2. 掌握MATLAB的基本应用方法;3. 掌握MATLAB图像存储/图像数据类型/图像类型;4. 掌握图像文件的读/写/信息查询;5. 掌握图像显示--显示多幅图像、4种图像类型的显示方法;6. 编程实现图像类型间的转换。

二、实验内容1. 实现对图像文件的读/写/信息查询,图像显示--显示多幅图像、4种图像类型的显示方法、图像类型间的转换。

2. 运行图像处理程序,并保存处理结果图像。

三、源代码I=imread('cameraman.tif')imshow(I);subplot(221),title('图像1');imwrite('cameraman.tif')M=imread('pout.tif')imview(M)subplot(222),imshow(M);title('图像2');imread('pout.bmp')N=imread('eight.tif')imview(N)subplot(223),imshow(N);title('图像3');V=imread('circuit.tif')imview(V)subplot(224),imshow(V);title('图像4');N=imread('C:\Users\Administrator\Desktop\1.jpg')imshow(N);I=rgb2gary(GRB)[X.map]=gary2ind(N,2)RGB=ind2 rgb(X,map)[X.map]=gary2ind(I,2)I=ind2 gary(X,map)I=imread('C:\Users\dell\Desktop\111.jpg');subplot(231),imshow(I);title('原图');M=rgb2gray(I);subplot(232),imshow(M);[X,map]=gray2ind(M,100);subplot(233),imshow(X);RGB=ind2rgb(X,map);subplot(234),imshow(X);[X,map]=rbg2ind(I);subplot(235),imshow(X);四、实验效果实验二 图像几何变换实验一、实验目的1.学习几种常见的图像几何变换,并通过实验体会几何变换的效果;2.掌握图像平移、剪切、缩放、旋转、镜像等几何变换的算法原理及编程实现;3.掌握matlab 编程环境中基本的图像处理函数。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告数字图像处理实验报告1一. 实验内容:主要是图像的几何变换的编程实现,具体包括图像的读取、改写,图像平移,图像的镜像,图像的转置,比例缩放,旋转变换等.具体要求如下:1.编程实现图像平移,要求平移后的图像大小不变;2.编程实现图像的镜像;3.编程实现图像的转置;4.编程实现图像的比例缩放,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的缩放效果;5.编程实现以任意角度对图像进行旋转变换,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的旋转效果.二.实验目的和意义:本实验的目的是使学生熟悉并掌握图像处理编程环境,掌握图像平移、镜像、转置和旋转等几何变换的方法,并能通过程序设计实现图像文件的读、写操作,及图像平移、镜像、转置和旋转等几何变换的程序实现.三.实验原理与主要框架:3.1 实验所用编程环境:Visual C++(简称VC)是微软公司提供的基于C/C++的应用程序集成开发工具.VC拥有丰富的功能和大量的扩展库,使用它能有效的创建高性能的Windows应用程序和Web应用程序.VC除了提供高效的C/C++编译器外,还提供了大量的可重用类和组件,包括著名的微软基础类库(MFC)和活动模板类库(ATL),因此它是软件开发人员不可多得的开发工具.VC丰富的功能和大量的扩展库,类的重用特性以及它对函数库、DLL库的支持能使程序更好的模块化,并且通过向导程序大大简化了库资源的使用和应用程序的开发,正由于VC具有明显的优势,因而我选择了它来作为数字图像几何变换的开发工具.在本程序的开发过程中,VC的核心知识、消息映射机制、对话框控件编程等都得到了生动的体现和灵活的应用.3.2 实验处理的对象:256色的BMP(BIT MAP )格式图像BMP(BIT MAP )位图的文件结构:具体组成图: BITMAPFILEHEADER位图文件头(只用于BMP文件) bfType=”BM” bfSize bfReserved1bfReserved2bfOffBitsbiSizebiWidthbiHeightbiPlanesbiBitCountbiCompressionbiSizeImagebiXPelsPerMeterbiYPelsPerMeterbiClrUsedbiClrImportant单色DIB有2个表项16色DIB有16个表项或更少256色DIB有256个表项或更少真彩色DIB没有调色板每个表项长度为4字节(32位)像素按照每行每列的顺序排列每一行的字节数必须是4的整数倍BITMAPINFOHEADER 位图信息头 Palette 调色板 DIB Pixels DIB图像数据1. BMP文件组成BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成.2. BMP文件头BMP文件头数据结构含有BMP文件的类型(必须为BMP)、文件大小(以字节为单位)、位图文件保留字(必须为0)和位图起始位置(以相对于位图文件头的偏移量表示)等信息.3. 位图信息头BMP位图信息头数据用于说明位图的尺寸(宽度,高度等都是以像素为单位,大小以字节为单位, 水平和垂直分辨率以每米像素数为单位) ,目标设备的级别,每个像素所需的位数, 位图压缩类型(必须是 0)等信息.4. 颜色表颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色.具体包含蓝色、红色、绿色的亮度(值范围为0-255)位图信息头和颜色表组成位图信息5. 位图数据位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上.Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充.3.3 BMP(BIT MAP )位图的显示:①一般显示方法:1. 申请内存空间用于存放位图文件2. 位图文件读入所申请内存空间中3. 在函数中用创建显示用位图, 用函数创建兼容DC,用函数选择显示删除位图但以上方法的缺点是: 1)显示速度慢; 2) 内存占用大; 3) 位图在缩小显示时图形失真大,(可通过安装字体平滑软件来解决); 4) 在低颜色位数的设备上(如256显示模式)显示高颜色位数的图形(如真彩色)图形失真严重.②BMP位图缩放显示 :用视频函数来显示位图,内存占用少,速度快,而且还可以对图形进行淡化(Dithering )处理.淡化处理是一种图形算法,可以用来在一个支持比图像所用颜色要少的设备上显示彩色图像.BMP位图显示方法如下:1. 打开视频函数,一般放在在构造函数中2. 申请内存空间用于存放位图文件3. 位图文件读入所申请内存空间中4. 在函数中显示位图5. 关闭视频函数 ,一般放在在析构函数中以上方法的优点是: 1)显示速度快; 2) 内存占用少; 3) 缩放显示时图形失真小,4) 在低颜色位数的设备上显示高颜色位数的图形图形时失真小; 5) 通过直接处理位图数据,可以制作简单动画.3.4 程序中用到的访问函数Windows支持一些重要的DIB访问函数,但是这些函数都还没有被封装到MFC中,这些函数主要有:1. SetDIBitsToDevice函数:该函数可以直接在显示器或打印机上显示DIB. 在显示时不进行缩放处理.2. StretchDIBits函数:该函数可以缩放显示DIB于显示器和打印机上.3. GetDIBits函数:还函数利用申请到的内存,由GDI位图来构造DIB.通过该函数,可以对DIB的格式进行控制,可以指定每个像素颜色的位数,而且可以指定是否进行压缩.4. CreateDIBitmap函数:利用该函数可以从DIB出发来创建GDI 位图.5. CreateDIBSection函数:该函数能创建一种特殊的DIB,称为DIB项,然后返回一个GDI位图句柄.6. LoadImage函数:该函数可以直接从磁盘文件中读入一个位图,并返回一个DIB句柄.7. DrawDibDraw函数:Windows提供了窗口视频(VFW)组件,Visual C++支持该组件.VFW中的DrawDibDraw函数是一个可以替代StretchDIBits 的函数.它的最主要的优点是可以使用抖动颜色,并且提高显示DIB的速度,缺点是必须将VFW代码连接到进程中.3.5 图像的几何变换图像的几何变换,通常包括图像的平移、图像的镜像变换、图像的转置、图像的缩放和图像的旋转等.数字图像处理实验报告2一、实验的目的和意义实验目的:本实验内容旨在让学生通过用VC等高级语言编写数字图像处理的一些基本算法程序,来巩固和掌握图像处理技术的基本技能,提高实际动手能力,并通过实际编程了解图像处理软件的实现的基本原理。

数字图像处理实验报告

数字图像处理实验报告

实验三、图像的傅立叶变换一、实验目的1、了解图像变换的意义和手段;2、熟悉傅里叶变换的性质;3、熟练掌握FFT变换及其应用;4、通过实验了解二维频谱的分布特点;5、通过本实验掌握利用MATLAB编程实现数字图像的傅立叶变换。

二、实验设备1、计算机;2、MATLAB软件;3、记录用的笔、纸。

4、移动式存储器(软盘、U盘等)。

三、实验原理1、应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。

通过实验培养这项技能,将有助于解决大多数图像处理问题。

2、傅立叶(Fourier)变换的定义二维Fourier变换和二维离散傅立叶变换为:图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参1见相关书目,有关傅立叶变换的快速算法的程序不难找到。

实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。

四、实验步骤1、打开计算机,启动MATLAB程序;2、利用MatLab工具箱中的函数编制FFT频谱显示的函数;3、 a).调入、显示“实验一”获得的图像;图像存储格式应为“.gif”;b)对这幅图像做FFT并利用自编的函数显示其频谱;4、实现数字图像傅立叶变换的部分参考程序:I=imread(‘原图像名.gif’); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅立叶变换的实部II=imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.^2+II.^2);%计算频谱幅值A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225; %归一化figure; %设定窗口imshow(A); %显示原图像的频谱五、实验数据记录输入数字图像傅立叶变换的代码如下:I=imread(‘fengshu.gif’);imshow(I);fftI=fft2(I);sfftI=fftshift(fftI);RR=real(sfftI);II=imag(sfftI);A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225;figure;imshow(A);运行以上程序原图像经傅立叶变换后的图像3实验四、图像的离散余弦变换和哈达玛变换一、实验目的1、了解图像离散余弦变换和逆变换的原理;2、理解离散余弦变换系数的特点;3、理解离散余弦变换在图像数据压缩中的应用;4、理解哈达玛变换的原理。

实验三_数字图像处理空域滤波

实验三_数字图像处理空域滤波

实验三空域滤波一实验目的1了解空域滤波的方法。

2掌握几种模板的基本原理。

二实验条件PC微机一台和MATLAB软件。

三实验内容1使用函数fspecial( ) 生成几种特定的模板。

2使用函数imfilter( ) 配合模板对图象数据进行二维卷积。

3比较各种滤波器的效果。

四实验步骤空域滤波一般分为线性滤波和非线性滤波。

空域滤波器根据功能分为平滑滤波器和锐化滤波器。

1)平滑空间滤波:平滑的目的有两种:一是模糊,即在提取较大的目标前去除太小的细节或将目标内的小间断连接起来;另一种是消除噪声。

线性平滑(低通)滤波器:线性平滑空域滤波器的输出是包含在滤波掩膜邻域内像素的简单平均值。

线性平滑滤波器也称为均值滤波器,这种滤波器的所有系数都是正数,对3*3的模板来说,最简单的是取所有系数为1,为了保持输出图像仍然在原来图像的灰度值范围内,模板与像素邻域的乘积都要除以9。

a用h=fspecial(‘average’) 得到的h 为3×3的邻域平均模板,然后用h来对图象lenna.gif进行平滑处理。

>> x=imread('lenna.gif');h=fspecial('average');y=imfilter(x,h);imshow(x);title('原始图像');subplot(1,2,2);imshow(y);title('均值滤波后图像')实验结果如图:b 把模板大小依次改为7×7,9×9和11×11,观察其效果有什么不同?>>x=imread('lenna.gif');subplot(1,4,1);imshow(x);title('原始图像');h=fspecial('average',7);y=imfilter(x,h);subplot(1,4,2);imshow(y);title('模板大小7*7的图像');h1=fspecial('average',9);y1=imfilter(x,h1);subplot(1,4,3);imshow(y1);title('模板大小9*9的图像');h2=fspecial('average',11);y2=imfilter(x,h2);subplot(1,4,4);title('模板大小11*11的图像')比较效果:造成图像的模糊,n选取的越大,模糊越严重。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

数字图像处理实验报告

数字图像处理实验报告

实 验 内 容
3-2 根据直方图定义,通过结构化编程方式给出 3-1)中灰度图像像素点统计形式的直方图,并与利用 函数调用方式获得的直方图在两个不同窗口中进行比较,两窗口图像名称分别为”编程直方图”、”函 数调用直方图”; 参考函数 imread、size、bar、imhist、image I=imread('panda.jpg'); B=rgb2gray(I); A=uint8(B); [m n]=size(B); s=zeros(m,n); for i=1:m for j=1:n for rank=0:255 if B(i,j)==rank s(rank+1)=s(rank+1)+1; end
在水平和垂直方 列的方式同时显
I=imread('panda.jpg');
subplot(1,3,1);imshow(I)
subplot(1,3,2);imshow(I)
colorbar
subplot(1,3,3);imshow(I)
colorbar('horizontal')
实 验 1)、实验采用的原始图片要求是包含自己头像的照片,图片大小控制在 640×480 之内; 要 2)、实验中的当前工作目录采用 MATLAB 目录下的 work 文件夹。 求
学号
12109940423 指导教师
实验地点
1C06-329
实验成绩
图像灰度统计特性及其相关变换
12 级 1 班 杜云明
实 理解直方图的形成原理,掌握绘制灰度直方图的方法;熟悉图像灰度直方图的变换及直方图均衡化方 验 法;理解图像灰度变换处理在图像增强中的作用;熟悉图像灰度分布统计与图像视觉质量之间的关系; 目 通过工具箱函数调用和结构化编程两种方式实现图像的相关处理,在加深理解基本原理的同时,提高 的 编程实践的技巧和能力。

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

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

数字图像处理实验一 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显示出来观察图像的特征。

数字图像处理实验报告(五个实验全)

数字图像处理实验报告(五个实验全)

数字图像处理实验报告(五个实验全)实验⼀ Matlab图像⼯具的使⽤1、读图I=imread('lena.jpg');imshow(I);2、读⼊⼀幅RGB图像,变换为灰度图像和⼆值图像,并在同⼀个窗⼝内分成三个⼦窗⼝来分别显⽰RGB图像和灰度图像。

a=imread('lena.jpg')i = rgb2gray(a)I = im2bw(a,0.5)subplot(3,1,1);imshow(a);subplot(3,1,2);imshow(i);subplot(3,1,3);imshow(I);原图像灰度图像⼆值图像实验⼆图像变换1、对⼀幅图像进⾏平移,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与平移后傅⾥叶频谱的对应关系。

s=imread('beauty.jpg');i=rgb2gray(s)i=double(i)j=fft2(i);k=fftshift(j); 原图像原图的傅⾥叶频谱l=log(abs(k));m=fftshift(j);RR=real(m);II=imag(m);A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=circshift(s,[800 450]);b=rgb2gray(b)b=double(b) 平移后的图像平移后的傅⾥叶频谱c=fft2(b);e=fftshift(c);l=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);subplot(2,2,2);imshow(uint8(b));subplot(2,2,3);imshow(A);subplot(2,2,4);imshow(B);2、对⼀幅图像进⾏旋转,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与旋转后傅⾥叶频谱的对应关系。

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

贵州大学实验报告
学院:专业:班级:
姓名学号实验组实验时间指导教师成绩实验项目名称实验二:数字图像的频域增强处理




通过本实验的学习使学生熟悉和掌握数字图像中频域增强的基本原理及应用。





集中授课的教学方式
实验原理1、频域增强原理:
设函数f (x, y) 与线性位不变算子h(x, y) 的卷积结果是g(x, y),即
g(x, y) = h(x, y)* f (x, y)
那么根据卷积定理在频域有
G(u, v) = H(u, v) F(u, v)
其中,G(u, v) 、H(u, v) 、F(u, v) 分别是g(x, y)、h(x, y)、f (x, y)的傅立叶变换。

频域增强的主要步骤:
(1)计算所需增强图像的傅立叶变换;
(2)将其与一个(根据需要设计的)转移函数相乘;
(3)再将结果进行傅立叶反变换以得到增强的图。

2、低通滤波器
图像的能量大部分集中在幅度谱的低频和中频部分,而图像的边缘和噪声对应于高频部分,所以低通滤波器可以降低噪声的影响。

(1)理想低通滤波器
其中D0 是一非负整数
D(u, v) 是从点(u, v) 到频率平面原点的距离。

(2)巴特渥斯低通滤波器
3、高通滤波器
图像中的边缘对应高频分量,所以要锐化图像可以采用高通滤波。

(1)理想高通滤波器
(2)巴特渥斯高通滤波器

验仪器计算机一台;Matlab软件
实验步骤1、编写程序。

读取图像,并对其加入“盐和胡椒”噪声。

对噪声图像做理想低通滤波和巴特渥斯低通滤波处理。

比较选择不同参数时的实验结果。

2、编写程序。

读取图像。

对图像做理想高通滤波和巴特渥斯高通滤波处理。

比较选择不同参数时的实验结果。


验内容1、利用低通滤波器对图像增强。

2、利用高通滤波器对图像增强。

实验数据步骤1
代码部分
clear all;close all;clc;
I=imread('D:\用户目录\我的文档\MATLAB\图像处理\字母表.jpg');
[f1,f2]=freqspace(size(I),'meshgrid'); %生成频率序列矩阵
r=sqrt(f1.^2+f2.^2); %构造低通滤波器决策函数I=imnoise(I,'salt & pepper',0.04); %加椒盐噪声
%理想低通滤波
Hd1=ones(size(I)); %构造低通滤波器的大小Hd1(r>0.1)=0; %构造低通滤波器
Y=fft2(double(I)); %对I进行Fourier变换Y=fftshift(Y); %频谱平移
Ya1=Y.*Hd1; %低通滤波器
Ya1=ifftshift(Ya1); %反变换
Ia1=ifft2(Ya1);
%巴特沃斯低通滤波
D=0.4; %截止频率
n=1; %n
Hd2=ones(size(I));
for i=1:size(I,1)
for j=1:size(I,2)
t=r(i,j)/(D*D);
Hd2(i,j)=1/(t^n+1); %构造滤波函数
end
end
Ya2=Y.*Hd2;
Ya2=ifftshift(Ya2);
Ia2=ifft2(Ya2);
%输出
figure;
subplot(1,3,1);imshow(I);title('加噪图');
subplot(1,3,2);imshow(uint8(Ia1));title('理想低通滤波');
subplot(1,3,3);imshow(uint8(Ia2));title('巴特沃斯低通滤波');
步骤2
从滤波器形状来看,高通与低通滤波器的形状相反




注:各学院可根据教学需要对以上栏木进行增减。

表格内容可根据内容扩充。

相关文档
最新文档