1、图像处理实验指导书版数字图像处理实验指导书2010年4月前言本实验主要目的是使实验者了解一般科学研究和工程实践中从图像采集到处理整个过程中所涉及的图像采集、存储、处理和显示方法,了解一般图像处理系统的构成及图像处理软件的设计方法。1 数字图像处理系统的一般组成实验中使用的图像处理系统结构框图如图1所示。实验中使用深圳健球实业生产的彩色一体变焦摄像头和微视公司生产的V110视频采集卡。该采集卡支持两路复合视频信号输入和一路S-Video信号输入,视频信号制式可以是PAL、NTSC或SECAM,采集卡的最高分辨率为768 x 576,采集的数据精度可为8bit、16bit、24bit和32bit,
2、采集卡的外观如图2所示。图2 微视V110视频采集卡外观实验主机采用Pentium(R)4 2.93GHz CPU,1G+256M内存物理地址扩展;方正17 FC777K彩色显示器。2 视频采集卡参数设置图像采集卡参数可以通过调用采集卡接口函数MV_GetDeviceParameter()和MV_SetDeviceParameter()来获取和设置,所设置参数的具体含义见MICROVIEW VER.5.0 程序员开发手册。3 图像处理程序设计 通过视频采集卡获得数字图像后,可以通过软件或硬件的处理手段完成对图像的增强、恢复以及压缩或编码等处理工作。 本课程实验由实验者学习使用图像采集卡采集图像
3、,实验中提供使用VC+编写的应用程序框架,由实验者编写的核心处理函数,观察实验结果。实验共分三个部分: 实验一 学习BMP图像文件格式,统计图像直方图。使用C语言编程实现RAW到BMP文件格式的转换,并统计该图像直方图; 实验二 学习使用视频采集卡采集和显示图像,重点了解视频采集卡的工作原理,图像采集程序设计,图像的存储格式以及图像的读取和显示方法; 实验三 设计中值滤波函数,完成对图像的中值滤波处理,观察和分析中值滤波结果。4 实验中的注意事项任何时候,不要带电插拔连接线,尤其是视频源输入输出连接线,如需插拔连接线,需要先关断任何一端的电源,以免损坏采集卡。实验一 RAW到BMP文件的转换及
4、图像直方图统计一、 实验目的本次实验的目的是学习BMP文件格式,掌握将RAW图像文件格式转换为BMP文件格式的方法,完成图像直方图的统计。二、 实验方案实验中提供的RAW文件,包含一幅大小512 x 512像素,256级灰度的图像。首先将其读入内存,并创立一个新的BMP文件,根据提示的图像大小,完成BMP文件头、信息头、调色板和图像数据的写入。随后统计该图像的直方图,打印统计结果三、 程序流程图图1 RAW到BMP文件转换流程图四、 问题1、 什么是调色板?说明其数据结构。如何确定BMP文件调色板的大小?2、 BMP文件中图像数据是按什么顺序存放的?实验二 图像的采集与显示一、 实验目的本次实
5、验的目的包括:1. 了解一般图像处理系统的构成,重点了解图像采集卡的工作原理;2. 了解图像采集程序设计方法;3. 学习图像的存储格式以及图像的读取和显示方法。二、 实验方案由模拟摄相机输出视频信号到视频采集卡的视频输入端,经视频采集卡解码后生成单幅数字图像,将生成的图像以Bmp格式保存到PC机硬盘上,之后利用应用程序将所存储的Bmp图像输出到显示器上。三、 图像采集卡使用流图图1 图像采集卡使用流图四、 图像采集卡操作步骤在开发图像采集程序时,应遵循以下操作步骤:Step 1. 使用MV_OpenDevice( )函数获取设备句柄;Step 2. 在MV_OperateDevice(CurD
6、evice,MVRUN)函数中,调用上一步获取的设备句柄,和MVRUN参数,使采集卡处于工作状态;Step 3. 利用MV_SetDeviceParameter( )设置图像显示的窗口句柄;Step 4. 使用采集卡SDK提供的其它函数操作设备;Step 5. 停止采集卡,MV_OperateDevice(CurDevice, MVSTOP);Step 6. 采集工作完成后,使用MV_CloseDevice(CurDevice)关闭采集卡。五、 示例程序以及函数说明示例程序见Single Capture工程文件。实验中用到的函数有: 采集卡初始化和关闭函数1. MV_OpenDevice原型:
7、 MVAPI HANDLE WINAPI MV_OpenDevice ( DWORD Index, BOOL bRelese )说明:初始化,创建Index 指定的设备。2MV_CloseDevice原型:MVAPI VOID WINAPI MV_CloseDevice( HANDLE hDevice )说明:不再使用以hDevice 标识的设备时,关闭该设备。采集卡操作函数1MV_GetDeviceNumber原型:MVAPI DWORD WINAPI MV_GetDeviceNumber()说明:返回主机中正确安装的采集卡数目。2MV_OperateDevice原型:MVAPI RUNOP
8、ER WINAPI MV_OperateDevice( HANDLE hDevice, RUNOPER Oper )说明:操纵设备, 即使采集卡处于运行/停止/暂停状态。3MV_SetDeviceParameter原型:MVAPI BOOL WINAPI MV_SetDeviceParameter( HANDLE hDevice, MV_PARAMTER Oper, DWORD Val );说明:设置设备和SDK 的工作参数。4MV_GetDeviceParameter原型:MVAPI LONG WINAPI MV_GetDeviceParameter( HANDLE hDevice, MV_
9、PARAMTER Oper )说明:得到设备参数的当前值。 捕获操作函数1MV_CaptureSingle原型:MVAPI PVOID WINAPI MV_CaptureSingle ( HANDLE hDevice,BOOL IsProcess, PVOID pInBuff, ULONG BuffLen,PMV_IMAGEINFO pInfo )说明:捕获一幅图像的数据。2MV_SaveFile原型:MVAPI BOOL WINAPI MV_SaveFile( PUCHAR FileName,MV_FILETYPE FileType, PVOID pImageData, PMV_IMAGEI
10、NFO pImage, ULONG ImageTotal, BOOL IsUpDown, BOOL ColororNot,ULONG Quality, BOOL m_bRGB15=TRUE )说明:保存pImageData中图像到MV_FILETYPE指定类型的文件。(以上函数详细说明见MICROVIEW VER.5.0 程序员开发手册) 实验三 图像中值滤波一、 实验目的本次实验的目的是学习使用C+编写图像中值滤波程序,对图像进行中值滤波处理,分析中值滤波对图像的影响。二、 实验方案实验中提供使用Microsoft Visual C+设计生成的基于Windows XP操作系统的图像处理程序框
11、架,由实验者编写中值滤波函数,对采集到的数字图像做中值滤波处理,观察和分析中值滤波对图像的影响。三、 中值滤波算法分别使用1x3,3x1和3x3窗口对图像做中值滤波,比较窗口大小对中值滤波的影响。设计如下的2个函数:1. 使用冒泡法对一维数组进行排序,并返回数组元素的中值/* * 函数定义: * unsigned char GetMidValue(unsigned char * bArray, int nFilterLen) * 参数说明: * unsigned char * bpArray - 指向要获取中值的数组指针 * int nFilterLen - 数组长度 * 返回值: * uns
12、igned char - 返回指定数组的中值。*/2. 中值滤波函数/* * 函数定义: * MedianFilter(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, int nFilterH, int nFilterW, int nFilterMX, int nFilterMY) * 参数说明: * LPSTR lpDIBBits - 指向源DIB图像指针 * LONG lWidth - 源图像宽度(象素数) * LONG lHeight - 源图像高度(象素数) * int nFilterH - 滤波器的高度 * int nFilterW - 滤波器的宽度 * int nFilterMX - 滤波器的中心元素X坐标 * int nFilterMY - 滤波器的中心元素Y坐标 * 返回值: * BOOL - 成功返回TRUE,否则返回FALSE。*/四、 框架程序见MedianFilter工程文件。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1