vc++6.0 和Opencv1.0 实现将捕获的视频转化为图片
来源:互联网 发布:windows version 1607 编辑:程序博客网 时间:2024/05/18 00:56
本文将介绍如何使用VC++6.0和opencv1.0实现对捕获的视频,转化为图片的操作。
在本例程中实现了将视频转化为彩色图像、灰度图像和二值图像。
本文使用的是MFC,具体建立的方法见博客内的文章《MFC和Flash的完整通讯》一文。里面有详细的讲解。令,在建立过程中,希望各位仔细,对“选择包含windows sockets”中,在“您希望包含WOSA支持吗?”选项不选,即,我们不需要Windows Sockets。在该步骤后,不是直接点击完成,而是点击下一步。在“您希望使用MFC库吗?”这个选项里,选择“作为静态的DLL”选项。这样基本的运行的环境就配置好了。
void CJP_1_1Dlg::ImageProcess(){IplImage *pFrame = NULL;IplImage *pGray = NULL;IplImage *pTwo = NULL;CvCapture *pCaputer = NULL;CvSize size;int nFrmNum = 0;//int i = 0;char image_name[13];cvNamedWindow("SourceImage", 1);cvNamedWindow("GrayImage", 1);cvNamedWindow("TwoImage", 1);cvMoveWindow("SourceImage", 30, 100);cvMoveWindow("GrayImage", 360, 100);cvMoveWindow("TwoImage", 690, 100);if (!(pCaputer = cvCreateCameraCapture(-1))){AfxMessageBox("摄像头无法打开");return;}while (pFrame = cvQueryFrame(pCaputer)){nFrmNum ++;if(nFrmNum % 10 == 0){size = cvSize((int)cvGetCaptureProperty(pCaputer, CV_CAP_PROP_FRAME_WIDTH/3),(int)cvGetCaptureProperty(pCaputer, CV_CAP_PROP_FRAME_HEIGHT/3));//fps = (int ) cvGetCaptureProperty(pCaputer, CV_CAP_PROP_FPS);//numFrames = (int)cvGetCaptureProperty(pCaputer, CV_CAP_PROP_FRAME_COUNT);pGray = cvCreateImage(size, IPL_DEPTH_8U, 1);pTwo = cvCreateImage(size, IPL_DEPTH_8U, 1);cvCvtColor(pFrame, pGray, CV_BGRA2GRAY);cvThreshold( pGray, pTwo ,50, 255, CV_THRESH_BINARY ); //取阈值为50把图像转为二值图像pGray->origin = pTwo->origin = pFrame->origin;sprintf( image_name, "%s%d%s", "imageGray", nFrmNum, ".jpg");cvSaveImage(image_name, pGray);sprintf( image_name, "%s%d%s", "imageTwo", nFrmNum, ".jpg");cvSaveImage(image_name, pTwo);}if (nFrmNum >90){break;}cvShowImage("SourceImage", pFrame);cvShowImage("GrayImage", pGray);cvShowImage("TwoImage", pTwo);if (cvWaitKey(10) >= 0){break;}}cvDestroyAllWindows();cvReleaseCapture(&pCaputer);cvReleaseImage(&pGray);cvReleaseImage(&pTwo);}
作者的工程名字为JP_1_1,可以实现功能的代码就是上述的函数。其实现的功能是,每隔10帧,将当前帧转化为图片。读者可以根据自己的实际情况选择间隔的时间或者直接转化。在程序中,我们希望,读到90帧的时候,程序自动终止。
整个函数是根据实际要求完成的。所有的概念都在里面了。希望能帮到大家。
- vc++6.0 和Opencv1.0 实现将捕获的视频转化为图片
- matlab将视频转化为图片
- opencv1.0+VC++6.0配置和设置
- ffmpeg 将视频和图片互转化
- 将图片转化为文本的一种实现方法
- VC++6.0配置OpenCV1.0
- VC实现将图片转换为数组
- Opencv视频转化为图片
- OpenCV1.0在VC ++6.0下的配置
- 将视频图像转化为灰度视频
- VC6 + OpenCV1.0实现图片缩放显示
- VC6 + OpenCV1.0实现图片缩放显示
- 将PDF转化为图片
- 将图片转化为字符串
- 将颜色转化为图片
- 将图片转化为PDF
- 将Markdown转化为图片
- 将canvas转化为图片
- python处理mysql集合
- 在Eclipse中使用JUnit4进行单元测试(中级篇)
- 数据库恢复误删的数据
- 整理索引碎片,提升SQL Server速度
- C语言结构体中的函数指针与函数
- vc++6.0 和Opencv1.0 实现将捕获的视频转化为图片
- linux中为什么要随机函数栈的起始地址
- JVM加载class文件的原理
- softirq,tasklet,workqueue
- hdu 3627 Giant For //线段树
- set的用法
- 套接字相关数据结构和格式转化
- ASP.NET页面间数据传递的方法
- ZigBee协议介绍