资源简介
程序作用,输入两个视频,将两个视频在同一窗口中显示,存成一个视频输出。代码配置opencv后可直接执行。

代码片段和文件信息
/************************************************************************/
/*@file
Copyright (C) 2015 LeafLiu
@version 2015-3-27 20:28:44
*/
/************************************************************************/
#include
#include
#include
#define LOG printf
int main()
{
char* Lfilename = “C:\\Users\\leaf\\Desktop\\汇报2015-3-16\\VS_block_res_no_shift_no_fusion_affine~1.avi“/*argv[1]*/;
char* Rfilename = “C:\\Users\\leaf\\Desktop\\汇报2015-3-16\\VS_block_result_SURF.avi“;
CvCapture* pLcapture = NULL;
CvCapture* pRcapture= NULL;
if( !(pLcapture = cvCaptureFromAVI(Lfilename)))
{
LOG(“error load left file\n“);
return 0;
}
if( !(pRcapture = cvCaptureFromAVI(Rfilename)))
{
LOG(“error load right file\n“);
return 0;
}
int LframeH = (int) cvGetCaptureProperty(pLcapture CV_CAP_PROP_frame_HEIGHT);
int LframeW = (int) cvGetCaptureProperty(pLcapture CV_CAP_PROP_frame_WIDTH);
int RframeH = (int) cvGetCaptureProperty(pRcapture CV_CAP_PROP_frame_HEIGHT);
int RframeW = (int) cvGetCaptureProperty(pRcapture CV_CAP_PROP_frame_WIDTH);
if( LframeH!=RframeH||LframeW!=RframeW)
{
LOG(“error-different video size\n“);
return 0;
}
int border = 20;
CvVideoWriter *pWriter_join= cvCreateVideoWriter(“VS4_join.avi“CV_FOURCC(‘X‘‘V‘‘I‘‘D‘)20cvSize(LframeW*2+borderLframeH)1);
IplImage* pLcurframe*pRcurframe;
bool bRun = true;
int idx=0;
while((pLcurframe = cvQueryframe(pLcapture)) && (pRcurframe =cvQueryframe(pRcapture))&& bRun)
{
IplImage *imgJoin=cvCreateImage(cvSize(LframeW*2+borderLframeH)IPL_DEPTH_8U3);
cvSetImageROI(imgJoincvRect(00LframeWLframeH));
cvCopy(pLcurframeimgJoin);
cvSetImageROI(imgJoincvRect(LframeW+border0LframeWLframeH));
cvCopy(pRcurframeimgJoin);
cvWriteframe(pWriter_joinimgJoin);
cvReleaseImage(&imgJoin);
int k = cvWaitKey(30);
switch((char)k)
{
case ‘q‘:
bRun = false;
break;
}
idx++;
printf(“%d\n“idx);
}
cvReleaseVideoWriter(&pWriter_join);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 968886 2014-03-19 22:11 ImageROI_Join\Debug\libiconv-2.dll
文件 2894 2015-03-18 20:13 ImageROI_Join\ImageROI\Debug\ImageROI.Build.CppClean.log
文件 411 2015-03-18 20:13 ImageROI_Join\ImageROI\Debug\ImageROI.log
文件 5035 2014-11-10 09:49 ImageROI_Join\ImageROI\ImageROI.vcxproj
文件 942 2013-12-10 10:18 ImageROI_Join\ImageROI\ImageROI.vcxproj.filters
文件 143 2013-12-10 10:12 ImageROI_Join\ImageROI\ImageROI.vcxproj.user
文件 2089 2015-03-31 09:24 ImageROI_Join\ImageROI\main.cpp
文件 891 2013-12-10 10:12 ImageROI_Join\ImageROI.sln
..A..H. 13824 2015-03-18 20:16 ImageROI_Join\ImageROI.suo
目录 0 2015-03-31 09:22 ImageROI_Join\ImageROI\Debug
目录 0 2015-03-31 09:22 ImageROI_Join\Debug
目录 0 2015-03-31 09:22 ImageROI_Join\ImageROI
目录 0 2015-03-31 09:22 ImageROI_Join
----------- --------- ---------- ----- ----
995115 13
- 上一篇:解析IP数据包课程设计
- 下一篇:软件工程设计模式之策略模式
评论
共有 条评论