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帧的时候,程序自动终止。

    整个函数是根据实际要求完成的。所有的概念都在里面了。希望能帮到大家。

原创粉丝点击