VC++开发机器视觉算法源程序

VC++开发机器视觉算法源程序

ID:36721863

大小:388.77 KB

页数:85页

时间:2019-05-14

VC++开发机器视觉算法源程序_第1页
VC++开发机器视觉算法源程序_第2页
VC++开发机器视觉算法源程序_第3页
VC++开发机器视觉算法源程序_第4页
VC++开发机器视觉算法源程序_第5页
资源描述:

《VC++开发机器视觉算法源程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、http://www.mvonline.com.cn机器视觉在线(网络收集)利用VisualC++实现AVI文件的图像截取AVI文件就是我们所说的多媒体文件,所谓的AVI图像就是视频图像,该文件是一个RIFF说明文件,它用于获取、编辑、演示音频、视频序列。一般的AVI文件包含音频流和视频流,有的特殊的AVI还包含一个控制路径或MIDI路径作为附加的数据流。现在播放AVI文件的软件很多,但大多无法从AVI视频文件中读取一帧图像并生成BMP格式的文件。笔者在使用AVI文件开发项目过程中对AVI文件的操作积累了一些经验,对于如何实现从AVI视频流中获取任意帧的图像数据并存储成BMP文件,其中最关键

2、的是要从AVI文件中获取具体某一帧的图像数据,为此我利用Windows提供的API函数实现了自定义的CAvi类,用于操作AVI文件。在使用API函数操作AVI文件时,一定要注意用AVIFileInit()来初始化AVI库,程序结束时用AVIFileExit()释放AVI库,否则API函数无法使用。现以操作包含真彩色图像的AVI文件为例,给出Cavi类的部分函数的具体实现,其中CaviCreate()函数用于读取AVI文件信息并初始化Cavi类的成员,例如根据AVI文件信息定义每帧图像的宽、高、每帧图像的信息头结构等等;函数AviRead(intmFrame)用于从AVI文件中读取第mFram

3、e帧。实现代码显示如下://Cavi类头文件定义;classCAvifile://AVI类,处理AVI文件{public:intcy;//图象高intcx;//图象宽file://longm_maxFrame;BYTE*pData;//寸储图象数据BITMAPINFO*m_pBMI;//位图文件信息头PAVISTREAMpavi;//AVI流PAVIFILEpfile;//AVI文件指针AVIFILEINFO*pfi;file://AVI信息BOOLAviRead(intmFrame);//读AVI文件的第mFrame帧CAvi();//标准构造函数CAviCreate(CString&st

4、ring);//用文件名初始化AVI类的成员virtual~CAvi();};//Cavi类文件实现部分;CAvi::CAvi(){AVIFileInit();//初始化AVI库cx=0;//定义图象宽、高、等成员cy=0;m_pBMI=NULL;pData=NULL;http://www.mvonline.com.cn机器视觉在线(网络收集)file://m_maxFrame=0;pfi=NULL;}CAvi::~CAvi()//析构、释放指针{//AVIFileClose(pfile);AVIFileExit();if(pData!=NULL)deletepData;pData=NULL

5、;if(m_pBMI!=NULL)deletem_pBMI;m_pBMI=NULL;if(pfi!=NULL)deletepfi;pfi=NULL;}CAvi::CAviCreate(CString&string)//读文件初始化该类{HRESULThr;pfi=newAVIFILEINFO;hr=AVIFileOpen(&pfile,//returnedfilepointerstring,//filenameOF_READ,//modetoopenfilewithNULL);hr=AVIFileInfo(pfile,file://获取AVI信息,放入pfi中pfi,sizeof(AVIFI

6、LEINFO));cx=pfi->dwWidth;//图象宽、高cy=pfi->dwHeight;hr=AVIFileGetStream(//将AVI变成视频流pfile,&pavi,streamtypeVIDEO,0//LONGlParam);m_pBMI=newBITMAPINFO;//定义BMP信息头m_pBMI->bmiHeader.biBitCount=24;m_pBMI->bmiHeader.biClrImportant=0;m_pBMI->bmiHeader.biClrUsed=0;m_pBMI->bmiHeader.biCompression=BI_RGB;m_pBMI->b

7、miHeader.biHeight=cy;http://www.mvonline.com.cn机器视觉在线(网络收集)m_pBMI->bmiHeader.biWidth=cx;m_pBMI->bmiHeader.biPlanes=1;m_pBMI->bmiHeader.biSize=sizeof(BITMAPINFOHEADER);m_pBMI->bmiHeader.biXPelsPerMeter=0;m_p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。