BebopSample with opencv


Product: [Bebop2]
Product version: [4.0.3]
SDK version: [3.8.X]
Use of libARController: [NO] (Only for ARSDK)
SDK platform: [Unix]
Reproductible with the official app: [Not tried]


I want to perform some image analysis on the video stream from the parrot with opencv using the SampleBebop code from the SDK.

For this I’ve tried to capture the /tmp/arsdk_xxxxxx/arsdk_fifo file with command. This method freezes the mplayer output, so I simply commented the execlp command that forks the mplayer, but now the program doesn’t run anymore.

How can I redirect the stream to opencv? Can’t I just keep the decoding structure of the sample to generate the stream file and use any viewer to display it?

Thanks for your help!



I have met the same problem, do you have any idea?



I have no clue, but as I want to use the stream for FPV piloting, I realized that my opencv script was way too slow, so I use directly mplayer with the “-vf tile=2:1:2:5:2” parameter that allow to display the same image twice and side-by-side. The distortion isn’t corrected, but the flaw is much faster than with opencv.


Thank you for your response, I’m a newer, I also want to do some image processing using opencv on the video stream in Unix platform, i read SDK about BebopSample and BebopDroneDecodeStream, i don’t know how to use opencv in bebop and convert videostreaming YUV420 type to Mat, do you figure out it? Thank you advance



I am using the Unix BebopSample provided within the SDK as the basis for my application. Rather than sending images to mplayer I would like to use OpenCV so that I can further process them. There are various posts about this but form what I can tell they do not relate to the current Unix BebopSample but rather iOS versions or something I can find no information about - BebopDecodeStream.

It looks like there might be two ways of doing this - grab a frame at a time when didReceiveFrameCallback(ARCONTROLLER_Frame_t *frame, void *customData) fires. Or capture the file that this function creates and updates (fifo_name). The former seems approriate, although I can find no information on ARCONTROLLER_Frame_t so do not know what type of data this is.

Any help is much appreciated!