AURobotServers
4
|
Public Member Functions | |
virtual bool | handleCommand (UServerInMsg *msg, void *extra) |
UFuncCropRow () | |
virtual | ~UFuncCropRow () |
Public Member Functions inherited from UFunctionCamBase | |
virtual void | createResources () |
UImage * | getImage (UServerInMsg *msg, void *extra) |
virtual bool | setResource (UResBase *ressource, bool remove) |
UFunctionCamBase () | |
virtual | ~UFunctionCamBase () |
Public Member Functions inherited from UFunctionImgBase | |
virtual void | setCmdHandler (UCmdExe *cmdExe) |
void | showImagesAsDefault (bool show) |
UFunctionImgBase () | |
virtual | ~UFunctionImgBase () |
Public Member Functions inherited from UFunctionBase | |
bool | addResource (UResBase *resource, UFunctionBase *owner) |
void | closeLogfile () |
virtual const char * | commandList () |
const char * | getAliasName () |
const char * | getLoadedFileName () |
void * | getLoadedModuleRef () |
virtual bool | gotAllResources (char *missingThese, int missingTheseCnt) |
bool | isMine (const char *cmdName) |
bool | isStatic () |
is the module loaded as static A module is static if the ldFilename has a length of zero. More... | |
virtual const char * | name () |
bool | newCmd (UServerInMsg *newMsg, UDataBase *extra) |
bool | newCommand (UServerInMsg *newMsg, void *extra) |
bool | openLogfile (const char *name) |
void | print (const char *preString) |
virtual void | resourceUpdated () |
bool | sendEndTag (UServerInMsg *msg) |
bool | sendEndTag () |
bool | sendFullTag (const char *attributes) |
bool | sendHelpDone (UServerInMsg *msg) |
bool | sendHelpDone () |
bool | sendHelpStart (UServerInMsg *msg, const char *subject) |
bool | sendHelpStart (const char *subject) |
bool | sendHelpStart () |
bool | sendMsg (UServerInMsg *msg, const char *message, int size) |
bool | sendMsg (const char *message) |
bool | sendMsg (UServerInMsg *msg, const char *message) |
bool | sendMsg (int clientIdx, const char *message, int size) |
bool | sendMsgInt (int clientIdx, const char *message) |
bool | sendStartTag (const char *attributes) |
bool | sendText (UServerInMsg *msg, const char *text) |
bool | sendText (const char *text) |
virtual void | setAliasName (const char *name) |
virtual void | setCommand (const char *cmdList, const char *name, const char *note) |
void | setLoadedModuleRef (void *module, const char *moduleFileName) |
virtual void | setLoadTime (UTime) |
void | setName (const char *name) |
void | setVerbose (bool value) |
UFunctionBase () | |
virtual | ~UFunctionBase () |
Public Member Functions inherited from UCallBack | |
bool | addOnEvent (UOnEvent *dataObject) |
virtual bool | onEvent (const char *interface, const char *dataType, void *data) |
UCallBack () | |
virtual | ~UCallBack () |
Public Member Functions inherited from UResVarPool | |
int | addMethod (const char *formalName, const char *paramTypes, const char *comment) |
int | addMethodV (const char *formalName, const char *paramTypes, const char *comment) |
UVarPool * | addStruct (const char *name, const char *comment, bool copy=false) |
UVariable * | addVar (const char *name, const double initialValue, const char *type, const char *comment) |
UVariable * | addVar (const char *name, const char *initialValue, const char *type, const char *comment) |
UVariable * | addVarA (const char *name, const char *initialValue, const char *type, const char *comment) |
bool | callGlobal (const char *name, const char *paramOrder, char **strings, const double *doubles, double *value, UDataBase **returnStruct, int *returnStructCnt) |
bool | callGlobalV (const char *name, const char *paramOrder, UVariable **params, UDataBase **returnStruct, int *returnStructCnt) |
Call a method from the root var pool scope It may be in the structure direct (no '.') or in any sub-structure that the 'name.subname' indicate. More... | |
bool | callLocal (const char *name, const char *paramOrder, char **strings, const double *doubles, double *value, UDataBase **returnStruct, int *returnStructCnt) |
bool | callVS (const char *function, const char *stringParam) |
int | callVSCD (const char *function, const char *strPar, UDataBase *data, int cooSys) |
void | createBaseVar () |
virtual bool | createVarSpace (const int varCnt, const int structCnt, const int methCnt, const char *note, bool copy=false) |
bool | getGlobalString (const char *name, const char **value) |
bool | getGlobalValue (const char *name, double *value) |
bool | getGlobalValue (const char *name, const char **value) |
bool | getGlobalValue (const char *name, bool *value) |
bool | getGlobalValue (const char *name, UTime *value) |
bool | getLocalValue (const char *name, double *value) |
get a value in this variable tree More... | |
bool | getLocalValue (const char *name, bool *value) |
bool | getLocalValue (const char *name, UTime *value) |
double | getLocalValue (int idx) |
UPosition | getLocalValue3D (int idx) |
UPosRot | getLocalValue6D (int idx) |
bool | getLocalValueBool (int idx) |
int | getLocalValueInt (int idx) |
UTime | getLocalValueTime (int idx) |
const char * | getLogFileName () |
const char * | getVarDescription (int idx) |
UVarCalc * | getVarPool () |
bool | isLogFileOpen () |
bool | isLogFileOpen (const char *structName) |
bool | isVarPoolUpdated (int lastCnt, int *newCnt) |
void | logFileClose () |
bool | logFileOpen () |
void | logFileStart (const char *structName, bool open) |
virtual bool | methodCall (const char *name, const char *paramOrder, char **strings, const double *doubles, double *value, UDataBase **returnStruct=NULL, int *returnStructCnt=NULL) |
virtual const char * | print (const char *preString, char *buff, int buffCnt) |
bool | setGlobalVar (const char *name, const double value, bool mayAdd) |
Assigns a value to a variable. The variable may be a part of a structure. More... | |
bool | setLocalVar (int idx, double value, const int element) |
bool | setLocalVar (const char *name, const double value, bool mayAdd) |
Assigns a value to a variable. The variable may be a part of a structure. More... | |
bool | setLocalVar3D (int idx, UPosition *value) |
bool | setLocalVar6D (int idx, UPosRot *value) |
bool | setLocalVarAdd (int idx, double value, const int element) |
bool | setLocalVarPose (int idx, UPose *value) |
void | setVarPool (UVarCalc *sharedVarPool) |
int | updateQTvars (int structIdx) |
UResVarPool () | |
virtual | ~UResVarPool () |
Public Member Functions inherited from UResBase | |
void | createReplayVar (UVarPool *pool) |
UCmdExe * | getCorePointer () |
char * | getLogFileName (char *fn, const int fnCnt) |
int | getResFuncIdx () |
const char * | getResID () |
int | getResVersion () |
bool | isA (const char *idStr) |
bool | isAlsoA (const char *id) |
virtual void | saveSettings () |
void | setCorePointer (UCmdExe *serverCore) |
void | setResFuncIdx (int idx) |
virtual void | setResID (const char *id, const int version) |
virtual void | stop (bool) |
virtual void | updateReplayStatus () |
UResBase () | |
virtual | ~UResBase () |
Public Member Functions inherited from UReplay | |
void | addChild (UReplay *child) |
virtual bool | decodeReplayLine (char *) |
char * | getLogFileName (char *fn, const int fnCnt) |
char * | getReplayFileName (char *fn, const int fnCnt) |
int | getReplayLogLine () |
bool | isReplay () |
bool | isReplayFileOpen () |
void | removeChild (UReplay *child) |
virtual void | replayAdvanceTime (UTime untilTime) |
void | replaySetBaseFileName (const char *name, const char *preName="") |
void | replaySetFileName (const char *name) |
virtual bool | replayStep () |
int | replayStep (int steps) |
virtual bool | replayToTime (UTime untilTime) |
void | setParent (UReplay *parent) |
bool | setReplay (bool value) |
UReplay () | |
virtual | ~UReplay () |
Public Member Functions inherited from ULock | |
bool | lock () |
void | lockInit () |
void | post () |
bool | tryLock () |
bool | tryWait () |
ULock () | |
void | unlock () |
bool | wait () |
~ULock () | |
Public Member Functions inherited from UVarMethodImplement | |
virtual bool | methodCallV (const char *name, const char *paramOrder, UVariable *params[], UDataBase **returnStruct, int *returnStructCnt) |
virtual | ~UVarMethodImplement () |
Public Attributes | |
FILE * | linelog |
FILE * | plantlog |
Public Attributes inherited from UFunctionBase | |
bool | silent |
is reply to client and console to be limited More... | |
Public Attributes inherited from UReplay | |
bool | replayTimeAdvancePending |
UTime | replayTimeNow |
Protected Member Functions | |
void | CannyEdge (UImage *src, UImage *dst) |
void | createBaseVar () |
void | filterMask (UImage *src, UImage *dst) |
void | findPlants (UCamPush *cam, UImage *img, UImage *ellImg) |
int | getCnt () |
void | maskColors (UImage *srcImg, UImage *dstImg) |
Protected Member Functions inherited from UFunctionCamBase | |
UCamPush * | getCam (int imgDevice, const char *posName) |
UCamPush * | getCam (int camDevNum) |
bool | getCamAndRawImage (UCamPush **cam, UImage **imgRaw, int *imgDevice, void *imgBase, const char *posName, int rectfiedImg) |
int | getDefaultCamDevice () |
Protected Member Functions inherited from UFunctionImgBase | |
bool | sendImage (UServerInMsg *msg, const char *tagName, UImage *imgRgb, int imgLeft=0, int imgTop=0, int imgWidth=640, int imgHeight=480, int imgSource=-1, bool isCodecBin=true, bool imgIsBW=false, bool imgGetNum=true, bool imgGetTod=true, bool imgGetTime=false, const char *posName=NULL, bool imgGetName=true, bool silent=false) |
Protected Member Functions inherited from UFunctionBase | |
int | getCmdIndex () |
UResBase * | getStaticResource (const char *resName, bool mayCreate, bool staticOnly=true) |
get a pointer to a static resource. More... | |
bool | isClientAlive (int clientIdx, double holdOffTime) |
bool | sendDebug (UServerInMsg *msg, const char *debugText) |
bool | sendDebug (const char *debugText) |
bool | sendError (UServerInMsg *msg, const char *errorText) |
bool | sendError (const char *errorText) |
bool | sendHelp (UServerInMsg *msg, const char *infoText) |
bool | sendHelp (const char *infoText) |
bool | sendInfo (UServerInMsg *msg, const char *infoText) |
bool | sendInfo (const char *infoText) |
bool | sendWarning (UServerInMsg *msg, const char *warningText) |
bool | sendWarning (const char *warningText) |
UResBase * | setThisResource (const char *ID, UResBase *resource, bool remove, bool *changed, UResBase *currentResPtr, bool *isLocal) |
Protected Member Functions inherited from UResVarPool | |
void | setDescription (const char *note, bool copy=false) |
Protected Member Functions inherited from UResBase | |
UResBase * | getStaticResource (const char *resName, bool mayCreate, bool staticOnly=true) |
get a pointer to a static resource. More... | |
Private Attributes | |
CvBox2D32f | ell [MAX_ELL_CNT] |
resulting ellipses found in image More... | |
int | ellCnt |
number of ellipses found More... | |
UVariable * | varlinepos |
most likely line position in robot coordinates More... | |
UVariable * | varmaxlines |
Max number of lines to be detected. More... | |
UVariable * | varMaxSize |
Maximum size for an estimated plant. More... | |
UVariable * | varMinclosedist |
size of source image in pixels More... | |
UVariable * | varMinSize |
Maximum size for an estimated plant. More... | |
UVariable * | varPoolImg |
pointer Imgpool More... | |
UVariable * | varsquareSE |
Structuring element itterations 3x3 for 1. More... | |
UVariable * | varthetaoff |
size of source image in pixels More... | |
Static Private Attributes | |
static const int | MAX_ELL_CNT = 100 |
Additional Inherited Members | |
Static Public Member Functions inherited from UResVarPool | |
static const char * | getResClassID () |
Static Public Attributes inherited from UFunctionBase | |
static const int | MAX_ID_LENGTH = 30 |
static const int | MAX_RESOURCE_LIST_SIZE = 250 |
Protected Attributes inherited from UFunctionCamBase | |
UCamPool * | camPool |
Protected Attributes inherited from UFunctionImgBase | |
UImagePool * | imgPool |
Protected Attributes inherited from UFunctionBase | |
char | aliasName [MAX_ID_LENGTH] |
UCmdExe * | cmdHandler |
char * | cmdToks [20] |
int | cmdToksCnt |
char | commandsHandled [MAX_RESOURCE_LIST_SIZE] |
UServerInMsg * | msg |
char | pluginName [MAX_RESOURCE_LIST_SIZE] |
bool | verboseMessages |
Protected Attributes inherited from UResBase | |
int | resFuncIdx |
char | resID [MAX_RESOURCE_ID_LENGTH] |
char | resIsAlso [MAX_RESOURCE_ISALSO_LENGTH] |
int | resVersion |
Protected Attributes inherited from UReplay | |
bool | replay |
FILE * | replayFile |
char | replayFileName [REPLAY_FILE_NAME_LENGTH] |
replay filename More... | |
char | replayLine [MAX_LOG_LINE_LENGTH] |
int | replayLogLine |
UReplay * | replayParent |
UTime | replayTimeNext |
Static Protected Attributes inherited from UReplay | |
static const int | MAX_LOG_LINE_LENGTH = 10000 |
static const int | REPLAY_FILE_NAME_LENGTH = 264 |
max length of replay filename More... | |
Kinect-Based crop row navigation system
|
inline |
Constructor
References createBaseVar(), ellCnt, and UFunctionBase::setCommand().
|
inlinevirtual |
Destructor - to delete the resource (etc) when finished
Cannny edge detection
src | is the source image |
dst | is the destination image |
—evt juster threshold
References UImage::copyMeta(), UImage::cvArr(), UImage::setName(), and UImage::updated().
|
inlineprotected |
Make the variables that will be available to other plugins
References UResVarPool::addVar(), varlinepos, varmaxlines, varMaxSize, varMinclosedist, varMinSize, varPoolImg, varsquareSE, and varthetaoff.
Referenced by UFuncCropRow().
filter the image. Source and destination image may be the same.
src | is the source image |
dst | is the destination image |
References UImage::copyMeta(), UImage::cvArr(), UImagePool::getImage(), UVariable::getInt(), UFunctionBase::getStaticResource(), UFunctionImgBase::imgPool, UImage::setName(), varPoolImg, and varsquareSE.
Referenced by handleCommand().
Find plants in image.
cam | camera from wich the image was taken (has focal length and camera pose) |
img | is a pointer to a BW mask image with interesting pixels beeing > 0 |
ellImg | optional image where found plants are drawn (for debug) |
References UImage::cvArr(), ell, ellCnt, UCamRad::getCamPar(), UCamPar::getFocalLength(), UCamPar::getHx(), UCamPar::getHy(), UVariable::getInt(), UTime::GetMicrosec(), UResPoseHist::getPoseAtTime(), UPose::getPoseToMap(), UPose::getPoseToMapPose(), UCamMounted::getPosRot(), UTime::GetSec(), UFunctionBase::getStaticResource(), UImage::imgTime, varMaxSize, varMinSize, UFunctionBase::verboseMessages, UPose::x, UPose::y, and UPosition::z.
Referenced by handleCommand().
|
inlineprotected |
Get number of plants found in image
References ellCnt.
|
inlinevirtual |
Handle incomming command Must return true if the function is handled - otherwise the client will get a 'failed' reply
debug images
hough transform
sorting lines
Robot coordinates
Reimplemented from UFunctionBase.
References a, bool2str(), UImage::camDevice, UFunctionCamBase::camPool, UImage::copyMeta(), UImage::cvArr(), filterMask(), findPlants(), USmlTagIn::getAttValue(), USmlTagIn::getAttValueBool(), USmlTagIn::getAttValueInt(), UCamPool::getCam(), UFunctionCamBase::getCamAndRawImage(), UCamRad::getCamPar(), UVariable::getDouble(), UCamPar::getFocalLength(), UCamPar::getHx(), UCamPar::getHy(), UImagePool::getImage(), UVariable::getInt(), UTime::GetMicrosec(), UResPoseHist::getPoseAtTime(), UPose::getPoseToMap(), UPose::getPoseToMapPose(), UCamMounted::getPosRot(), UTime::GetSec(), UFunctionBase::getStaticResource(), UPose::h, UImage::height(), img, UFunctionImgBase::imgPool, UImage::imgTime, UResBase::line, maskColors(), UPose::print(), UFunctionBase::sendHelpDone(), UFunctionBase::sendHelpStart(), UFunctionBase::sendInfo(), UFunctionBase::sendMsg(), UFunctionBase::sendText(), UFunctionBase::sendWarning(), U2Dlined::set2P(), UVariable::setPose(), UImage::setSize(), UServerInMsg::tag, UImage::toBW(), UImage::toRGB(), UImage::updated(), varlinepos, varmaxlines, varMinclosedist, varPoolImg, varthetaoff, UImage::width(), X, UPose::x, UPose::y, and UPosition::z.
RGB to Excess-Green image
srcImg | is a pointer to the image to be analized |
dstImg | is where the pixels with the ball color is saved. |
References UImage::copyMeta(), UImage::getHeight(), UImage::getLine(), UImage::getUCharRef(), UImage::getWidth(), UImage::isRGB(), UPixel::p1, UPixel::p2, UPixel::p3, UImage::setName(), UImage::setSize(), UImage::toRGB(), and UImage::updated().
Referenced by handleCommand().
|
private |
resulting ellipses found in image
Referenced by findPlants().
|
private |
number of ellipses found
Referenced by findPlants(), getCnt(), and UFuncCropRow().
FILE* UFuncCropRow::linelog |
|
staticprivate |
FILE* UFuncCropRow::plantlog |
|
private |
most likely line position in robot coordinates
Referenced by createBaseVar(), and handleCommand().
|
private |
Max number of lines to be detected.
Referenced by createBaseVar(), and handleCommand().
|
private |
Maximum size for an estimated plant.
Referenced by createBaseVar(), and findPlants().
|
private |
size of source image in pixels
Referenced by createBaseVar(), and handleCommand().
|
private |
Maximum size for an estimated plant.
Referenced by createBaseVar(), and findPlants().
|
private |
pointer Imgpool
Referenced by createBaseVar(), filterMask(), and handleCommand().
|
private |
Structuring element itterations 3x3 for 1.
Referenced by createBaseVar(), and filterMask().
|
private |
size of source image in pixels
Referenced by createBaseVar(), and handleCommand().