#include "C_TSRRecognize.h"
#include "Image/ByteImage.h"
#include "C_TSRReadout.h"
extern "C"
{
#include "recognize.h"
}
void recognize(int width, int height, int bpp, char* data)
{
//-------------------------
// Recognize module
C_TSRRecognize* recModule = new C_TSRRecognize();
recModule->storeInputImage(pImg);
// send results
//---------------------------------------
CByteImage* pResImg;
recModule->getResultImage(pResImg);
while( pResImg != 0)
{
unsigned short tgt_addr = 0x104;
int width = pResImg->width;
int height = pResImg->height;
int bpp = pResImg->bytesPerPixel;
unsigned int length = width*height*bpp;
unsigned char* data = (unsigned char* ) malloc(length + 4 + 4 + 4);
data[0] = (width >> 24) & 0xFF;
data[1] = (width >> 16) & 0xFF;
data[2] = (width >> 8) & 0xFF;
data[3] = (width ) & 0xFF;
data[4] = (height >> 24) & 0xFF;
data[5] = (height >> 16) & 0xFF;
data[6] = (height >> 8) & 0xFF;
data[7] = (height ) & 0xFF;
data[8] = (bpp >> 24) & 0xFF;
data[9] = (bpp >> 16) & 0xFF;
data[10] = (bpp >> 8) & 0xFF;
data[11] = (bpp ) & 0xFF;
for(int i = 0; i < length; i++)
{
data[i+12] = pResImg->pixels[i];
}
int lengthRest = length + 12;
int x = 0;
while(lengthRest > 0) //length segment
{
lengthRest = lengthRest - 1024;
if(lengthRest > 0)
{
app_cmd_send_mh(tgt_addr, 0xAA, 0x00, 0xF00, 0xC, 1024, &data[x]);
x = 1024 + x;
}
else
{
int rest = lengthRest+1024;
app_cmd_send_mh(tgt_addr, 0xAA, 0x00, 0xF00, 0xC, rest, &data[x]);
}
}
free(data);
// get new image
recModule->getResultImage(pResImg);
} // while
} // recognize()
I do not understand the error!!! Help :)
Last edited on
It means that you haven't declared app_cmd_send_mh.