Read information on segmented out objects


int mira_GetObjDataInt(mrkernel* pmr, int entryInd, int** ppObjData);


Input:

  • Runtime environment pointer
  • entryID - zero-based index of an object
  • ppObjData - pointer to a pointer to a table with object information


Output: Result (MIRA_OK or error)


Description:

mira_GetObjDataInt returns details on a specific object found. The first parameter is a zero-based object index (0..number of objects found -1). The second parameter represents an object table. The example below illustrates that we declare a pointer to int called pObjData and initialize its value to NULL. In an acquisition loop, after processing a frame, if an object is found, we call mira_GetObjDataInt in a for loop extracting object information. Note, that we pass address of the pObjData to the mira_GetObjDataInt.


The object table:

MIRA_OBJECT_ID          Unique object identifier

MIRA_OBJECT_FRAME     1  Frame index for the object centroid

MIRA_OBJECT_POS       2  Position of the object centroid across the belt

MIRA_OBJECT_MINFRAME  3  Bounding box coordinates:

MIRA_OBJECT_MAXFRAME  4

MIRA_OBJECT_MINCOL    5

MIRA_OBJECT_MAXCOL    6

MIRA_OBJECT_SIZE      7  Object size in pixels

MIRA_OBJECT_CLASS     8  Object class index


Example:


   int objCount=0;

   int* pObjData=NULL; /* pointer to object table data */

   while( frameInd<frameCount ) {


       mira_ProcessFrame(pmr,pFrame);


       objCount=mira_GetObjCount(pmr);

       if( objCount>0 ) {

           for(int i=0;i<objCount;i++) {

               /* we pass address of a pointer to receive object table

                  allocated by the runtime */


               mira_GetObjDataInt(pmr,i,&pObjData);


               /* pObjData allows us to access object details */

               printf("\n obj%d : %d,d ",

                      pObjData[MIRA_OBJECT_ID],

                      pObjData[MIRA_OBJECT_FRAME],   /* along the belt */

                      pObjData[MIRA_OBJECT_POS] );   /* across the belt */

                  } /* end of for loop */

        } /* end of if objects */

   } /* end of frame acquisiion */