Windows example: This object-oriented example demonstrates how to acquire data from an PI imager and display it via GDI.
Windows example: This object-oriented example demonstrates how to acquire data from an PI imager and display it via GDI.
#include <cstdio>
#include <iostream>
#include "IRDevice.h"
#include "IRImager.h"
#include "IRLogger.h"
#include "IRImagerHandler.h"
IRImagerHandler* _handler;
BOOL _ctrlHandler(DWORD fdwCtrlType)
{
delete _handler;
return true;
}
int main(int argc, char* argv[])
{
SetConsoleCtrlHandler((PHANDLER_ROUTINE)_ctrlHandler, TRUE);
if(argc < 2)
{
std::cout << "usage: " << argv[0] << " <path to xml file>" << std::endl;
return -1;
}
char* args = argv[1];
const size_t argSize = strlen(args) + 1;
wchar_t* argPath = new wchar_t[argSize];
mbstowcs(argPath, args, argSize);
return -1;
delete[] argPath;
evo::IRDevice* device = IRDevice::IRCreateDevice(_params);
if(device)
{
if(_imager.
init(&_params, device->getFrequency(), device->getWidth(), device->getHeight(),
true))
{
_handler = new IRImagerHandler(&_imager);
device->setClient(_handler);
device->startStreaming();
_handler->run(device);
device->stopStreaming();
}
}
else
{
std::cout << "IR Imager device could not be found" << std::endl;
}
return 0;
}
static bool readXML(const Tchar *xmlFile, IRDeviceParams ¶ms)
Static xml parsing method.
Wrapper for PI driver and image processing library.
Definition: IRImager.h:141
bool init(IRDeviceParams *params, unsigned int frequency, unsigned int width, unsigned int height, bool useHID, unsigned short hwRev=0, unsigned short fwRev=0)
Initializing routine, to be called after instantiation.
static void setVerbosity(IRLoggerVerbosityLevel levelStdout, IRLoggerVerbosityLevel levelFile, const char *filename=NULL)
Change verbosity level.
Structure containing device parameters.
Definition: IRDeviceParams.h:125