当我和我的朋友运行此代码时,输出只是一个黑色窗口。我们期望它从我们的RaspberryPi相机开始流式传输视频。我们使用的是RaspberryPi,RaspberryPi Camera,openCv和Raspicam Library。
这是我们的代码:
#include <opencv2/opencv.hpp>
#include "opencv2/highgui/highgui.hpp"
#include <raspicam_cv.h>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
raspicam::RaspiCam_Cv Camera;
namedWindow("color", CV_WINDOW_AUTOSIZE);
while(1)
{
Mat image;
Camera.grab();
Camera.retrieve(image);
imshow("color", image);
waitKey(33);
}
return (0);
}
Here是我们用于安装RaspiCam库的教程的链接。如果您需要更多信息,请告诉我。谢谢!
答案 0 :(得分:0)
您需要打开相机才能使用它。
在你的循环之前:
if( !Camera.open() )
{
std::cerr << "Cannot open the camera" << std::endl;
}
grab()方法返回一个布尔值。您想要拍照时可以检查是否有错误。
此外,您应该指定所需的颜色编码。默认值为RGB,但它占用了很多CPU。