数字图像处理——实验
数字图像处理实验报告——图像分割实验
实验报告课程名称数字图像处理导论专业班级_______________姓名 _______________学号_______________电气与信息学院与谐勤奋求就是创新一.实验目得1.理解图像分割得基本概念;2.理解图像边缘提取得基本概念;3.掌握进行边缘提取得基本方法;4.掌握用阈值法进行图像分割得基本方法.二。
实验内容1.分别用Roberts,Sobel与拉普拉斯高斯算子对图像进行边缘检测。
比较三种算子处理得不同之处;2.设计一个检测图1中边缘得程序,要求结果类似图2,并附原理说明。
3.任选一种阈值法进行图像分割、图1 图2三.实验具体实现1.分别用Roberts,Sobel与拉普拉斯高斯算子对图像进行边缘检测。
比较三种算子处理得不同之处;I=imread(’mri、tif');imshow(I)BW1=edge(I,’roberts’);figure ,imshow(BW1),title(’用Roberts算子’)BW2=edge(I,’sobel’);figure,imshow(BW2),title(’用Sobel算子 ')BW3=edge(I,’log’);figure,imshow(BW3),title(’用拉普拉斯高斯算子’)比较提取边缘得效果可以瞧出,sober算子就是一种微分算子,对边缘得定位较精确,但就是会漏去一些边缘细节.而Laplacian—Gaussian算子就是一种二阶边缘检测方法,它通过寻找图象灰度值中二阶过零点来检测边缘并将边缘提取出来,边缘得细节比较丰富。
通过比较可以瞧出Laplacian-Gaussian算子比sober算子边缘更完整,效果更好。
2.设计一个检测图1中边缘得程序,要求结果类似图2,并附原理说明.i=imread('m83、tif’);subplot(1,2,1);imhist(i);title('原始图像直方图');thread=130/255;subplot(1,2,2);i3=im2bw(i,thread);imshow(i3);title('分割结果’);3.任选一种阈值法进行图像分割、i=imread('trees、tif’);subplot(1,2,1);imhist(i);title('原始图像直方图’);thread=100/255;subplot(1,2,2);i3=im2bw(i,thread);imshow(i3);title('分割结果’)1、分别用Roberts,Sobel与拉普拉斯高斯算子对图像进行边缘检测。
数字图像处理实验报告
数字图像处理实验报告数字图像处理实验报告(一)实验目的1.理解数字图像处理的基本概念与原理。
2.掌握数字图像处理的基本方法。
3.掌握常用数字滤波器的性质和使用方法。
4.熟练应用数字图像处理软件进行图像处理。
实验器材计算机、MATLAB软件实验内容1.图像的读写与显示首先,我们需要在MATLAB中读入一幅图像,并进行显示。
% 导入图像文件I = imread('myimage.jpg');% 显示图像imshow(I);2.图像的分辨率与色彩空间转换数字图像处理中的一个重要概念是图像的分辨率,通常用像素数量表示。
图像的分辨率越高,代表着图像包含更多的像素,从而更具细节和清晰度。
在数字图像处理中,常常需要将一幅图像从一种色彩空间转换为另一种色彩空间。
RGB色彩空间是最常见的图像色彩空间之一,并且常常作为其他色彩空间的基础。
% 转换图像色彩空间J = rgb2gray(I);% 显示转换后的图像imshow(J);3.图像的增强与滤波图像的增强通常指的是对图像的对比度、亮度和清晰度等方面进行调整,以改善图像的质量和可读性。
数字图像处理中的滤波是一种常用的图像增强方法。
滤波器是一个能够对图像进行局部操作的矩阵,它能够提取或抑制特定的图像特征。
% 对图像进行平滑滤波K = imgaussfilt(J, 1);% 显示滤波后的图像imshow(K);4.数字图像处理在实际应用中的例子数字图像处理在很多实际应用中被广泛应用。
这些应用包括医疗成像、计算机视觉、人脸识别、安防监控等。
下面是数字图像处理在人脸识别应用中的一个简单例子。
% 导入图像文件I = imread('face.jpg');% 进行人脸检测faceDetector = vision.CascadeObjectDetector;bbox = step(faceDetector, I);% 在图像上标记人脸位置IFaces = insertObjectAnnotation(I, 'rectangle', bbox, 'Face');imshow(IFaces);实验结论通过本次实验,我已经能够理解数字图像处理的基本概念与原理,掌握数字图像处理的基本方法,熟练应用数字图像处理软件进行图像处理。
数字图像处理实验——实验一
报告内容:(目的和要求、原理、步骤、数据、计算、小结等)实验一静态图像采集一、实验目的1、了解DSK的工作原理。
2、了解FPGA进行静态图象采集的工作原理。
3、了解DSP的EDMA技术在静态数据采集中的作用。
4、了解DSP的中断技术。
5、了解SDRAM在静态视频中的作用。
6、了解DSP和FPGA在视频数据采集中的同步原理。
二、实验设备计算机、6711DSK、视频板、CCS软件、Webpack软件三、实验原理本实验由视频采集卡上的FPGA和DSK共同完成对摄入图像的静态采集和显示,所为静态采集,就是可以选择采集一幅用户感兴趣的图像,把这幅图像保存到DSK板上的SDRAM中并完成显示。
视频图像由SAA7111进行AD变换和视频解码后输出CCIR601标准的视频数据流送给FPGA以及SDRAM,包括:16位图像数据(高8位为Y信号,低8位为UV信号交叉出现);行同步信号hs(在行消隐期间为高电平,其他时间为低电平);场同步信号vs(在场消隐期间为高电平,其他时间为低电平);行参考信号href(行数据有效期间为高电平)。
在PAL 制下,标准的CCIR601视频数据为864点/行*625/场*50场,一场分为两帧,分别为奇数行和偶数行。
其中每行有效数据为720个点,即herf\维持720个点。
FPGA输出给AL250进行视频显示的信号也需要满足这一格式。
根据这一格式,采集时FPGA将有效,的视频数据存入FPGA的OUTFIFO中,同时以行同步信号作为DSP的中断信号通知DSP取走FIFO 中一行的数据。
DSP收到中断信号后进入中断处理程序,用EDMA从FPGA的OUTFIFO 中读取一行的数据到SDRAM中,再用EDMA将一行的数据从SDRAM搬到视频板INFIFO 中。
FPGA产生显示所需的同步信号和对INFIFO读取的控制信号,控制INFIFO中的数据和同步信号AL250完成显示功能。
为此在这个实验前,需要了解以下知识点:1、视频图像的原理和应用2、DSP原理和应用3、FPGA原理和应用四、实验步骤1、复习有关图象动态采集的基础知识。
数字图像处理实验报告
数字图像处理实验报告数字图像处理实验报告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 直方图均衡化编码实现直方图均衡化算法(不能使用第三方直方图均衡化函数)。
代码如下:a=imread('e:\b.jpg');%读取图像b=rgb2gray(a); %转化为灰度图像imshow(b); %显示原图c=histeq(b); %直方图均衡化subplot(121),imshow(a);subplot(122),imshow(c); %显示处理后的图像图像如下:实验2 频率域滤波图像中含有周期性干扰,设计使用频率域分析方法检测和去除图像周期性干扰的算法(可以使用第三方傅里叶变换和反变换函数)。
代码如下:%频率域滤波clc;close all;f=imread('salt.bmp');f=im2double(f);F=fft2(double(f));%傅里叶变换F=fftshift(F);%将变换的原点移到频率矩形的中心[M,N]=size(f);%理想低通滤波D0=input('输入截止频率');h1=zeros(M,N);for i=1:Mfor j=i:Nif(sqrt(((i-M/2)^2+(j-N/2)^2))<D0)h1(i,j)=1;endendendG1=F.*hl;61=ifftshift(G1);g1=real(ifft2(G1));subplot(2,3,1);imshow(f);title('原图');subplot(2,3,2);imshow(g1);title('理想低通滤波’);%巴特沃斯低通滤波n=input('巴特沃斯滤波器的阶数 n=');n1=fix(M/2);n2=fix(N/2);h2=zeros(M,N);for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);h2=1./(1+(d./D0).^(2*n));endendG2=F.*h2;G2=ifftshift(G2);g2=real(ifft(G2));subplot(2,3,1);imshow(f);title('原图'); subplot(2,3,4);imshow(g3);title('低通滤波'); 图像如下:原图巴特沃斯低通理想低通实验3彩色图像去噪对RGB彩色空间和HIS彩色空间去噪效果进行比较分析。
《数字图像处理》实验教案
《数字图像处理》实验教案一、实验目的与要求1. 实验目的(1)理解数字图像处理的基本概念和原理;(2)掌握常用数字图像处理算法和技巧;(3)培养实际操作能力和动手能力,提高解决实际问题的能力。
2. 实验要求(1)熟悉实验环境和相关软件;(2)了解实验原理和流程;二、实验环境与工具1. 实验环境(1)计算机操作系统:Windows 10/Linux/macOS;(2)编程语言:MATLAB/Python/C++等;(3)图像处理软件:Photoshop/OpenCV等。
2. 实验工具(1)编程环境:MATLAB/Python/C++开发工具;(2)图像处理软件:Photoshop/OpenCV;(3)实验教材和参考资料。
三、实验内容与步骤1. 实验一:图像读取与显示(1)打开图像处理软件,导入一幅图像;(2)了解图像的基本信息,如像素大小、分辨率等;(3)将图像显示在界面上,进行观察和分析。
2. 实验二:图像基本运算(1)对图像进行灰度化处理;(2)进行图像的直方图均衡化;(3)实现图像的滤波处理,如高斯滤波、中值滤波等。
3. 实验三:边缘检测(1)实现Sobel边缘检测算法;(2)实现Canny边缘检测算法;(3)分析不同边缘检测算法的效果和特点。
4. 实验四:图像分割(1)利用阈值分割法对图像进行分割;(2)利用区域生长法对图像进行分割;(3)分析不同图像分割算法的效果和特点。
5. 实验五:特征提取与匹配(1)提取图像的关键点,如角点、边缘点等;(2)利用特征匹配算法,如SIFT、SURF等,进行图像配准;(3)分析不同特征提取与匹配算法的效果和特点。
四、实验注意事项1. 严格遵循实验要求和步骤,确保实验的正确性;2. 注意实验环境和工具的使用,防止计算机和设备的损坏;3. 尊重知识产权,不得抄袭和剽窃他人成果;4. 实验过程中遇到问题,应及时请教老师和同学。
五、实验报告要求1. 报告内容:实验目的、实验环境、实验内容、实验步骤、实验结果及分析;2. 报告格式:文字描述清晰,条理分明,公式和图像正确无误;3. 报告篇幅:不少于2000字;4. 提交时间:实验结束后一周内。
《数字图像处理》实验教案
《数字图像处理》实验教案一、实验目的1. 使学生了解和掌握数字图像处理的基本概念和基本算法。
2. 培养学生运用数字图像处理技术解决实际问题的能力。
3. 提高学生使用相关软件工具进行数字图像处理操作的技能。
二、实验内容1. 图像读取与显示:学习如何使用相关软件工具读取和显示数字图像。
2. 图像基本操作:学习图像的旋转、缩放、翻转等基本操作。
3. 图像滤波:学习使用不同类型的滤波器进行图像去噪和增强。
4. 图像分割:学习利用阈值分割、区域增长等方法对图像进行分割。
5. 图像特征提取:学习提取图像的边缘、角点等特征信息。
三、实验环境1. 操作系统:Windows或Linux。
2. 编程语言:Python或MATLAB。
3. 图像处理软件:OpenCV、ImageJ或MATLAB。
四、实验步骤1. 打开相关软件工具,导入图像。
2. 学习并实践图像的基本操作,如旋转、缩放、翻转等。
3. 学习并实践图像滤波算法,如均值滤波、中值滤波等。
4. 学习并实践图像分割算法,如全局阈值分割、局部阈值分割等。
5. 学习并实践图像特征提取算法,如Canny边缘检测算法等。
五、实验要求1. 每位学生需独立完成实验,并在实验报告中详细描述实验过程和结果。
2. 实验报告需包括实验目的、实验内容、实验步骤、实验结果和实验总结。
3. 实验结果要求清晰显示每个步骤的操作和效果。
4. 实验总结部分需对本次实验的学习内容进行归纳和总结,并提出改进意见。
六、实验注意事项1. 实验前请确保掌握相关软件工具的基本使用方法。
3. 在进行图像操作时,请尽量使用向量或数组进行处理,避免使用低效的循环结构。
4. 实验过程中如需保存中间结果,请使用合适的文件格式,如PNG、JPG等。
5. 请合理安排实验时间,确保实验报告的质量和按时提交。
七、实验评价1. 实验报告的评价:评价学生的实验报告内容是否完整、实验结果是否清晰、实验总结是否到位。
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这是应⽤程序的主要头⽂件。
数字图像处理实验
数字图像处理实验实验总学时:10学时实验目的:本实验的目的是通过实验进一步理解和掌握数字图像处理原理和方法。
通过分析、实现现有的图像处理算法,学习和掌握常用的图像处理技术。
实验内容:数字图像处理的实验内容主要有三个方面:(1) 对图像灰度作某种变换,增强其中的有用信息,抑制无用信息,使图像的视在质量提高,以便于人眼观察、理解或用计算机对其作进一步的处理。
(2) 用某种特殊手段提取、描述和分析图像中所包含的某些特征和特殊的信息,主要的目的是便于计算机对图像作进一步的分析和理解,经常作为模式识别和计算机视觉的预处理。
这些特征包括很多方面,例如,图像的频域特性、灰度特征、边界特征等。
(3) 图像的变换,以便于图像的频域处理。
实验一图像的点处理实验内容及实验原理:1、灰度的线性变换灰度的线性变换就是将图像中所有的点的灰度按照线性灰度变换函数进行变换。
该线性灰度变换函数是一个一维线性函数:灰度变换方程为:其中参数为线性函数的斜率,函数的在y轴的截距,表示输入图像的灰度,表示输出图像的灰度。
要求:输入一幅图像,根据输入的斜率和截距进行线性变换,并显示。
2、灰度拉伸灰度拉伸和灰度线性变换相似。
不同之处在于它是分段线性变换。
表达如下:其中,(x1,y1)和(x2,y2)是分段函数的转折点。
要求:输入一幅图像,根据选择的转折点,进行灰度拉伸,显示变换后的图像。
3、灰度直方图灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,其横坐标表示像素的灰度级别,纵坐标表示该灰度出现的频率(象素的个数)。
要求:输入一幅图像,显示它的灰度直方图,可以根据输入的参数(上限、下限)显示特定范围的灰度直方图。
4、直方图均衡:要求1 显示一幅图像pout.bmp的直方图;2 用直方图均衡对图像pout.bmp进行增强;3 显示增强后的图像。
实验二:数字图像的平滑实验内容及实验原理:1.用均值滤波器(即邻域平均法)去除图像中的噪声;2.用中值滤波器去除图像中的噪声3. 比较两种方法的处理结果 实验步骤:用原始图象lena.bmp 或cameraman.bmp 加产生的3%椒盐噪声图象合成一幅有噪声的图象并显示;1. 用均值滤波器去除图像中的噪声(选3x3窗口);2. f (x 0,y 0)=Med {f (x,y )∨x ∈[x 0−N,x 0+N ],y ∈[y 0−N,y 0+N ]}用中值滤波器去除图像中的噪声(选3x3窗口做中值滤波);3. 将两种处理方法的结果与原图比较,注意两种处理方法对边缘的影响。
数字图像处理实验报告(五个实验全)
数字图像处理实验报告(五个实验全)实验⼀ 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. 目的通过本实验,使学生了解数字图像处理的基本概念、方法和算法,掌握MATLAB 软件在图像处理方面的应用,提高学生分析问题和解决问题的能力。
2. 要求(1)熟悉MATLAB软件的基本操作。
(2)了解数字图像处理的基本概念和常用算法。
(3)能够运用MATLAB实现图像处理的基本操作和算法。
二、实验内容与步骤1. 实验内容(1)图像读取与显示。
(2)图像的基本运算(如加、减、乘、除等)。
(3)图像的滤波处理。
(4)图像的边缘检测。
(5)图像的分割与标记。
2. 实验步骤(1)打开MATLAB软件,新建一个脚本文件。
(2)导入所需图像,使用imread()函数读取图像,使用imshow()函数显示图像。
(3)进行图像的基本运算,如加、减、乘、除等,使用imadd()、imsub()、imdiv()、imconcat()等函数。
(4)对图像进行滤波处理,如使用均值滤波、中值滤波等,使用imfilter()函数。
(5)进行图像的边缘检测,如使用Sobel算子、Canny算子等,使用edge()函数。
(6)对图像进行分割与标记,如使用区域生长、阈值分割等方法,使用watershed()函数。
(7)对实验结果进行分析和讨论,总结实验心得。
三、实验注意事项1. 严格遵循实验步骤,确保实验的正确进行。
2. 合理选择参数,如滤波器的尺寸、阈值等。
3. 注意图像数据类型的转换,如浮点型、整型等。
4. 保持实验环境的整洁,避免误操作。
四、实验评价1. 评价内容(1)实验步骤的完整性。
(2)实验结果的正确性。
2. 评价标准(1)实验步骤完整,得分20分。
(2)实验结果正确,得分30分。
总分100分。
五、实验拓展1. 研究不同滤波器对图像滤波效果的影响。
2. 尝试使用其他图像分割算法,如基于梯度的分割方法、聚类分割方法等。
3. 探索图像处理在其他领域的应用,如计算机视觉、医学影像处理等。
六、实验一:图像读取与显示1. 实验目的掌握MATLAB中图像的读取和显示方法,熟悉图像处理的基本界面。
数字图像处理实验——实验四
报告内容:(目的和要求、原理、步骤、数据、计算、小结等)图像处理综合性实验报告实验四综合实验一、实验目的1、掌握matlab编程语言进行编程。
2、用matlab及运用各种数字图像处理方法实现对图像的变换。
二、实验设备计算机、Matlab软件三、实验原理图像预处理是相对于图像识别、图像理解而言的一种前期处理。
不论采用何种装置,输入的图像往往不能令人满意。
例如,从美学的角度会感到图像中物体的轮廓过于鲜明而显得不协调;按检测对象物大小和形状的要求看,图像的边缘过于模糊;在相当满意的一幅图像上会发现多了一些不知来源的黑点或白点;图像的失真、变形等等。
总之,输入的图像在视觉效果和识别方便性等方面可能存在诸多问题,这类问题不妨统称为“质量”问题。
尽管由于目的、观点、爱好等的不同,图像质量很难有同意的定义和标准,但是,根据应用要改善图像质量却是一个共同的愿望。
改善图像质量的处理称为图像预处理,主要是指按需要对图像进行适当的变换突出某些游泳的信息,去除或削弱无用的信息,如改变图像对比度,去除噪声或强调边缘的处理等。
四、实验步骤1.对图像灰度非线性变换2.对某个图像进行直方图均衡化3.对图像进行直方图规定化4.对图像进行空间域低通滤波5.对图片进行低通滤波处理6.对图像进行空域高通滤波法7.通过各种频域低通滤波器方法对图像进行处理五、源程序清单、测试数据、结果1、灰度非线性变换图像灰度变换是图像增强的一种手段。
其中灰度非线性变换能使图像灰度的分布均匀,与人的视觉特性相匹配。
MATLAB语言编写的例程和图像运行结果如下:%GRAY TRANSFORMclc;I=imread('21.jpg');imshow(I);J=imadjust(I,[0.3 0.7],[0 1],1);%transfroms the values in the intensity image I to%values in J by linealy mapping values between %0.3 and 0.7 to values between 0 and 1figure;imshow(J);J=imadjust(I,[0.3 0.7],[0 1],1);%If GAMMA is less than 1,the mapping%is weighted toward higher (brighter)output values.figure;imshow(J);J=imadjust(I,[0.3 0.7],[0 1],1.5);% If GAMMA is greater than 1,the % mapping is weighted toward lower (darker)output values.figure;imshow(J);J=imadjust(I,[0.3 0.7],[0 1],1);% If TOP < BOTTOM,the output image % is reversed,as in a photogrphic negative.figure;imshow(J);2、对tire图像进行直方图均衡化图示:直方图均衡化是通过变换函数将原图的直方图调整为平坦的直方图。
《数字图像处理》实验教案
《数字图像处理》实验教案一、实验目的与要求1. 实验目的(1)理解数字图像处理的基本概念和原理;(2)掌握常用的数字图像处理方法和技术;(3)提高实际操作能力和解决问题的能力。
2. 实验要求(1)熟悉实验环境和相关软件;(2)认真阅读实验教材和参考资料;二、实验内容与步骤1. 实验内容(1)图像读取与显示;(2)图像基本运算;(3)图像滤波;(4)图像增强;(5)图像边缘检测。
2. 实验步骤(1)打开实验软件,导入图像;(2)进行图像基本运算,如加、减、乘、除等;(3)应用图像滤波算法,如低通滤波、高通滤波等;(4)采用图像增强技术,如直方图均衡化、对比度增强等;(5)利用图像边缘检测算法,如Sobel算子、Canny算子等。
三、实验注意事项1. 实验环境要求:确保实验环境稳定,网络畅通,软件安装正确;2. 实验数据要求:使用规定的图像数据进行实验,确保数据质量;3. 实验操作要求:严格按照实验步骤进行操作,注意调整参数;四、实验评价与评分标准1. 实验结果评价:根据实验要求,评估实验结果的正确性和效果;2. 实验报告评价:评估实验报告的完整性、逻辑性和表达能力;3. 实验操作评价:评估实验操作的规范性和熟练程度。
五、实验拓展与建议1. 实验拓展:尝试研究其他数字图像处理技术和算法;2. 学习建议:深入学习数字图像处理的基本理论和应用领域;3. 实践建议:多进行实际操作,参加相关竞赛或项目,提高综合能力。
六、实验一:图像读取与显示1. 实验目的(1)掌握图像读取和显示的基本方法;(2)熟悉实验软件的操作界面。
2. 实验内容(1)打开实验软件,导入图像;(2)显示原图像;(3)进行图像的放大、缩小、旋转等操作;(4)保存实验结果。
3. 实验步骤(1)打开实验软件,选择图像文件;(2)导入图像,观察原图像;(3)利用软件工具对图像进行放大、缩小、旋转等操作;(4)保存实验结果,关闭软件。
七、实验二:图像基本运算1. 实验目的(1)掌握图像加、减、乘、除等基本运算方法;(2)了解图像运算的原理和应用。
数字图像处理实验(1)
3)存储该图像(文件名用同学们的本名); 4)、制作标准像的硬拷贝;打印两张,一张
上交(附在实验报告中),一张自己保留;
五、撰写实验报告 1)、实验目的叙述; 2)、实验环境描述; 3)、实验项目及内容; 4)、操作步骤详细描述;包括:系统的激 活方法,菜单的运用等;
5)、记录实验结果。 6)、基本原理介绍; 7)、实验现象描述; 8)、实验结果分析;
谢谢
软件: 操作系统:WINDOWS XP 应用软件: 数字图像处理演示软件。
三、实验内容:
1)、图像信息获取; 2)、图像存储; 3)、观察直方图均衡化处理的效果; 4)、观察图像边缘增强处理效果; 5)、拍摄自己的标准像。
四、实验步骤: 1、图像信息的获取: 1)、激活软件; 2)、调整摄像机的光圈和聚焦,
数字图像处理实验
(一)
一、实验目的
1)、了解“数字图像处理系统”的基本组 成结构;
2)、掌握微型数字图像处理系统的基本 操作方法;
3)、体验主要数字图像处理内容的效果。
二、实验的软、硬件平台:
硬件: 微型图像处理系统, 包括:主机, PC机; 摄像机:Logitech 130万像素, 分辨率:640×480 最高分辨率:1280×960 手动聚焦调整.
摄取一张明暗合适的图像;
ห้องสมุดไป่ตู้
3)、存储图像;
4)、调出该图像,验证是否成功存储了该 图像。
2、观察图像均衡化处理效果 1)、激活图像处理软件; 2)、调整摄像机光圈,摄取一张偏暗的图像 并存储该图像;
3)、调用演示程序中的直方图统计功 能,观察直方图形状;
4)、调用直方图均衡化处理功能,观察 处理结果,同时调用直方图统计功 能,观察直方图形状;
数字图像处理实验报告(完整版)
数字图像处理实验一 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、熟悉并掌握MATLAB工具得使用;2、实现图像得读取、显示、代数运算与简单变换。
二、实验环境MATLAB 6。
5以上版本、WIN XP或WIN2000计算机三、常用函数●读写图像文件1 imreadimread函数用于读入各种图像文件,如:a=imread('e:\w01。
tif')2 imwriteimwrite函数用于写入图像文件,如:imwrite(a,’e:\w02。
tif’,’tif')3imfinfoimfinfo函数用于读取图像文件得有关信息,如:imfinfo('e:\w01、tif’)●图像得显示1imageimage函数就是MATLAB提供得最原始得图像显示函数,如:a=[1,2,3,4;4,5,6,7;8,9,10,11,12];image(a);2 imshowimshow函数用于图像文件得显示,如:i=imread('e:\w01、tif');imshow(i);title(‘原图像’)%加上图像标题3 colorbarcolorbar函数用显示图像得颜色条,如:i=imread(’e:\w01。
tif');imshow(i);colorbar;4 figurefigure函数用于设定图像显示窗口,如:figure(1); /figure(2);5 subplot把图形窗口分成多个矩形部分,每个部分可以分别用来进行显示、Subplot(m,n,p)分成m*n个小窗口,在第p个窗口中创建坐标轴为当前坐标轴,用于显示图形、6 plot绘制二维图形plot(y)Plot(x,y)xy可以就是向量、矩阵。
图像类型转换1rgb2gray把真彩图像转换为灰度图像i=rgb2gray(j)2 im2bw通过阈值化方法把图像转换为二值图像I=im2bw(j,level)Level表示灰度阈值,取值范围0~1(即0.n),表示阈值取自原图像灰度范围得n%3 imresize改变图像得大小I=imresize(j,[m n])将图像j大小调整为m行n列图像运算1imadd两幅图像相加,要求同样大小,同种数据类型Z=imadd(x,y)表示图像x+y2 imsubstract两幅图像相减,要求同样大小,同种数据类型Z=imsubtract(x,y) 表示图像x-y3 immultiplyZ=immultiply(x,y) 表示图像x*y4 imdivideZ=imdivide(x,y) 表示图像x/y四、实验内容(请将实验程序填写在下方合适得位置,实验图像结果拷屏粘贴)1、读入一幅RGB图像,变换为灰度图像与二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像与灰度图像,注上文字标题。
《数字图像处理》实验教案
《数字图像处理》实验教案一、实验目的1. 理解数字图像处理的基本概念和原理;2. 掌握常用的数字图像处理方法和技术;3. 培养实际操作数字图像处理工具的能力;4. 提高对数字图像处理问题的分析和解决能力。
二、实验内容1. 图像读取与显示:使用图像处理软件,读取、显示和保存不同格式的图像文件;2. 图像基本运算:进行图像的加、减、乘、除等基本运算;3. 图像滤波:使用低通滤波器、高通滤波器、带通滤波器等对图像进行滤波处理;4. 图像增强:采用直方图均衡化、对比度增强等方法改善图像质量;5. 边缘检测:使用Sobel算子、Canny算子等方法检测图像边缘。
三、实验原理1. 图像读取与显示:介绍图像处理软件的基本操作,掌握图像文件格式的转换;2. 图像基本运算:介绍图像像素的运算规则,理解图像基本运算的原理;3. 图像滤波:介绍滤波器的原理和应用,掌握滤波器的设计和实现方法;4. 图像增强:介绍图像增强的目的和方法,理解直方图均衡化和对比度增强的原理;5. 边缘检测:介绍边缘检测的原理和算法,掌握不同边缘检测方法的特点和应用。
四、实验步骤1. 图像读取与显示:打开图像处理软件,选择合适的图像文件,进行读取、显示和保存操作;2. 图像基本运算:打开一幅图像,进行加、减、乘、除等基本运算,观察结果;3. 图像滤波:打开一幅图像,选择合适的滤波器,进行滤波处理,观察效果;4. 图像增强:打开一幅图像,选择合适的增强方法,进行增强处理,观察质量改善;5. 边缘检测:打开一幅图像,选择合适的边缘检测方法,进行边缘检测,观察边缘效果。
五、实验要求1. 熟练掌握图像处理软件的基本操作;2. 能够正确进行图像的基本运算;3. 能够合理选择和应用不同类型的滤波器;5. 能够根据图像特点选择合适的边缘检测方法。
六、实验环境1. 操作系统:Windows 10或更高版本;2. 图像处理软件:MATLAB或OpenCV;3. 编程环境:MATLAB或C++;4. 硬件要求:普通计算机或服务器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• g=imread('point.jpg');
• h=log(1+double(g));
%对输入图像对数映射变换
• h=mat2gray(h);
%将矩阵h转换为灰度图片
• h=im2uint8(h);
%将灰度图转换为8位图
• figure,imshow(h)
• J=histeq(f);
%对原图像进行直方图均衡化处理
%显示其直方图
• g1=imadjust(f,[0 1],[1 0]); %灰度转换,实现明暗转换(负片图像)
• figure,imshow(g1)
• %将0.5到0.75的灰度级扩展到范围[0 1]
• g2=imadjust(f,[0.5 0.75],[0 1]);
• figure,imshow(g2)
实验三
3、空间滤波与频域滤波
将图 test2.tif 分别进行空间与频域滤波。
test2.tif
空间滤波:
用 fspecial 产生 9*9,标准差为 2 的高斯滤波器 w,用函数 imfilter 对 f 进行空 间滤波,得到滤波后的图像 fi1。
频域滤波:
将上述高斯滤波器 w 用函数 freqz2 获得其256*256 频域形式 W,用 W 在频域 滤波图像 f(注意 W 的直流分量在频谱中心),得到 Ff,求其傅里叶逆变换 (ifft2),得到滤波后的图像 fi2。用函数 imshow 显示 w,用函数 mesh 显示 W,用 mshow 显示 f,fi1,Ff 的模的对数,fi2。比 较 fi1 与 fi2。
• 空间滤波
1. 给定图像添加噪声(高斯噪声和椒盐噪声)(imnoise) 2. 使用平均滤波器、中值滤波器对不同强度的高斯噪声和
椒盐噪声,进行滤波处理(fspecial, filter2, medfilt2)
实验二——参考答案
• f=imread('medicine_pic.jpg');
• g=imhist(f,256);
• subplot(1,2,2);
%作第2幅子图
• imhist(J,64) ;
%将均衡化后图像的直方图显示为64级灰度
• title(‘均衡变换后的直方图’) ; %给均衡化后图像直方图加标题名
实验二——参考答案
• I=imread('electric.tif');
• J = imnoise(I,'gauss',0.02);
%添加高斯噪声
• J = imnoise(I,'salt & pepper',0.02); (注意空格) %添加椒盐噪声
• ave1=fspecial('average',3);
%产生3×3的均值模版
• ave2=fspecial('average',5);
%产生5×5的均值模版
• K = filter2(ave1,J)/255;
• Figure,imshow(J);
%显示均衡化图像
• %对直方图均衡化后图像进行屏幕控制;作一幅子图,并排两幅图的第1幅
• figure; subplot(1,2,1) ;
• imhist(I,64);
%将原图像直方图显示为64级灰度
• title(‘原图像直方图’) ; %给原图像直方图加标题名
%均值滤波3×3
• L = filter2(ave2,J)/255;
%均值滤波5×5
• M = medfilt2(J,[3 3]);
%中值滤波3×3模板
• N = medfilt2(J,[4 4]);
%中值滤波4×4模板
• imshow(I);
• figure,imshow(J);
• figure,imshow(K);
• figure,imshow(L);
• figure,imshow(M);
• figure,imshow(N);
实验三
1、 利用 MATLAB 实现数字图像的傅里叶变换
读入并显示图test1.tif ,作该图的二维 FFT 变换 F,将其直流分量 移到频谱中心 F1(fftshift()函数),计算其实部 RR、虚部 II,用两 种方法计算幅值 A1=abs(F1)和 A2=sqrt(RR.^2+II.^2),分别显示 A1 和 A2,并加以比较。
testБайду номын сангаас.tif
实验三——参考答案
i=imread(‘test1.tif'); figure,imshow(i); title(‘test1.tif'); f=fft2(i); f1=fftshift(f); rr=real(f1); ii=imag(f1); a1=abs(f1); a2=sqrt(rr.^2+ii^2); aa1=log(1+a1); aa2=log(1+a2); figure,imshow(aa1,[]); title('a1 abs'); figure,imshow(aa2,[]); title('a2 sqrt');
实验三
2、近似冲击函数二维傅里叶变换
A=zeros(99,99); A(49:51,49:51)=1; 作 A 的二维傅里叶变换 B,将 B 直流分量移到频谱中心 B1,分别 用函数 imshow 和 mesh 显示A 和 B1 模的对数(log(1+abs(B1)))
实验三——参考答案
A=zeros(99,99); A(49:51,49:51)=1; B=fft2(A); B1=fftshift(B); figure,imshow(A); title('冲击函数imsow'); figure,mesh(A); title('冲击函数mesh'); figure,imshow(log(1+abs(B1))); title('冲击函数频域模mesh'); figure,mesh(log(1+abs(B1))) title('冲击函数频域模mesh');
数字图像处理——实验
实验一、计算图象统计参数
在matlab软件编写程序: 读取图像(文件名为‘cameraman.tif’); 最大值 最小值 均值 直方图(要求不能调用imhist函数,只能用该函数来
验证自编直方图程序块的正确性)。
实验二
• 灰度和直方图变换
1. 图像数据读出 2. 计算并分析图像直方图(imhist) 3. 利用直接灰度变换法对图像进行灰度变换(imadjust) 4. 直方图均衡化处理及显示(histeq)