Paparazzi UAS
v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
blob_finder.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2015
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
*
20
*/
21
28
#ifndef BLOB_FINDER_H
29
#define BLOB_FINDER_H
30
31
32
#include "
modules/computer_vision/lib/vision/image.h
"
33
34
35
/* YUV Color Filter Parameters */
36
struct
image_filter_t
{
37
uint8_t
y_min
;
38
uint8_t
y_max
;
39
uint8_t
u_min
;
40
uint8_t
u_max
;
41
uint8_t
v_min
;
42
uint8_t
v_max
;
43
};
44
45
/* Blob object: connected pixels */
46
struct
image_label_t
{
47
uint16_t
id
;
48
uint8_t
filter
;
49
50
uint32_t
pixel_cnt
;
51
uint16_t
x_min
;
52
uint16_t
y_min
;
53
uint32_t
x_sum
;
54
uint32_t
y_sum
;
55
56
struct
point_t
contour
[512];
57
uint16_t
contour_cnt
;
58
59
uint16_t
corners
[4];
60
};
61
62
void
image_labeling
(
struct
image_t
*input,
struct
image_t
*output,
struct
image_filter_t
*
filters
,
uint8_t
filters_cnt,
63
struct
image_label_t
*labels,
uint16_t
*labels_count);
64
65
#endif
/* BLOB_FINDER_H */
image_label_t::filter
uint8_t filter
Which filter triggered this blob.
Definition:
blob_finder.h:48
image_label_t::y_sum
uint32_t y_sum
Definition:
blob_finder.h:54
uint16_t
unsigned short uint16_t
Definition:
types.h:16
image_filter_t::u_min
uint8_t u_min
Definition:
blob_finder.h:39
image_label_t::corners
uint16_t corners[4]
Definition:
blob_finder.h:59
image_labeling
void image_labeling(struct image_t *input, struct image_t *output, struct image_filter_t *filters, uint8_t filters_cnt, struct image_label_t *labels, uint16_t *labels_count)
Definition:
blob_finder.c:33
uint32_t
unsigned long uint32_t
Definition:
types.h:18
image_label_t::id
uint16_t id
Blob number.
Definition:
blob_finder.h:47
image_label_t::pixel_cnt
uint32_t pixel_cnt
Number of pixels in the blob.
Definition:
blob_finder.h:50
image_filter_t::v_min
uint8_t v_min
Definition:
blob_finder.h:41
image_filter_t::u_max
uint8_t u_max
Definition:
blob_finder.h:40
image_filter_t
Definition:
blob_finder.h:36
image_filter_t::y_max
uint8_t y_max
Definition:
blob_finder.h:38
filters
static struct FirstOrderLowPass filters[CHIRP_NB_AXES]
Definition:
sys_id_chirp.c:74
image_label_t::contour
struct point_t contour[512]
Definition:
blob_finder.h:56
uint8_t
unsigned char uint8_t
Definition:
types.h:14
image.h
image_label_t::y_min
uint16_t y_min
Definition:
blob_finder.h:52
image_label_t::x_min
uint16_t x_min
Top left corner.
Definition:
blob_finder.h:51
image_filter_t::v_max
uint8_t v_max
Definition:
blob_finder.h:42
image_filter_t::y_min
uint8_t y_min
YUV color filter.
Definition:
blob_finder.h:37
point_t
Definition:
image.h:58
image_label_t::contour_cnt
uint16_t contour_cnt
Definition:
blob_finder.h:57
image_t
Definition:
image.h:44
image_label_t::x_sum
uint32_t x_sum
Sum of all x coordinates (used to find center of gravity)
Definition:
blob_finder.h:53
image_label_t
Definition:
blob_finder.h:46
sw
airborne
modules
computer_vision
blob
blob_finder.h
Generated on Tue Feb 1 2022 13:51:14 for Paparazzi UAS by
1.8.17