Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

BallDetectionGenerator Class Reference

#include <BallDetectionGenerator.h>

Inheritance diagram for BallDetectionGenerator:

Inheritance graph
[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 25 of file BallDetectionGenerator.h.

Public Member Functions

 BallDetectionGenerator (unsigned int mysid, const RegionGenerator *rg, 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 regX1, int regX2, int regY1, int regY2, int area)
 decides wether to actually send the event based on confidence threshold.
void createEvent (EventBase::EventTypeID_t etid, float bbX1, float bbX2, float bbY1, float bbY2, float area, float rx, float ry, unsigned int frame) 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

\[ \left|\frac{a-b}{a+b}\right| \]



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)
Edge masks
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 BallDetectionGeneratoroperator= (const BallDetectionGenerator &fbk)
 don't call

Classes

struct  VObject
 High level vision ouput structure for detected objects. More...


Member Function Documentation

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 30 of file BallDetectionGenerator.h.


The documentation for this class was generated from the following files:

Tekkotsu v3.0
Generated Fri May 11 20:07:44 2007 by Doxygen 1.4.7