图像处理实验指导书版.docx
《图像处理实验指导书版.docx》由会员分享,可在线阅读,更多相关《图像处理实验指导书版.docx(9页珍藏版)》请在冰豆网上搜索。
![图像处理实验指导书版.docx](https://file1.bdocx.com/fileroot1/2023-3/31/16fd9e87-4fef-4cfa-98f6-4a18771ae1d9/16fd9e87-4fef-4cfa-98f6-4a18771ae1d91.gif)
图像处理实验指导书版
数字图像处理
实验指导书
2010年4月
前言
本实验主要目的是使实验者了解一般科学研究和工程实践中从图像采集到处理整个过程中所涉及的图像采集、存储、处理和显示方法,了解一般图像处理系统的构成及图像处理软件的设计方法。
1数字图像处理系统的一般组成
实验中使用的图像处理系统结构框图如图1所示。
实验中使用深圳健球实业生产的彩色一体变焦摄像头和微视公司生产的V110视频采集卡。
该采集卡支持两路复合视频信号输入和一路S-Video信号输入,视频信号制式可以是PAL、NTSC或SECAM,采集卡的最高分辨率为768x576,采集的数据精度可为8bit、16bit、24bit和32bit,采集卡的外观如图2所示。
图2微视V110视频采集卡外观
实验主机采用Pentium(R)42.93GHzCPU,1G+256M内存物理地址扩展;方正17’’FC777K彩色显示器。
2视频采集卡参数设置
图像采集卡参数可以通过调用采集卡接口函数MV_GetDeviceParameter()和MV_SetDeviceParameter()来获取和设置,所设置参数的具体含义见《MICROVIEWVER.5.0程序员开发手册》。
3图像处理程序设计
通过视频采集卡获得数字图像后,可以通过软件或硬件的处理手段完成对图像的增强、恢复以及压缩或编码等处理工作。
本课程实验由实验者学习使用图像采集卡采集图像,实验中提供使用VC++编写的应用程序框架,由实验者编写的核心处理函数,观察实验结果。
实验共分三个部分:
●实验一学习BMP图像文件格式,统计图像直方图。
使用C语言编程实现RAW到BMP文件格式的转换,并统计该图像直方图;
●实验二学习使用视频采集卡采集和显示图像,重点了解视频采集卡的工作原理,图像采集程序设计,图像的存储格式以及图像的读取和显示方法;
●实验三设计中值滤波函数,完成对图像的中值滤波处理,观察和分析中值滤波结果。
4实验中的注意事项
任何时候,不要带电插拔连接线,尤其是视频源输入输出连接线,如需插拔连接线,需要先关断任何一端的电源,以免损坏采集卡。
实验一RAW到BMP文件的转换及图像直方图统计
一、实验目的
本次实验的目的是学习BMP文件格式,掌握将RAW图像文件格式转换为BMP文件格式的方法,完成图像直方图的统计。
二、实验方案
实验中提供的RAW文件,包含一幅大小512x512像素,256级灰度的图像。
首先将其读入内存,并创立一个新的BMP文件,根据提示的图像大小,完成BMP文件头、信息头、调色板和图像数据的写入。
随后统计该图像的直方图,打印统计结果
三、程序流程图
图1RAW到BMP文件转换流程图
四、问题
1、什么是调色板?
说明其数据结构。
如何确定BMP文件调色板的大小?
2、BMP文件中图像数据是按什么顺序存放的?
实验二图像的采集与显示
一、实验目的
本次实验的目的包括:
1.了解一般图像处理系统的构成,重点了解图像采集卡的工作原理;
2.了解图像采集程序设计方法;
3.学习图像的存储格式以及图像的读取和显示方法。
二、实验方案
由模拟摄相机输出视频信号到视频采集卡的视频输入端,经视频采集卡解码后生成单幅数字图像,将生成的图像以Bmp格式保存到PC机硬盘上,之后利用应用程序将所存储的Bmp图像输出到显示器上。
三、图像采集卡使用流图
图1图像采集卡使用流图
四、图像采集卡操作步骤
在开发图像采集程序时,应遵循以下操作步骤:
Step1.使用MV_OpenDevice()函数获取设备句柄;
Step2.在MV_OperateDevice(CurDevice,MVRUN)函数中,调用上一步获取的设备句柄,和MVRUN参数,使采集卡处于工作状态;
Step3.利用MV_SetDeviceParameter()设置图像显示的窗口句柄;
Step4.使用采集卡SDK提供的其它函数操作设备;
Step5.停止采集卡,MV_OperateDevice(CurDevice,MVSTOP);
Step6.采集工作完成后,使用MV_CloseDevice(CurDevice)关闭采集卡。
五、示例程序以及函数说明
示例程序见SingleCapture工程文件。
实验中用到的函数有:
●采集卡初始化和关闭函数
1.MV_OpenDevice
原型:
MVAPIHANDLEWINAPIMV_OpenDevice(DWORDIndex,BOOLbRelese)
说明:
初始化,创建Index指定的设备。
2.MV_CloseDevice
原型:
MVAPIVOIDWINAPIMV_CloseDevice(HANDLEhDevice)
说明:
不再使用以hDevice标识的设备时,关闭该设备。
●采集卡操作函数
1.MV_GetDeviceNumber
原型:
MVAPIDWORDWINAPIMV_GetDeviceNumber()
说明:
返回主机中正确安装的采集卡数目。
2.MV_OperateDevice
原型:
MVAPIRUNOPERWINAPI
MV_OperateDevice(HANDLEhDevice,RUNOPEROper)
说明:
操纵设备,即使采集卡处于运行/停止/暂停状态。
3.MV_SetDeviceParameter
原型:
MVAPIBOOLWINAPI
MV_SetDeviceParameter(HANDLEhDevice,MV_PARAMTEROper,
DWORDVal);
说明:
设置设备和SDK的工作参数。
4.MV_GetDeviceParameter
原型:
MVAPILONGWINAPI
MV_GetDeviceParameter(HANDLEhDevice,MV_PARAMTEROper)
说明:
得到设备参数的当前值。
●捕获操作函数
1.MV_CaptureSingle
原型:
MVAPIPVOIDWINAPIMV_CaptureSingle(HANDLEhDevice,
BOOLIsProcess,PVOIDpInBuff,ULONGBuffLen,PMV_IMAGEINFOpInfo)
说明:
捕获一幅图像的数据。
2.MV_SaveFile
原型:
MVAPIBOOLWINAPIMV_SaveFile(PUCHARFileName,
MV_FILETYPEFileType,PVOIDpImageData,PMV_IMAGEINFOpImage,
ULONGImageTotal,BOOLIsUpDown,BOOLColororNot,ULONGQuality,
BOOLm_bRGB15=TRUE)
说明:
保存pImageData中图像到MV_FILETYPE指定类型的文件。
(以上函数详细说明见《MICROVIEWVER.5.0程序员开发手册》)
实验三图像中值滤波
一、实验目的
本次实验的目的是学习使用C++编写图像中值滤波程序,对图像进行中值滤波处理,分析中值滤波对图像的影响。
二、实验方案
实验中提供使用MicrosoftVisualC++设计生成的基于WindowsXP操作系统的图像处理程序框架,由实验者编写中值滤波函数,对采集到的数字图像做中值滤波处理,观察和分析中值滤波对图像的影响。
三、中值滤波算法
分别使用1x3,3x1和3x3窗口对图像做中值滤波,比较窗口大小对中值滤波的影响。
设计如下的2个函数:
1.使用冒泡法对一维数组进行排序,并返回数组元素的中值
/***********************************************************************
*函数定义:
*unsignedcharGetMidValue(unsignedchar*bArray,intnFilterLen)
*参数说明:
*unsignedchar*bpArray-指向要获取中值的数组指针
*intnFilterLen-数组长度
*返回值:
*unsignedchar-返回指定数组的中值。
***********************************************************************/
2.中值滤波函数
/***********************************************************************
*函数定义:
*MedianFilter(LPSTRlpDIBBits,LONGlWidth,LONGlHeight,intnFilterH,intnFilterW,intnFilterMX,intnFilterMY)
*参数说明:
*LPSTRlpDIBBits-指向源DIB图像指针
*LONGlWidth-源图像宽度(象素数)
*LONGlHeight-源图像高度(象素数)
*intnFilterH-滤波器的高度
*intnFilterW-滤波器的宽度
*intnFilterMX-滤波器的中心元素X坐标
*intnFilterMY-滤波器的中心元素Y坐标
*返回值:
*BOOL-成功返回TRUE,否则返回FALSE。
***********************************************************************/
四、框架程序
见MedianFilter工程文件。