使用opencv创建灰度视频 [英] creating a grayscale video using opencv

查看:268
本文介绍了使用opencv创建灰度视频的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在Mac OS X 10.8上使用OpenCV从GIge相机保存灰度视频.我使用了以下代码:

I need to save a grayscale video from a GIge camera using OpenCV on Mac os X 10.8. I used this code:

 namedWindow("My video",CV_WINDOW_AUTOSIZE);
 Size frameSize(659, 493);
 VideoWriter oVideoWriter ("MyVideo.avi",-1, 30, frameSize, false);

 While(1)
 {
 ...
     Mat Image=Mat(Size(GCamera.Frames[Index].Width,GCamera.Frames[Index].Height),CV_8UC1,GCamera.Frames[Index].ImageBuffer);

     oVideoWriter.write(Image);
 ...   
 }

我收到此错误:

OpenCV错误:cvtColor,文件/Users/rosa/OpenCV-2.4.3/modules/imgproc/src/color.cpp,行3270中的断言失败(scn == 3 || scn == 4) libc ++ abi.dylib:终止调用引发异常 该程序意外完成.

OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /Users/rosa/OpenCV-2.4.3/modules/imgproc/src/color.cpp, line 3270 libc++abi.dylib: terminate called throwing an exception The program has unexpectedly finished.

推荐答案

我是这样做到的:

 VideoWriter oVideoWriter ("MyVideo.avi",CV_FOURCC('M','J','P','G'), 30, frameSize);

 While(1)
 {
     Mat Image=Mat(Size(GCamera.Frames[Index].Width,GCamera.Frames[Index].Height),CV_8UC1,GCamera.Frames[Index].ImageBuffer);
     Mat colorFrame;
     cvtColor(Image, colorFrame, CV_GRAY2BGR);
     oVideoWriter.write(colorFrame);
 }

这篇关于使用opencv创建灰度视频的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆