我在我的项目中使用新的罗技相机 c920 进行对象识别。
我的相机可以支持H264编解码器并可以显示H264高清输出。
但是我如何在下面的代码中将 CODEC 类型设置为 H264,以使用 OpenCV 指令将其输出为 H264 解码流。
我使用以下逻辑捕获视频:参考:此链接
#include "opencv2/opencv.hpp"
using namespace cv;
int main(int, char**)
{
VideoCapture cap(0); // open the default camera
if(!cap.isOpened()) // check if we succeeded
return -1;
for(;;)
{
Mat frame;
cap >> frame; // get a new frame from camera
imshow("display", frame);
if(waitKey(30) >= 0) break;
}
// the camera will be deinitialized automatically in VideoCapture destructor
return 0;
}
Run Code Online (Sandbox Code Playgroud)
通过设置 fourCC 属性,您应该告诉 VideoCapture 您的源是 h.264。openCV 的所有文档都说你会得到解码后的 BGR 数据。
cap.set(CV_CAP_PROP_FOURCC, CV_FOURCC('H', '2', '6', '4'));
Run Code Online (Sandbox Code Playgroud)