Paparazzi UAS  v5.15_devel-109-gee85905
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
cv.h File Reference

Computer vision framework for onboard processing. More...

#include <pthread.h>
#include "std.h"
#include "peripherals/video_device.h"
#include <BOARD_CONFIG>
+ Include dependency graph for cv.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  cv_async
 
struct  video_listener
 

Typedefs

typedef struct image_t *(* cv_function )(struct image_t *img)
 

Functions

bool add_video_device (struct video_config_t *device)
 Keep track of video devices added by modules. More...
 
struct video_listenercv_add_to_device (struct video_config_t *device, cv_function func, uint16_t fps)
 
struct video_listenercv_add_to_device_async (struct video_config_t *device, cv_function func, int nice_level, uint16_t fps)
 
void cv_run_device (struct video_config_t *device, struct image_t *img)
 

Detailed Description

Computer vision framework for onboard processing.

Definition in file cv.h.


Data Structure Documentation

struct cv_async

Definition at line 41 of file cv.h.

+ Collaboration diagram for cv_async:
Data Fields
pthread_cond_t img_available
struct image_t img_copy
pthread_mutex_t img_mutex
volatile bool img_processed
pthread_t thread_id
volatile int thread_priority
volatile bool thread_running
struct video_listener

Definition at line 51 of file cv.h.

+ Collaboration diagram for video_listener:
Data Fields
volatile bool active
struct cv_async * async
cv_function func
uint16_t maximum_fps
struct video_listener * next
struct timeval ts

Typedef Documentation

typedef struct image_t*(* cv_function)(struct image_t *img)

Definition at line 39 of file cv.h.

Function Documentation

bool add_video_device ( struct video_config_t device)

Keep track of video devices added by modules.

Definition at line 197 of file video_thread.c.

References video_config_t::dev_name, initialize_camera(), printf_debug, and VIDEO_THREAD_MAX_CAMERAS.

Referenced by cv_add_to_device().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

struct video_listener* cv_add_to_device_async ( struct video_config_t device,
cv_function  func,
int  nice_level,
uint16_t  fps 
)

Definition at line 82 of file cv.c.

References video_listener::async, image_t::buf, image_t::buf_size, cv_add_to_device(), cv_async_thread(), cv_async::img_available, cv_async::img_copy, cv_async::img_mutex, listener, cv_async::thread_id, and cv_async::thread_priority.

Referenced by bebop_ae_awb_init(), and viewvideo_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void cv_run_device ( struct video_config_t device,
struct image_t img 
)

Definition at line 177 of file cv.c.

References video_listener::active, video_listener::async, cv_async_function(), video_config_t::cv_listener, video_listener::func, listener, video_listener::maximum_fps, video_listener::next, timeval_diff(), image_t::ts, and video_listener::ts.

Referenced by video_thread_function().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: