使用opencv2或opencv从ArDrone 2.0获取图像(流数据)

时间:2015-08-17 08:34:49

标签: c++ opencv visual-studio-2013 ar.drone

我想使用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;
}

2 个答案:

答案 0 :(得分:0)

AR.Drone使用许多库和应用程序无法处理的非标准视频格式。为了获得最佳效果,您需要解码无人机发送的视频,即H264视频与无人机的自定义PaVE标头相结合。有关详细信息,请参阅其他帖子,例如Ardrone Video Stream decoding in Android

答案 1 :(得分:0)

我刚刚发现了混合AR Drone 2和OpenCV的绝佳解决方案。 它可能有助于了解它: https://github.com/puku0x/cvdrone