Получение изображения (потоковых данных) из ArDrone 2.0 с использованием opencv2 или opencv

Я хочу получить изображение (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;
}

0

Решение

AR.Drone использует нестандартный формат видео, с которым не справляются многие библиотеки и приложения. Для достижения наилучших результатов вам необходимо будет декодировать видео, отправленное дроном, то есть видео H264 в сочетании с пользовательскими заголовками PaVE дрона. Для получения дополнительной информации см. Другие сообщения, такие как Декодирование Ardrone Video Stream в Android

0

Другие решения

Я только что обнаружил это отличное решение, которое сочетает в себе AR Drone 2 и OpenCV.
Это может помочь взглянуть на это:
https://github.com/puku0x/cvdrone

0