关于opencv存储视频的问题?

张嫩嫩 2016-06-02 05:39:22
在qt下,通过rtsp+ffmpeg解码,然后再解码类中emit send(Mat)。一个线程中接受到Mat类型的数据。我想用videowriter存储在本地,可以正常显示。但是本地视频只有6k。代码如下
void MatThread::setMat(const Mat &tmpMat)
{
this->srcFrame = tmpMat;
if(!srcFrame.empty())
{
//tracking(srcFrame,srcResult);
showMat();
savevideo();
}
else
{
exit(1);
}
}

void MatThread::savevideo()
{
cv::VideoWriter writer("VideoTest111.avi", CV_FOURCC('D', 'I', 'V', 'X'), 25.0, cv::Size(640, 480)/*,0*/);
//cvtColor(srcFrame,srcFrame,CV_RGB2GRAY);
//srcFrame.convertTo(srcFrame,CV_8U);
writer << srcFrame;
/*如果是彩色图像,默认是true,这时要output.ConverTo(output,CV_8UC3)。
如果是灰度图像,设置为0,这时output.ConverTo(output,CV_8U)*/
//srcFrame.convertTo(srcFrame,CV_8UC3);
}
...全文
174 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
张嫩嫩 2016-06-03
  • 打赏
  • 举报
回复
各位大神快来看看。我正常存储可以存储的。

1,451

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 图象工具使用
社区管理员
  • 图象工具使用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧