2015数字图像处理实验一 基础实验
- 格式:pdf
- 大小:989.34 KB
- 文档页数:33
数字图像处理实验报告数字图像处理实验报告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等高级语言编写数字图像处理的一些基本算法程序,来巩固和掌握图像处理技术的基本技能,提高实际动手能力,并通过实际编程了解图像处理软件的实现的基本原理。
实验一图像的基本操作和基本统计指标计算一、实验目的熟悉MATLAB图像处理工具箱,在掌握MATLAB基本操作的基础上,本课程主要依靠图像处理工具箱验证和设计图像处理算法。
对于初学者来说,勤学多练、熟悉MATLAB图像处理工具箱也是学号本课程的必经之路。
了解计算图像的统计指标的方法及其在图像处理中的意义。
了解图像的几何操作,如改变图像大小、剪切、旋转等。
二、实验主要仪器设备(1)台式计算机或笔记本电脑(2)MATLAB(安装了图像处理工具箱,即Image Processing Toolbox(IPT))(3)典型的灰度、彩色图像文件三、实验原理(1)将一幅图像视为一个二维矩阵。
(2)利用MATLAB图像处理工具箱读、写和显示图像文件。
①调用imread函数将图像文件读入图像数组(矩阵)。
例如“I=imread(‘tire.tif’);”。
其基本格式为:“A=imread(‘filename.fmt’)”,其中,A为二维矩阵,filename.为文件名,fmt 为图像文件格式的扩展名。
②调用imwrite函数将图像矩阵写入图像文件。
例如“imwrite(A,’test_image.jpg’);”。
其基本格式为“imwrite(a,filename.fmt)”。
③调用imshow函数显示图像。
例如“imshow(‘tire.tif’);”。
其基本格式为:I为图像矩阵,N为显示的灰度级数,默认时为256。
(3)计算图像有关的统计参数。
四、实验内容(1)利用MATLAB图像处理工具箱和Photoshop读、写和显示图像文件。
(2)利用MATLAB计算图像有关的统计参数。
五、实验步骤(1)利用“读图像文件I/O”函数读入图像Italy.jpg。
(2)利用“读图像文件I/O”的iminfo函数了解图像文件的基本信息:主要包括Filename(文件名)、FileModDate(文件修改时间)、Filesize(文件尺寸)、Format(文件格式)、FormatVersion (格式版本)、Width(图像宽度)、Height(图像高度)、BitDepth(每个像素的位深度)、ColorType (彩色类型)、CodingMethod(编码方法)等。
数字图像处理—实验一一.实验内容:图像灰度变换二.实验目的:学会用Matlab 软件对图像灰度进行变换;感受各种不同的灰度变换方法对最终图像效果的影响。
三.实验步骤:1.获取实验用图像:rice.jpg. 使用imread 函数将图像读入Matlab 。
2.产生灰度变换函数T1,使得:0.3rr < 0.35 s =0.105 + 2.6333(r – 0.35) 0.35 ≤ r ≤ 0.651 + 0.3(r – 1) r > 0.65 用T1对原图像rice.jpg 进行处理,使用imwrite 函数保存处理后的新图像。
3.产生灰度变换函数T2,使得:s =用T2对原图像rice.jpg 进行处理,使用imwrite 保存处理后的新图像。
4.分别用 s = r 0.6; s = r 0.4; s = r 0.3 对kids.tiff 图像进行处理。
为简便起见,请使用Matlab 中的imadjust 函数。
使用imwrite 保存处理后的新图像。
5.对circuit.jpg 图像实施反变换(Negative Transformation )。
s =1-r; 使用imwrite 保存处理后的新图像。
6.对rice.jpg 图像实施灰度切片(Gray-level slicing )。
具体要求如下:当0.2 ≤ r ≤ 0.4时,将r 置为0.6, 当r 位于其他区间时, 保持其灰度与原图像一样。
使用imwrite 保存处理后的新图像。
7.利用灰度变换对Picture.jpg 做增强处理,突出图中的人物,改善整个图像过于灰暗的背景。
通过调节参数,观察变换后的图像与原始图像的变化,寻找出最佳的灰度变换结果。
写出所采用的拉伸表达式。
(提示:用imhist 观察图像直方图,利用分段线性灰度变换。
)四.实验报告要求:用imshow, plot等函数生成各类图像,提交原图像和各种变换函数的曲线,以及按各种变换函数处理后的图像。
数字图像处理实验报告(五个实验全)实验⼀ 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、此为图2,。
2、此为图3,。
(而这个时候看到图2的噪声水平,将图1和图2相加之后也必然会有很多的噪声。
拉普拉斯操作作为一种二阶微分算子,能很好的增强细节,但也产生更多的噪声。
而降低噪声的一种方法就是使用中值滤波器,但属于非线性滤波器的中值滤波器有可能改变图像的性质,所以不可取。
所以采取另一种方法,使用原图像梯度操作的平滑形式所形成的一个模板。
)3、此为图4,。
(梯度变换在灰度斜坡或台阶的平均相应要比拉普拉斯操作的更强烈,而对噪声和小细节的响应要比拉普拉斯操作的相应弱,而且可以通过均值滤波器对其进行平滑处理可以进一步降低,此时看(来自: 写论文网:人体骨骼认识实验报告)图像中的边缘要比拉普拉斯图像(即图3)中的边缘要突出许多)4、此为图5,。
(图4,5要比图2亮表明具有重要边缘内容的梯度图像的值一般要比拉普拉斯图像的值高)5、此为图6,。
(此时看到强边缘的优势和可见噪声的相对减少,用平滑后的梯度图像来掩蔽拉普拉斯图像的目的达到了)6、此为图7,(与原图像相比,该图像中大部分细节的清晰度的增加都很明显,所以我们才需要综合多种的方法对图像进行处理,单独使用一种方法根本不可能达到这么好的效果,只需要看相对应的图像进行对比即可知道)7、此为图8,(此时需要增大锐化后图像的动态范围,即使有很多种这样效果的灰度变换函数,但是用幂率变换处理更好,直方图均衡和规定化的效果都不太好)(此时人体的轮廓的清晰度虽然还是不高,因为扩大的灰度动态范围的同时也增大了噪声,但是相比原图还是有相当大幅度的提高的,看下图原图与最终图像对比)实验心得与收获:在本次的图像处理编程中,我首次对图像处理的众多方法有了一个感性的理解,图像处理并不是简简单单的应用几个函数即可获得理想的效果,还需要分析得出要得到相应的效果就需要不同的方法,使是知道了对应的图像处理方法也是不足的,在图像处理的编程方法上也必须要熟悉,这一次的例子中因为总体上的方法都已经给出了,因此大部分的工作量就落在了如何选择对应的matlab函数了,所以这一次收获较大的就是在图像处理函数的原型跟使用细节的认识上,还有在例子的理解过程中,也将之前所学的图像处理方法复习熟悉了一遍,在这一个阶段的学习上收获到的帮助很大。
数字图像处理实验一一、 实验目的1、 学习时域平滑滤波器的概念及原理,观察并比较由不同模版3×3,5×5,7×7模版处理后的图像。
2、 学会使用Robert 梯度算法寻找图像边界及其相关的原理。
3、 学习锐化处理,使用laplace 算子对图像实现锐化处理,不断尝试寻找不同的KI 观察其效果二、 实验原理1、 平滑空间滤波器平滑滤波器用于模糊处理和减小噪声,我们学习的平滑线性空间滤波器的输出响应是包含在滤波模版邻域内像素的简单平均值,也称均值滤波器,属于低通滤波器。
平滑滤波器用滤波模版确定的邻域内像素的平均灰度值去代替图像每个像素点的值,这种处理减小了图像灰度的尖锐化,同时也会带来一些负面的影响,比如的处理完之后带来图像会更加的模糊,尤其是当模版越大的时候越明显。
模版大致有两种,一是邻域平均,一是加权平均。
本次实验中使用加权平均的方式,简单的进行加权平均表示成:∑==nZi R i n2121注意滤波器模板的所有系数均为1,可保证输出图仍在原来的灰度值范围,计算也更有效。
在处理的时候,应该注意边界的处理必要的时候可以扩展一下边界。
补0或者是使用最外圈的数据扩展。
2、 Robert 梯度算法梯度法是基于一阶微分寻找边界的方法。
实际实现算法的过程中经常会使用绝对值(街区距离)来替代平方根(欧氏距离)运算近似求梯度。
为得出合适的滤波模版,Robert 定义了交叉差分算法,给出了梯度的近似算法如下:[(,)](,)(1,1)(1,)(,1)G f x y f x y f x y f x y f x y =-++++-+可以看出是两个3×3的模版对图像处理之后的相加。
模版分别为:000_010001h x ⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦与 000_011010h y ⎡⎤⎢⎥=-⎢⎥⎢⎥⎣⎦两个模版3.图像增强锐化——拉普拉斯算子使用二阶微分梯度在图像增强处理中的应用,边缘增强是要突出图像边缘,抑制图像中非边缘信息,使图像轮廓更加清晰。
《数字图像处理》实验报告学院:信息工程学院专业:电子信息工程学号:姓名:2015年6月18日目录实验一图像的读取、存储和显示 (2)实验二图像直方图分析 (6)实验三图像的滤波及增强 (15)实验四噪声图像的复原 (19)实验五图像的分割与边缘提取 (23)附录1 MATLAB简介 (27)实验一图像的读取、存储和显示一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.图像的显示。
二、实验原理一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。
例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。
因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。
图像关于x和y坐标以及振幅连续。
要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
采样和量化的过程如图1所示。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
三、实验设备(1) PC计算机(2) MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox)(3) 实验所需要的图片四、实验内容及步骤1.利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件设为flower.jpg语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
计算机图像处理实验报告(数字图像处理基本操作)课程名称:计算机图像处理实验名称:实验一数字图像处理基本操作一、实验目的(1)掌握MATLAB软件的运用,熟练掌握建立、保存、运行、调试m文件的方法。
(2)了解MATLAB软件中图像处理工具箱的使用方法。
(3)熟练掌握图像文件(黑白、灰度、索引色和彩色图像)的读取及显示方法。
(4)熟悉常用的图像文件格式和格式转换。
二、实验内容(包括源程序和程序运行结果)(1)编写matlab程序对灰度图像pout.tif、索引图像canoe.tif、真彩色图像peppers.png实现读取、显示和保存。
源程序:clearclcI=imread('pout.tif');subplot(131),imshow(I),title('灰度图像');[I1,map]=imread('canoe.tif');I2=ind2rgb(I1,map);subplot(132),imshow(I2),title('索引图像');I3=imread('peppers.png');subplot(133),imshow(I3),title('真彩色图像')imwrite(I,'newpout.bmp');imwrite(I2,'newcano.bmp');imwrite(I3,'newpeppers.bmp');程序运行结果:(2)matlab图像文件夹中的mri.mat是一个包含27帧、图像尺寸为128*128的多帧索引图像。
编写matlab程序对请将前20帧图像顺序读入到一个数组中并显示出来,转换成影像显示。
源程序:clearclcload mri;figure;subplot(4,5,1),imshow(D(:,:,:,1));subplot(4,5,2),imshow(D(:,:,:, 2));subplot(4,5,3),imshow(D(:,:,:,3));subplot(4,5,4),imshow(D(:,:,:,4));subplot(4,5,5),imshow(D(:,:,:,5));subplot(4,5,6),imshow(D(:,:,:,6));subplot(4,5,7),imshow(D(:,:,:,7));subplot(4,5,8),imshow(D(:,:,:, 8));subplot(4,5,9),imshow(D(:,:,:,9));subplot(4,5,10),imshow(D(:,:,:,10));subplot(4,5,11),imshow(D( :,:,:,11));subplot(4,5 ,12), imshow(D(:,:,:,12));subplot(4,5,13),imshow(D(:,:,:,13));subplot(4,5,14),imshow(D( :,:,:,14));subplot(4,5 ,15), imshow(D(:,:,:,15));subplot(4,5,16),imshow(D(:,:,:,16));subplot(4,5,17),imshow(D( :,:,:,17));subplot(4,5 ,18), imshow(D(:,:,:,18));subplot(4,5,19),imshow(D(:,:,:,19));subplot(4,5,20),imshow(D( :,:,:,20));mov=immovie(D,map);implay(mov)程序运行结果:(3)通过图像点运算减弱图像pout.tif的对比度。
《数字图像处理》实验报告实验一:Matlab编程基础实验姓名:xx班级:xx学号:xx一、实验目的1.了解MATLAB 程序设计语言的基本特点,熟悉MATLAB软件运行环境,了解MATLAB的函数库及应用。
2.熟悉管理、创建、保存、打开文件及数据的方法,设置文件路径的方法。
3.掌握变量、函数等有关概念,具备初步的将一般数学问题转化为对应计算机模型并进行处理的能力。
二、实验仪器1.计算机一台。
2.MATLAB图像处理工具箱。
三、实验内容1. 打开Matlab,熟悉Matlab环境在命令区键入如下命令,观察程序执行情况。
显示图像。
I=imread('FigP0606.tif ' );imshow(I);创建矩阵A=ones(3,5);2. 学习m文件的建立、保存、打开、运行方法t=0:0.1:2*pi;y1=sin(t);h_line1=plot(t,y1,':');hold ony2=cos(t);h_line2=plot(t,y2,'*');h_label=xlabel('Time(0~2\pi)','FontWeigh' , 'bold'); h_textl =text(pi,0,'\leftarrowsin wave');h_text2=text(pi/2,0,'\leftarrowcos wave');3. 练习图像文件的打开、处理、显示操作,运行并观察实验结果。
I=imread('10.pgm');imshow(I);4. 练习调用MATLAB函数imread,imshow,imopen, imsubtract,imadjust ,stretchlim,分析函数功能。
(1)imread:读取图片(2)imshow: 显示图片示例:i=imread('bacteria.bmp');imshow(i);(3)imopen:开运算,作用是:可以使边界平滑,消除细小的尖刺,断开窄小的连接,保持面积大小不变等。
数字图像处理实验报告数字图像处理实验报告第一章总论数字图像处理是计算机图形学、数字信号处理等学科交叉的一门学科。
它是基于数字计算机对图像信号进行数字处理的一种方法。
数字图像处理技术已广泛应用于医学影像诊断、遥感图像处理、图像识别、安防监控等领域,在当今社会中具有不可替代的重要作用。
本次实验主要介绍了数字图像处理的基本方法,包括图像采集、图像增强、图像恢复、图像分割、图像压缩等几个方面。
在实验过程中,我们采用了一些常用的数字图像处理方法,并通过 Matlab 图像处理工具箱进行实现和验证。
第二章实验过程2.1 图像采集在数字图像处理中,图像采集是一个重要的步骤。
采集到的图像质量直接影响到后续处理结果的准确性。
本次实验使用的图像是一张 TIF 格式的彩色图像,通过 Matlab 读取图像文件并显示,代码如下:```Matlabim = imread('test.tif');imshow(im);```执行代码后,可以得到如下图所示的图像:2.2 图像增强图像增强是指利用某些方法使图像具有更好的视觉效果或者变得更适合某种应用。
本次实验我们主要采用直方图均衡化、灰度变换等方法进行图像增强。
2.2.1 直方图均衡化直方图均衡化是一种常用的增强方法,它可以增加图像的对比度和亮度,使图像更加清晰。
代码实现如下:```Matlabim_eq = histeq(im);imshow(im_eq);```执行代码后,会得到直方图均衡化后的图像,如下图所示:可以看出,经过直方图均衡化处理后,图像的对比度和亮度得到了明显提高。
2.2.2 灰度变换灰度变换是一种用于调整图像灰度级别的方法。
通过变换某些像素的灰度级别,可以增强图像的视觉效果。
本次实验我们采用对数变换和幂函数变换两种方法进行灰度变换。
数字图像处理实验实验一:图像色彩编辑器一、图像色彩编辑器(ColorPicker)是一个基于对话框的应用程序,它具有以下功能:1、色彩编辑功能用户可以通过可以调整R、G、B的值来编辑颜色,亦可通过调整H、S、V的值来选取颜色。
颜色编辑的结果会马上反馈到颜色面板和颜色预览框中。
2、RGB颜色空间和HSV颜色空间的转换当改变RGB值,会得到相应的HSV值,并进行显示,反之亦然。
3、取色功能取色功能包含“面板取色”和“屏幕取色”。
面板取色就是用户可以在颜色面板中单击鼠标左键,选取目标点所表示的某种颜色。
屏幕取色则是允许用户获取整个屏幕上的任意一点的颜色值。
用户可以将鼠标移动到需要获取颜色的地方,然后按a键或A键即可以获取该点颜色值。
二、实验步骤1、创建新项目打开VC6.0,选择菜单中的[文件]——[新建]项目,在弹出的“新建项目”对话框中选择“MFC应用程序”模板,并在名称中输入“ColorPicker”,然后单击“确定”。
在“MFC 应用程序向导”的应用程序类型中选择“基本对话框”,其他选项采用系统默认设置,最后生成项目。
2、对话框设计设计对话框将解决各种控件的数量、摆放的位置和使用的名称等问题。
打开资源视图(ColorPicker Resources),点击对话框(Dialog),找到名为“IDD_COLORPICKER_DIALOG”的对话框资源,双击它进入编辑状态,并按照下图所示的图和表对该对话框进行编辑。
3、完成实例编程12 3 4 5 678 9 1011 12 13这里介绍一下组成ColorPicker 应用程序的每个文件的作用:(1)ColorPicker.vcproj这是使用应用程序向导生成的VC++ 项目的主项目文件。
它包含生成该文件的Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。
(2)ColorPicker.h这是应用程序的主要头文件。
实验一数字图像的运算实验1.1 直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备1.PC机一台;2.软件matlab。
三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('pout.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab 双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果观察图像matlab环境下的直方图分布。
实验1.2 3*3均值滤波一.实验目的1.熟悉matlab图像处理工具箱及均值滤波函数的使用;2.理解和掌握3*3均值滤波的方法和应用;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用图像增强(均值滤波)函数,设置相关参数,再输出处理后的图像。
I = imread('pout.tif');figure,imshow(I);J=filter2(fspecial('average',3),I)/255;figure,imshow(J);四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。