我需要在Mac OS X 10.8上使用OpenCV
从GIge相机保存灰度视频。我用了这段代码:
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中的断言失败(scn == 3 || scn == 4),文件/Users/rosa/OpenCV-2.4.3/modules/imgproc/src/color.cpp,line 3270 libc ++ abi.dylib:terminate调用抛出异常 该计划意外完成。
答案 0 :(得分:3)
我是这样做的:
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);
}
答案 1 :(得分:1)
您的问题是您的操作系统。检查documentation,它表示仅Windows支持灰度功能。
虽然容易修复,但
cv::Mat imageGrey;
cv::Mat imageArr[] = {Image, Image, Image};
cv::merge(imageArr, 3, imageGrey);
oVideoWriter.write(imageGrey);