BallDetectionGenerator Class Reference#include <BallDetectionGenerator.h>
Inheritance diagram for BallDetectionGenerator:
[legend]List of all members.
Detailed Description
Uses segmented color region information to detect round objects.
This expects its events to come from a RegionGenerator (or a compatable subclass)
Sends a VisionObjectEvent only for the largest ball found (if one is found)
You can set the index of the color of the ball to look for in the constructor, so you can have several of these running looking for balls of different colors.
This is one of our oldest code segments, and has been hacked on a lot, so apologies for a bit of a mess...
Definition at line 23 of file BallDetectionGenerator.h.
|
Public Member Functions |
| BallDetectionGenerator (EventBase::EventGeneratorID_t gid, unsigned int sid, unsigned int mysid, unsigned int colorIdx, unsigned int threshmapChan, unsigned int noiseFiltering, float confidence) |
| constructor
|
virtual void | processEvent (const EventBase &event) |
| see class notes above for what data this can handle
|
Static Public Member Functions |
static std::string | getClassDescription () |
| Gives a short description of what this class of behaviors does... you should override this (but don't have to).
|
Protected Types |
typedef unsigned char | uchar |
| shorthand
|
Protected Member Functions |
void | testSendEvent (const FilterBankEvent &ev, float conf, int regcenX, int regcenY) |
| decides wether to actually send the event based on confidence threshold.
|
void | createEvent (EventBase::EventTypeID_t etid, float centerX, float centerY) const |
| does the actual event sending
|
Static Protected Member Functions |
static int | calcEdgeMask (int x1, int x2, int y1, int y2, int width, int height) |
| returns a bit mask corresponding to edges touched by the coordinates passed
|
static float | pct_from_mean (float a, float b) |
| returns
|
Protected Attributes |
unsigned int | clrIdx |
| the index of the color of the ball we're looking for
|
unsigned int | tmIdx |
| the index of the theshold map (channel) of the FilterBankEvent
|
VObject | ball |
| information about the best ball found
|
bool | present |
| if true, we think we have a ball in front of us
|
unsigned int | count |
| for each frame where we don't agree with present's value, this is incremented and compared against noiseFilter.
|
unsigned int | noiseThreshold |
| the number of frames to wait to make sure an object has dissappeared/reappeared
|
float | confidenceThreshold |
| how sure we should be it's a ball before declaring it as such.
|
Static Protected Attributes |
static const unsigned int | NUM_CHECK = 10 |
| the number of regions to check (from largest to smallest)
|
|
static const uchar | OFF_EDGE_LEFT = 1<<1 |
| bitmask for calcEdgeMask results
|
static const uchar | OFF_EDGE_RIGHT = 1<<2 |
| bitmask for calcEdgeMask results
|
static const uchar | OFF_EDGE_TOP = 1<<3 |
| bitmask for calcEdgeMask results
|
static const uchar | OFF_EDGE_BOTTOM = 1<<4 |
| bitmask for calcEdgeMask results
|
Private Member Functions |
| BallDetectionGenerator (const BallDetectionGenerator &fbk) |
| don't call
|
const BallDetectionGenerator & | operator= (const BallDetectionGenerator &fbk) |
| don't call
|
Classes |
struct | VObject |
| High level vision ouput structure for detected objects. More...
|
Member Typedef Documentation
Constructor & Destructor Documentation
BallDetectionGenerator::BallDetectionGenerator |
( |
EventBase::EventGeneratorID_t |
gid, |
|
|
unsigned int |
sid, |
|
|
unsigned int |
mysid, |
|
|
unsigned int |
colorIdx, |
|
|
unsigned int |
threshmapChan, |
|
|
unsigned int |
noiseFiltering, |
|
|
float |
confidence |
|
) |
|
|
Member Function Documentation
int BallDetectionGenerator::calcEdgeMask |
( |
int |
x1, |
|
|
int |
x2, |
|
|
int |
y1, |
|
|
int |
y2, |
|
|
int |
width, |
|
|
int |
height |
|
) |
[static, protected] |
|
void BallDetectionGenerator::createEvent |
( |
EventBase::EventTypeID_t |
etid, |
|
|
float |
centerX, |
|
|
float |
centerY |
|
) |
const [protected] |
|
static std::string BallDetectionGenerator::getClassDescription |
( |
|
) |
[inline, static] |
|
|
Gives a short description of what this class of behaviors does... you should override this (but don't have to).
If you do override this, also consider overriding getDescription() to return it
Reimplemented from BehaviorBase.
Definition at line 28 of file BallDetectionGenerator.h. |
static float BallDetectionGenerator::pct_from_mean |
( |
float |
a, |
|
|
float |
b |
|
) |
[inline, static, protected] |
|
void BallDetectionGenerator::processEvent |
( |
const EventBase & |
event |
) |
[virtual] |
|
void BallDetectionGenerator::testSendEvent |
( |
const FilterBankEvent & |
ev, |
|
|
float |
conf, |
|
|
int |
regcenX, |
|
|
int |
regcenY |
|
) |
[protected] |
|
Member Data Documentation
The documentation for this class was generated from the following files:
|