opencv 读取设备数据并保存为视频
包含头文件
#include <opencv2/opencv.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
转换格式并保存
//设置格式,帧率和每帧图像大小
cv::VideoWriter video_save("camleft.avi", CV_FOURCC('M', 'J', 'P', 'G'), 30, cv::Size(640, 480));//初始化
cv::Mat rgb_img,yuv_img;
while(1)
{
yuv_img=get_img();//从设备获取yuv形式的图片
cv::cvtColor(yuv_img, rgb_img, CV_YUV420sp2RGB);//yuv转rgb
video_save.write(rgb_img);
cv::imshow("cam0:",rgb_img);
cv::waitKey(1);//根据设备设置时间
}
注意:
必须加
cv::waitKey(1)
;即便设备在处理其他地方耗时很严重,这里也要加至少1ms延时,否则会卡死图像尺寸可以通过下面函数得到
cvGetSize(frame)