Я хочу получить изображение (Stream Data) из 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 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;
}
AR.Drone использует нестандартный формат видео, с которым не справляются многие библиотеки и приложения. Для достижения наилучших результатов вам необходимо будет декодировать видео, отправленное дроном, то есть видео H264 в сочетании с пользовательскими заголовками PaVE дрона. Для получения дополнительной информации см. Другие сообщения, такие как Декодирование Ardrone Video Stream в Android
Я только что обнаружил это отличное решение, которое сочетает в себе AR Drone 2 и OpenCV.
Это может помочь взглянуть на это:
https://github.com/puku0x/cvdrone