我想从ArDrone获得图像(流数据),使用opencv2或opencv。
#include <iostream>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
using namespace std;
using namespace cv;
int main()
{
cv::VideoCapture cap;
cv::Mat image;
if (!cap.open("tcp://192.168.1.1:5555"))
{
printf("AR.Drone ERROR CONNECTn");
return -1;
}
while (1)
{
cap >> image;
if (!image.empty())
{
cv::imshow("AR.Drone", image);
cout << "OK" << endl;
}
else
{
cout << "ERROR" << endl;
cv::waitKey(1);
}
}
return 0;
}
我刚刚发现了一个很棒的解决方案,它混合了AR Drone 2和OpenCV。看一看可能会有帮助:https://github.com/puku0x/cvdrone
AR.Drone使用许多库和应用程序无法处理的非标准视频格式。为了获得最佳效果,您需要解码无人机发送的视频,这是H264视频与无人机的自定义PaVE头相结合。有关更多信息,请参阅其他帖子,例如Android中的Ardrone视频流解码