数字图像处理实验讲义16学时2011年版
- 格式:doc
- 大小:331.50 KB
- 文档页数:22
数字图像处理实验讲义xx学院xx学院2017年9月目录目录 (1)实验概况 ................................................................ 错误!未定义书签。
实验规则 .. (2)实验一图像几何变换 (4)实验二静态图像增强与平滑 (8)实验三静态图像分割与边缘检测 (12)实验四图像压缩与编码 (16)数字图像处理实验概况一、课程设置目的及要求通过《数字图像处理》实验,使学生加深对数字图像处理基本理论的理解,并在数字图像处理的基本知识、基本方法和基本技能方面受到较系统的训练,为数字图像处理的应用打下坚实的基础。
二、实验对象电子科学与技术、光电子科学技术专业本科学生。
三、实验内容和学时分配本课程开设以下4个实验:实验一静态图像几何变换 3学时实验二静态图像增强与平滑 3学时实验三静态图像分割与边缘检测 3学时实验四图像压缩与编码 3学时共计12学时。
实验规则为了维护正常的实验教学次序,提高实验课的教学质量,顺利的完成各项实验任务,确保人身、设备安全,特制定如下实验规则:一、实验前必须充分预习,完成指定的预习内容,并写出预习报告,预习要求如下:1、认真阅读本实验指导书,分析掌握本次实验的基本原理;2、完成各实验预习要求中指定的内容;3、熟悉实验任务。
二、实验时,认真、仔细的写出源程序,进行调试,有问题向指导老师举手提问;调试成功准备下载时,必须请示指导老师,得到允许方可下载。
三、实验时注意观察,如发现有异常现象(电脑故障或实验箱故障),必须及时报告指导老师,严禁私自乱动。
四、实验过程中应仔细观察实验现象,认真记录实验数据、波形、逻辑关系及其它现象,记录的原始结果必须经指导教师审阅签字后,方可离开。
五、自觉保持实验室的肃静、整洁;实验结束后,必须清理实验桌,将实验设备、工具、导线按规定放好,并填写仪器设备使用记录。
六、凡有下列情况之一者,不准做实验:1、没有写预习报告者;2、实验开始后迟到10分钟以上者;3、实验中不遵守实验室有关规定,不爱护仪器,表现不好而又不服从管理教育者;七、实验后,必须认真作好实验报告,下次实验时交实验指导老师批阅。
数字图像处理实验指导书2011年2月前言本实验主要目的是使实验者了解一般科学研究和工程实践中从图像采集到处理整个过程中所涉及的图像采集、存储、处理和显示方法,了解一般图像处理系统的构成及图像处理软件的设计方法。
1 数字图像处理系统的一般组成实验中使用的图像处理系统结构框图如图1所示。
实验中使用深圳健球实业生产的彩色一体变焦摄像头和微视公司生产的V110视频采集卡。
该采集卡支持两路复合视频信号输入和一路S-Video 信号输入,视频信号制式可以是PAL 、NTSC 或SECAM ,采集卡的最高分辨率为768 x 576,采集的数据精度可为8bit 、16bit 、24bit 和32bit ,采集卡的外观如图2所示。
图1 数字图像处理系统的一般构成图2 微视V110视频采集卡外观实验主机采用Pentium(R)4 2.93GHz CPU,1G+256M内存物理地址扩展;方正17’’FC777K彩色显示器。
2 视频采集卡参数设置图像采集卡参数可以通过调用采集卡接口函数MV_GetDeviceParameter()和MV_SetDeviceParameter()来获取和设置,所设置参数的具体含义见《MICROVIEW VER.5.0 程序员开发手册》。
3 图像处理程序设计通过视频采集卡获得数字图像后,可以通过软件或硬件的处理手段完成对图像的增强、恢复以及压缩或编码等处理工作。
本课程实验由实验者学习使用图像采集卡采集图像,实验中提供使用VC++编写的应用程序框架,由实验者编写的核心处理函数,观察实验结果。
实验共分三个部分:●实验一学习BMP图像文件格式,统计图像直方图。
使用C语言编程实现RAW到BMP文件格式的转换,并统计该图像直方图;●实验二学习使用视频采集卡采集和显示图像,重点了解视频采集卡的工作原理,图像采集程序设计,图像的存储格式以及图像的读取和显示方法;4 实验中的注意事项任何时候,不要带电插拔连接线,尤其是视频源输入输出连接线,如需插拔连接线,需要先关断任何一端的电源,以免损坏采集卡。
《数字图像处理》实验教案一、实验目的与要求1. 实验目的(1)理解数字图像处理的基本概念和原理;(2)掌握常用的数字图像处理方法和技术;(3)培养实际操作数字图像处理软件的能力。
2. 实验要求(1)熟悉计算机操作系统和图像处理软件的使用;(2)了解图像处理的基本概念,如图像采样、量化、图像增强、滤波等;(3)能够根据实际需求选择合适的图像处理方法。
二、实验内容与步骤1. 实验内容(1)图像采样与量化;(2)图像增强;(3)图像滤波;(4)图像边缘检测;(5)图像分割。
2. 实验步骤(1)打开图像处理软件,导入实验所需图像;(2)进行图像采样与量化,观察图像质量的变化;(3)应用图像增强技术,改善图像的视觉效果;(4)利用图像滤波去除图像噪声,提高图像质量;(5)进行图像边缘检测和分割,提取感兴趣的区域。
三、实验原理与方法1. 图像采样与量化原理:图像采样是将图像在空间域上离散化,量化是将图像的像素值进行限制。
方法:设置采样间隔和量化级别,对图像进行采样和量化处理。
2. 图像增强原理:通过对图像像素值进行变换,提高图像的视觉效果。
方法:采用直方图均衡化、对比度增强、锐化等方法进行图像增强。
3. 图像滤波原理:通过卷积运算,去除图像噪声和冗余信息。
方法:选择合适的滤波器,如低通滤波器、高通滤波器、带阻滤波器等,对图像进行滤波处理。
4. 图像边缘检测原理:检测图像中像素值变化显著的点,找出图像的边缘。
方法:采用梯度算子、Sobel算子、Canny算子等方法进行边缘检测。
5. 图像分割原理:将图像划分为具有相似特征的区域,实现图像的分割。
方法:采用阈值分割、区域生长、边缘追踪等方法进行图像分割。
四、实验注意事项1. 实验前请确保熟悉图像处理软件的使用;2. 实验过程中注意调整参数的取值,观察图像效果的变化;五、实验评价与思考1. 实验评价(1)能否正确进行图像采样与量化;(2)能否有效地进行图像增强和滤波处理;(3)能否准确地进行图像边缘检测和分割;(4)实验报告的质量。
《数字图像处理》课程教学大纲一、课程基本信息课程编号:dq04091010课程名称:数字图像处理Digital Image Processing学时/学分:32/2实验学时:12课程类别:专业类课程课程性质:必修课适用专业:电子信息工程开设学期:第六学期先行课程:概率与数理统计、线性代数、信号与系统、数字信号处理责任单位:电气与信息工程学院电子信息工程系二、课程简介《数字图像处理》是面向电子信息工程专业开设的一门专业课程。
通过本课程的学习,学生将获得图像处理的系统设计、相关软件设计与开发知识,并理解图像处理的设计需求、设计原理、设计方法、具有相应实践能力。
能够运用深入的图像处理方法进行数学建模及仿真验证;掌握多层次的实验设计、实现及结果分析的方法,并能将其用于复杂工程实践中。
并为学习后续课程以及从事与本专业相关的工程技术等工作奠定必要的理论基础。
三、课程目标通过本课程的学习,应达到的目标及能力如下:目标1:能够利用数字图像处理所需的数学工具。
学会图像分析的基本方法,具备解决图像应用问题的初步能力;目标2:能够学会数字图像处理基本算法,分析数字图像处理领域复杂工程问题;目标3:能够自行编写MATLAB程序,仿真实现图像处理分析过程,准确筛选、处理、分析实验数据,得出合理有效的结论,规范撰写实验报告。
四、课程目标对毕业要求的支撑五、课程教学内容(一)数字图像处理概述1.主要教学内容:图像的基本概念;数字图像处理,计算机视觉,计算机图形学;数字图像处理系统结构;数字图像处理的主要研究内容;图像的数字化方法;数字图像的数值描述;数字图像的位图文件结构;数字图像的灰度直方图。
2.知识点与能力点要求:(1)知识点:要求学生了解什么是图像以及图像的分类,了解数字图像处理、计算机视觉、计算机图形学之间的区别,了解数字图像处理系统结构。
了解图像的采样和量化方法;掌握BMP位图文件的结构,掌握数字图像灰度直方图的定义、性质和用途。
实验1 图像基本操作1. 实验要求在MATLAB环境下完成下列操作:读入图像;保存图像;图像的显示方法2. 实验类型验证型3. 实验时间2学时4. 实验方法使用函数imread可以将图像读入MATLAB环境,imread的语法为imread( …filename‟ )imread所支持的文件格式包括:TIFF---------- .tif .tiffJPEG-------- .jpg .jpegGIF----------- .gifBMP--------- .bmpPNG--------- .pngXWD--------- .xwd使用函数imwrite可以将图像保存在磁盘上,imwrite的语法为imwrite( f, …filename‟ )使用函数size可以察看图像大小,size的语法为size( )使用函数imfinfo可以察看图像信息,imfinfo的语法为imfinfo filename使用函数imshow可以显示图像缩略图,imshow的语法为imshow ( )使用函数imview可以显示图像原图,imview的语法为,不同的是imview是一个工具,可以完成一些基本的图像操作imview ( )使用函数figure可以开辟一个新的窗口,figure的语法为figure, imshow ( )figure, imview ( )figure, plot ( )…………………使用数据类型转换函数可以转换图像数据类型,如im2uint8 ( ) ------------------ convert image to uint8im2uint16 ( ) ---------------- convert image to uint16mat2gray ( ) ----------------- convert image to double, range[0 , 1]im2double ( ) ---------------- convert image to doubleim2bw ( ) --------------------- convert image to logical5. 实验过程使用函数imread打开一幅灰度图像(fig0309abc.jpg),使用函数imwrite将图像另存为不同的文件名;在此过程中观察图像矩阵的形式,并用图像矩阵的索引法,观察并记录5×5的矩阵片断;使用函数size察看图像大小,使用函数imfinfo察看图像信息;记录图像信息;分别使用函数imshow和函数imview显示图像;记录两种方式的区别;使用函数imread打开一幅彩色图像(start.jpg),观察图像矩阵的形式;并分别观察和记录RGB三色5×5的矩阵片断;使用函数rgb2gray将彩色图像转换为灰度图像;使用im2uint8和im2double转换图像的数据类型,记录5×5矩阵片断在转换前后的变化。
实验2 图像点运算1.实验要求在MATLAB环境下完成下列操作:读入图像;图像灰度变换方法;灰度的对数扩展法;绘制灰度直方图;直方图均衡法;任意灰度变换实现;2.实验类型验证型3.实验时间2学时4.实验方法使用函数imadjust可以实现图像灰度变换,imadjust的语法为imadjust ( f, [ low_in high_in ], [ low_out high_out ], gamma )gamma所表示的意义:>1 ---------- 凹曲线<1 ---------- 凸曲线=1 ---------- 直线灰度的对数扩展法g = c*log( 1+ double( f ) )目的是使亮区域得到抑制,暗区域灰度得到均匀增强使用语句im2uint8(mat2gray( log( 1+ double (f) ) ) )其中系数c通过mat2gray函数自动调整灰度直方图反映图像的灰度分布情况,即亮度分布情况;它说明不同灰度的像素个数或分布概率使用函数imhist绘制灰度直方图,imhist的语法为h = imhist( f );figure, imhist( f );figure, plot( h );figure, stem( h );figure, bar( h );由于拍摄和处理的原因,导致图像的灰度分布范围过小;最大熵原理指出:数据满足均匀分布时,信息量最大;依据这个原理,通过灰度直方图均衡化将图像灰度分布扩展到整个灰度分布范围,可以使图形信息量最大,即使使得图像对比度增强。
使用函数histeq对图像进行直方图均衡,histeq的语法为g = histeq( f, nlev ); % nlev为输出的灰度级数,通常取256,默认64figure, imhist(g);任意灰度变换需要进行分段计算,如图1g = β*(f-a)+ga , a≤f<b ;γ*(f-b)+gb , b≤f≤c ;5.实验过程使用函数imread打开一幅灰度图像(fig0222b.jpg),使用函数imadjust实现图像灰度变换;分别使用:g1= imadjust ( f, [ 20 255 ], [ 0 255 ], 0.5 );g2= imadjust ( f, [ 20 255 ], [ 0 255 ], 1 );g3= imadjust ( f, [ 20 255 ], [ 0 255 ], 2 );g4= imadjust ( f, [ 0 255 ], [ 255 05 ], 1 );figure, imshow(g1);figure, imshow(g2);figure, imshow(g3);figure, imshow(g4);观察并记录四种变换差别。
(注意:请将方括号内的整数需要手工折算成浮点数)使用函数imread打开一幅灰度图像(fig0305.tif),使用如下语句进行对数扩展figure, imshow(f2);g5= im2uint8(mat2gray(log(1+double (f2))));figure, imshow(g5);观察并记录均衡前后的差别。
使用函数imread打开一幅灰度图像(fig0222b.jpg),使用函数imhist绘制灰度直方图,直方图有四种表现形式h = imhist( f3 );figure, imhist( f3 );figure, plot( h );figure, stem( h );figure, bar( h );观察四种直方图的差别。
使用函数imread打开一幅灰度图像(fig0308.tif),说明这幅图像直方图存在的问题。
使用函数histeq对图像进行直方图均衡,比较并记录均衡前后图像的变化h1 = histeq( f3, 256 );figure, imhist( h1 );figure, imshow( f3 );figure, imshow( h1 );打开一幅灰度图像(fig0309abc.jpg),编写一个m文件完成图2的灰度变换功能,观察并记录图像变换前后的区别,将程序记录实验3 图像间的运算1.实验要求在MATLAB环境下完成下列操作:图像加法;图像减法;图像乘法;图像除法;图像与或非等逻辑运算;2.实验类型验证型3.实验时间2学时4.实验方法图像加法是把图像叠加在一起的操作,使用函数imadd将两幅图像相加。
f1=imread('Fig0206a.tif'); %读入图像f2=imread('Fig0207.tif '); %读入图像f3=imadd(f1,f2);figure,imshow(f3);图像减法是从一幅图像中减去另一幅图像,经常被用作检测两幅图像的差别,使用函数imsubtract将两幅图像相减。
下面的操作是根据一幅原始图像,生成其背景亮度图像,然后再从原图像中减去背景亮度图像,从而得到结果。
f4=imread('Fig0404.jpg'); %读入图像bkgrd=imopen(f4,strel('disk',15));f5=imsubtract(f4, bkgrd);figure,subplot(1,2,1),imshow(f4);subplot(1,2,2),imshow(f5);图像乘法将两幅图像对应点的像素进行相乘操作(MATLAB的点乘),使用函数immultiply对两幅图像进行乘法操作,并将相乘的结果作为输出图像对应点的像素值。
f6=imread('Fig0206a.tif'); %读入图像f7=imread(' Fig0207.tif '); %读入图像f8=immultiply(f6,f7); %两幅图像相乘f9=immultiply(f6,1.2); %图像和一个系数相乘,等于将灰度乘以一个系数figure,subplot(2,2,1),imshow(f6);subplot(2,2,2),imshow(f7);subplot(2,2,3),imshow(f8);subplot(2,2,4),imshow(f9);图像除法将两幅图像对应点的像素进行相除操作(MATLAB的点除),使用函数imdivide 对两幅图像进行除法操作,并将相除的结果作为输出图像对应点的像素值。
f10=imread(' Fig0206a.tif '); %读入图像f11=imread(' Fig0207.tif '); %读入图像f12=double(f11);f13=f12*0.2+50;f14=uint8(f13);f15=imdivide (f10,f14);figure,imshow(f15);图像间的逻辑运算主要有“与”、“或”、“非”等,把它们组合起来可以构成其他逻辑运算。
当我们对灰度级进行逻辑操作时,像素值作为一个二进制数来处理,逻辑操作按位进行。
“与”和“或”运算通常用作模板,即通过这些操作可以从一幅图像中提取子图像,更加突出子图像的内容。
下面的“与”和“或”运算通过逐点进行。
f=imread('fig0222b.jpg'); %读入图像[m,n]=size(f);figure,subplot(2,3,1),imshow(f);f1=zeros(m,n);f1(20:150,70:170)=255;f1=uint8(f1);subplot(2,3,2),imshow(f1);for i=1:mfor j=1:nf2(i,j)=bitand(f(i,j),f1(i,j));endendsubplot(2,3,3),imshow(f2); %显示“与”的结果f3=ones(m,n)*255;f3(20:150,70:170)=0;f3=uint8(f3);subplot(2,3,5),imshow(f3);for i=1:mfor j=1:nf4(i,j)=bitor(f(i,j),f3(i,j));endendsubplot(2,3,6),imshow(f4); %显示“或”的结果for i=1:mfor j=1:nf5(i,j)=bitxor(f(i,j),255); %和1取异或等于求反endendsubplot(2,3,4),imshow(f5); %显示“非”的结果5.实验过程使用函数imadd将两幅图像相加('Fig0206a.tif') ('Fig0207.tif '),观察并记录结果。