【发布时间】:2014-01-15 23:56:13
【问题描述】:
当我在 OpenCV 上运行视频时,如何找到帧之间的差异?我需要做一个循环来检查帧之间的变化并在另一个窗口中显示结果? 我可以在我附在此处的循环中执行此操作吗?还是有其他方法可以做到这一点?
while( key != 'x' )
{
frame = cvQueryFrame( capture );
cvCvtColor(frame, gray, CV_RGB2GRAY);
//gray_frame = cvQueryFrame( capture );
//cvCvtColor(frame, gray_frame, CV_BGR2GRAY);
if(key==27)
break;
cvShowImage( "video",frame );
cvShowImage( "grayvideo",gray );
key = cvWaitKey( 1000 / fps );
}
cvDestroyWindow( "video" );
cvDestroyWindow( "grayvideo" );
cvReleaseCapture( &capture );
return 0;
我在命令窗口上收到此错误:编译器未对齐堆栈变量。 Libavcodec 被错误编译 并且可能非常缓慢或崩溃。这不是 libavcodec 中的错误, 但在编译器中。您可以尝试使用 gcc >= 4.2 重新编译。 不要向 FFmpeg 开发人员报告崩溃。 OpenCV 错误:断言失败 (src1.size() == dst.size() && src1.type() == dst. type()) 在未知函数中,文件 ........\ocv\opencv\src\cxcore\cxarithm.cpp ,第 1563 行
maby 深度的大小有什么问题? 我该如何解决?或者代码可能有问题? 非常感谢您的帮助
【问题讨论】:
-
花时间查看您的其他问题并接受解决问题的答案!每个答案附近都有一个小复选框,您可以单击它来选择官方答案。这样你也可以帮助社区。span>
-
您是指相似图像(物体场景)之间的差异程度,还是只想计算差异图像,如 Diff = frame[N] - frame[N+1]?你能澄清你的问题吗
标签: opencv