Paparazzi UAS  v5.10_stable-5-g83a0da5-dirty
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
detect_contour.c
Go to the documentation of this file.
1 /*
2  * Copyright (C) Roland Meertens and Peng Lu
3  *
4  * This file is part of paparazzi
5  *
6  * paparazzi is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2, or (at your option)
9  * any later version.
10  *
11  * paparazzi is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with paparazzi; see the file COPYING. If not, see
18  * <http://www.gnu.org/licenses/>.
19  */
29 
30 // Function
31 struct image_t *contour_func(struct image_t *img);
32 struct image_t *contour_func(struct image_t *img)
33 {
34 
35  if (img->type == IMAGE_YUV422) {
36  // Call OpenCV (C++ from paparazzi C function)
37  find_contour((char *) img->buf, img->w, img->h);
38  }
39  return img;
40 }
41 
43 {
44  cv_add_to_device(&DETECT_CONTOUR_CAMERA, contour_func);
45  // in the mavlab, bright
48  //
49  // for cyberzoo: Y:12-95, U:129-161, V:80-165, turn white.
50  //int y1=16; int u1=129; int v1=80; % cyberzoo, dark
51  //int y2=100; int u2=161; int v2=165;
52 }
53 
struct video_listener * cv_add_to_device(struct video_config_t *device, cv_function func)
Definition: cv.c:45
Definition: image.h:42
struct image_t * contour_func(struct image_t *img)
Detects contours of an obstacle used in the autonomous drone racing.
void detect_contour_init(void)
uint16_t w
Image width.
Definition: image.h:44
struct contour_threshold cont_thres
Computer vision framework for onboard processing.
uint16_t h
Image height.
Definition: image.h:45
void * buf
Image buffer (depending on the image_type)
Definition: image.h:51
UYVY format (uint16 per pixel)
Definition: image.h:35
void find_contour(char *img, int width, int height)
enum image_type type
The image type.
Definition: image.h:43