我想使用opencv2或opencv从ArDrone获取图像(流数据)。
#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 CONNECT\n");
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;
}
答案 0 :(得分:0)
AR.Drone使用许多库和应用程序无法处理的非标准视频格式。为了获得最佳效果,您需要解码无人机发送的视频,即H264视频与无人机的自定义PaVE标头相结合。有关详细信息,请参阅其他帖子,例如Ardrone Video Stream decoding in Android
答案 1 :(得分:0)
我刚刚发现了混合AR Drone 2和OpenCV的绝佳解决方案。 它可能有助于了解它: https://github.com/puku0x/cvdrone