【发布时间】:2017-06-10 18:37:27
【问题描述】:
我正在编写一个 openCV 简单程序以单帧显示多视频。
我可以写两个视频,我想要 4 个视频,可以有人指导如何在单帧中显示 4 个视频。 下面是我的代码
int main(int argc, char** argv)
{
string filename = "/home/user/testavicaravi.avi";
VideoCapture capture(filename);
VideoCapture capture1(filename);
Mat frame;
Mat frame1;
if( !capture.isOpened() )
throw "Error when reading steam_avi0";
if( !capture1.isOpened() )
throw "Error when reading steam_avi1";
namedWindow( "w", 1);
for( ; ; )
{
capture >> frame;
capture1 >> frame1;
if(frame.empty())
break;
if(frame1.empty())
break;
Mat canvas = Mat::zeros(frame.rows*2+1, frame.cols*2+1, frame.type());
frame.copyTo(canvas(Range::all(), Range(0, frame.cols)));
frame1.copyTo(canvas(Range::all(), Range(frame1.cols+1, frame1.cols*2+1)));
// if it is too big to fit on the screen, then scale it down by 2, hopefully it'll fit :-)
imshow("w", canvas);
}
waitKey(0); // key press to close window
// releases and window destroy are automatic in C++ interface
}
【问题讨论】:
-
不同的主题,但您需要在循环中使用 waitKey(1)!