// CodeGear C++Builder
// Copyright (c) 1995, 2015 by Embarcadero Technologies, Inc.
// All rights reserved

// (DO NOT EDIT: machine generated header) 'ievision.pas' rev: 30.00 (Windows)

#ifndef IevisionHPP
#define IevisionHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member 
#pragma pack(push,8)
#include <System.hpp>
#include <SysInit.hpp>
#include <Winapi.Windows.hpp>
#include <System.SysUtils.hpp>
#include <System.Classes.hpp>

//-- user supplied -----------------------------------------------------------

namespace Ievision
{
//-- forward type declarations -----------------------------------------------
struct TIEVisionRect;
struct TIEVisionSize;
struct TIEVisionSize2f;
struct TIEVisionPoint;
struct TIEVisionPoint2f;
struct TIEVisionScalar;
struct TIEVisionFloatPair;
struct TIEVisionTermCriteria;
struct TIEVisionBox2D;
struct TIEVisionRotatedRect;
struct TIEVisionRGB8;
struct TIEVisionRGB16;
struct TIEVisionBGR8;
struct TIEVisionBGR16;
struct TIEVisionOCRBox;
__interface TIEVisionBase;
typedef System::DelphiInterface<TIEVisionBase> _di_TIEVisionBase;
__interface TIEVisionString;
typedef System::DelphiInterface<TIEVisionString> _di_TIEVisionString;
__interface TIEVisionWString;
typedef System::DelphiInterface<TIEVisionWString> _di_TIEVisionWString;
__interface TIEVisionBaseVector;
typedef System::DelphiInterface<TIEVisionBaseVector> _di_TIEVisionBaseVector;
__interface TIEVisionVectorString;
typedef System::DelphiInterface<TIEVisionVectorString> _di_TIEVisionVectorString;
__interface TIEVisionVectorInt32;
typedef System::DelphiInterface<TIEVisionVectorInt32> _di_TIEVisionVectorInt32;
__interface TIEVisionVectorByte;
typedef System::DelphiInterface<TIEVisionVectorByte> _di_TIEVisionVectorByte;
__interface TIEVisionVectorFloatPair;
typedef System::DelphiInterface<TIEVisionVectorFloatPair> _di_TIEVisionVectorFloatPair;
__interface TIEVisionVectorPoint;
typedef System::DelphiInterface<TIEVisionVectorPoint> _di_TIEVisionVectorPoint;
__interface TIEVisionVectorRect;
typedef System::DelphiInterface<TIEVisionVectorRect> _di_TIEVisionVectorRect;
__interface TIEVisionVectorDouble;
typedef System::DelphiInterface<TIEVisionVectorDouble> _di_TIEVisionVectorDouble;
__interface TIEVisionVectorOCRBox;
typedef System::DelphiInterface<TIEVisionVectorOCRBox> _di_TIEVisionVectorOCRBox;
__interface TIEVisionOCRWordBox;
typedef System::DelphiInterface<TIEVisionOCRWordBox> _di_TIEVisionOCRWordBox;
__interface TIEVisionVectorImageRef;
typedef System::DelphiInterface<TIEVisionVectorImageRef> _di_TIEVisionVectorImageRef;
__interface TIEVisionVectorObjRef;
typedef System::DelphiInterface<TIEVisionVectorObjRef> _di_TIEVisionVectorObjRef;
__interface TIEVisionStream;
typedef System::DelphiInterface<TIEVisionStream> _di_TIEVisionStream;
__interface TIEVisionFileStream;
typedef System::DelphiInterface<TIEVisionFileStream> _di_TIEVisionFileStream;
__interface TIEVisionTempFileStream;
typedef System::DelphiInterface<TIEVisionTempFileStream> _di_TIEVisionTempFileStream;
__interface TIEVisionMemoryStream;
typedef System::DelphiInterface<TIEVisionMemoryStream> _di_TIEVisionMemoryStream;
__interface TIEVisionExistingMemoryStream;
typedef System::DelphiInterface<TIEVisionExistingMemoryStream> _di_TIEVisionExistingMemoryStream;
__interface TIEVisionTempFileName;
typedef System::DelphiInterface<TIEVisionTempFileName> _di_TIEVisionTempFileName;
__interface TIEVisionTempDirName;
typedef System::DelphiInterface<TIEVisionTempDirName> _di_TIEVisionTempDirName;
__interface TIEVisionPropertyTree;
typedef System::DelphiInterface<TIEVisionPropertyTree> _di_TIEVisionPropertyTree;
__interface TIEVisionImage;
typedef System::DelphiInterface<TIEVisionImage> _di_TIEVisionImage;
__interface TIEVisionHistogram;
typedef System::DelphiInterface<TIEVisionHistogram> _di_TIEVisionHistogram;
__interface TIEVisionCascadeClassifier;
typedef System::DelphiInterface<TIEVisionCascadeClassifier> _di_TIEVisionCascadeClassifier;
__interface TIEVisionImageList;
typedef System::DelphiInterface<TIEVisionImageList> _di_TIEVisionImageList;
__interface TIEVisionMemoryImageList;
typedef System::DelphiInterface<TIEVisionMemoryImageList> _di_TIEVisionMemoryImageList;
__interface TIEVisionMemorySharedImageList;
typedef System::DelphiInterface<TIEVisionMemorySharedImageList> _di_TIEVisionMemorySharedImageList;
__interface TIEVisionTempFileImageList;
typedef System::DelphiInterface<TIEVisionTempFileImageList> _di_TIEVisionTempFileImageList;
__interface TIEVisionHaarTraining;
typedef System::DelphiInterface<TIEVisionHaarTraining> _di_TIEVisionHaarTraining;
__interface TIEVisionInputOutput;
typedef System::DelphiInterface<TIEVisionInputOutput> _di_TIEVisionInputOutput;
__interface TIEVisionMath;
typedef System::DelphiInterface<TIEVisionMath> _di_TIEVisionMath;
__interface TIEVisionDrawing;
typedef System::DelphiInterface<TIEVisionDrawing> _di_TIEVisionDrawing;
__interface TIEVisionObjectTracker;
typedef System::DelphiInterface<TIEVisionObjectTracker> _di_TIEVisionObjectTracker;
__interface TIEVisionObjectsFinder;
typedef System::DelphiInterface<TIEVisionObjectsFinder> _di_TIEVisionObjectsFinder;
__interface TIEVisionOCR;
typedef System::DelphiInterface<TIEVisionOCR> _di_TIEVisionOCR;
__interface TIEVisionPeopleDetector;
typedef System::DelphiInterface<TIEVisionPeopleDetector> _di_TIEVisionPeopleDetector;
__interface TIEVisionBarCodeSymbol;
typedef System::DelphiInterface<TIEVisionBarCodeSymbol> _di_TIEVisionBarCodeSymbol;
__interface TIEVisionBarCodeScanner;
typedef System::DelphiInterface<TIEVisionBarCodeScanner> _di_TIEVisionBarCodeScanner;
__interface TIEVisionLibrary;
typedef System::DelphiInterface<TIEVisionLibrary> _di_TIEVisionLibrary;
struct TIEVisionLanguages;
__interface TIEVisionCustomStreamProvider;
typedef System::DelphiInterface<TIEVisionCustomStreamProvider> _di_TIEVisionCustomStreamProvider;
__interface TIEVisionCustomStream;
typedef System::DelphiInterface<TIEVisionCustomStream> _di_TIEVisionCustomStream;
__interface TIELibJPEGErrorManager;
typedef System::DelphiInterface<TIELibJPEGErrorManager> _di_TIELibJPEGErrorManager;
__interface TIELibJPEGMarker;
typedef System::DelphiInterface<TIELibJPEGMarker> _di_TIELibJPEGMarker;
__interface TIELibJPEGDecompressor;
typedef System::DelphiInterface<TIELibJPEGDecompressor> _di_TIELibJPEGDecompressor;
__interface TIELibJPEGCompressor;
typedef System::DelphiInterface<TIELibJPEGCompressor> _di_TIELibJPEGCompressor;
__interface TIELibJPEGTransform;
typedef System::DelphiInterface<TIELibJPEGTransform> _di_TIELibJPEGTransform;
__interface TIELibJPEGCopy;
typedef System::DelphiInterface<TIELibJPEGCopy> _di_TIELibJPEGCopy;
__interface TIELibPNGText;
typedef System::DelphiInterface<TIELibPNGText> _di_TIELibPNGText;
__interface TIELibPNGDecompressor;
typedef System::DelphiInterface<TIELibPNGDecompressor> _di_TIELibPNGDecompressor;
__interface TIELibPNGTextList;
typedef System::DelphiInterface<TIELibPNGTextList> _di_TIELibPNGTextList;
__interface TIELibPNGCompressor;
typedef System::DelphiInterface<TIELibPNGCompressor> _di_TIELibPNGCompressor;
__interface TIELibJP2KComponentParamsList;
typedef System::DelphiInterface<TIELibJP2KComponentParamsList> _di_TIELibJP2KComponentParamsList;
__interface TIELibJP2KMatrix;
typedef System::DelphiInterface<TIELibJP2KMatrix> _di_TIELibJP2KMatrix;
__interface TIELibJP2KImage;
typedef System::DelphiInterface<TIELibJP2KImage> _di_TIELibJP2KImage;
__interface TIELibDCRAWDecoder;
typedef System::DelphiInterface<TIELibDCRAWDecoder> _di_TIELibDCRAWDecoder;
__interface TIELib;
typedef System::DelphiInterface<TIELib> _di_TIELib;
//-- type declarations -------------------------------------------------------
typedef System::Byte uint8_t;

typedef System::Word uint16_t;

typedef unsigned uint32_t;

typedef System::Int8 int8_t;

typedef short int16_t;

typedef int int32_t;

typedef __int64 int64_t;

typedef System::LongBool bool32;

typedef System::Byte *uint8_p;

typedef System::Word *uint16_p;

typedef unsigned *uint32_p;

typedef System::Int8 *int8_p;

typedef short *int16_p;

typedef int *int32_p;

typedef __int64 *int64_p;

typedef System::LongBool *bool32_p;

typedef float *float_p;

typedef double *double_p;

enum DECLSPEC_DENUM TIEVisionLibraryInfo : unsigned int { ievLIBNAME, ievLIBVERSION, ievLIBPLATFORM, ievLIBFILENAME, ievISTRIAL };

enum DECLSPEC_DENUM TIEVisionChannelFormat: int { ievUINT8, ievSINT8, ievUINT16, ievSINT16, ievSINT32, ievFLOAT32, ievFLOAT64, ievUINT1 = -1610612735 };

enum DECLSPEC_DENUM TIEVisionCvtColorCode : unsigned int { ievBGR2BGRA, ievRGB2RGBA = 0, ievBGRA2BGR, ievRGBA2RGB = 1, ievBGR2RGBA, ievRGB2BGRA = 2, ievRGBA2BGR, ievBGRA2RGB = 3, ievBGR2RGB, ievRGB2BGR = 4, ievBGRA2RGBA, ievRGBA2BGRA = 5, ievBGR2GRAY, ievRGB2GRAY, ievGRAY2BGR, ievGRAY2RGB = 8, ievGRAY2BGRA, ievGRAY2RGBA = 9, ievBGRA2GRAY, ievRGBA2GRAY, ievBGR2BGR565, ievRGB2BGR565, ievBGR5652BGR, ievBGR5652RGB, ievBGRA2BGR565, ievRGBA2BGR565, ievBGR5652BGRA, ievBGR5652RGBA, ievGRAY2BGR565, ievBGR5652GRAY, ievBGR2BGR555, ievRGB2BGR555, ievBGR5552BGR, ievBGR5552RGB, ievBGRA2BGR555, ievRGBA2BGR555, ievBGR5552BGRA, ievBGR5552RGBA, ievGRAY2BGR555, ievBGR5552GRAY, ievBGR2XYZ, ievRGB2XYZ, ievXYZ2BGR, ievXYZ2RGB, ievBGR2YCrCb, ievRGB2YCrCb, ievYCrCb2BGR, 
	ievYCrCb2RGB, ievBGR2HSV, ievRGB2HSV, ievRGB2Lab = 45, ievBGR2Lab = 44, ievBayerBG2BGR = 46, ievBayerGB2BGR, ievBayerRG2BGR, ievBayerGR2BGR, ievBayerBG2RGB = 48, ievBayerGB2RGB, ievBayerRG2RGB = 46, ievBayerGR2RGB, ievBGR2Luv = 50, ievRGB2Luv, ievBGR2HLS, ievRGB2HLS, ievHSV2BGR, ievHSV2RGB, ievLab2BGR, ievLab2RGB, ievLuv2BGR, ievLuv2RGB, ievHLS2BGR, ievHLS2RGB };

enum DECLSPEC_DENUM TIEVisionInterpolation : unsigned int { ievNEAREST, ievLINEAR, ievCUBIC, ievAREA, ievLANCZOS4 };

enum DECLSPEC_DENUM TIEVisionFlipMode: int { ievX_AXIS, ievY_AXIS, ievXY_AXISES = -1 };

enum DECLSPEC_DENUM TIEVisionFileStreamMode : unsigned int { ievREAD, ievCREATE, ievREADWRITE };

enum DECLSPEC_DENUM TIEVisionSeekOffset : unsigned int { ievSET, ievCUR, ievEND };

enum DECLSPEC_DENUM TIEVisionFileFormat : unsigned int { ievTIFF = 1, ievJPEG = 3, ievBMP = 5, ievPNG = 8, ievPXM = 12, ievJ2K = 14, ievRAS = 30, ievHEX = 100 };

enum DECLSPEC_DENUM TIEVisionHaarInvert : unsigned int { ievNOINVERT, ievINVERT, ievRANDOM_INVERT = 2147483647 };

enum DECLSPEC_DENUM TIEVisionHaarMode : unsigned int { ievBASIC, ievCORE, ievALL };

enum DECLSPEC_DENUM TIEVisionHaarBoostType : unsigned int { ievDISCRETE_ADABOOST, ievREAL_ADABOOST, ievLOGITBOOST, ievGENTLE_ADABOOST };

enum DECLSPEC_DENUM TIEVisionHaarStumpError : unsigned int { ievMISCLASSIFICATION_ERROR, ievGINI_ERROR, ievENTROPY_ERROR };

enum DECLSPEC_DENUM TIEVisionPropertyTreeFormat : unsigned int { ievXML, ievINFO, ievINI, ievJSON };

enum DECLSPEC_DENUM TIEVisionBorderType : unsigned int { ievBORDER_CONSTANT, ievBORDER_REPLICATE, ievBORDER_REFLECT, ievBORDER_WRAP };

enum DECLSPEC_DENUM TIEVisionSmoothType : unsigned int { ievBLUR_NO_SCALE, ievBLUR, ievGAUSSIAN, ievMEDIAN, ievBILATERAL };

enum DECLSPEC_DENUM TIEVisionHistogramType : unsigned int { ievARRAY, ievSPARSE };

enum DECLSPEC_DENUM TIEVisionSortOrder : unsigned int { ievASCENDING, ievDESCENDING };

enum DECLSPEC_DENUM TIEVisionCovarFlags : unsigned int { ievSCRAMBLED, ievNORMAL, ievUSE_AVG, ievSCALE = 0x4, ievROWS = 0x8, ievCOLS = 0x10 };

enum DECLSPEC_DENUM TIEVisionCmpOp : unsigned int { ievEQUAL, ievGREATER, ievGREATER_EQUAL, ievLESS, ievLESS_EQUAL, ievNOT_EQUAL };

enum DECLSPEC_DENUM TIEVisionDCTFlags : unsigned int { ievDCT_FORWARD, ievDCT_INVERSE, ievDCT_ROWS = 0x4 };

enum DECLSPEC_DENUM TIEVisionDFTFlags : unsigned int { ievDFT_FORWARD, ievDFT_INVERSE, ievDFT_SCALE, ievDFT_INVERSE_SCALE, ievDFT_ROWS };

enum DECLSPEC_DENUM TIEVisionGEMMFlags : unsigned int { ievGEMM_NONE, ievGEMM_A_T, ievGEMM_B_T, ievGEMM_C_T = 0x4 };

enum DECLSPEC_DENUM TIEVisionInvertMethod : unsigned int { ievLU, ievSVD, ievSVD_SYM };

enum DECLSPEC_DENUM TIEVisionReduceOp : unsigned int { ievREDUCE_SUM, ievREDUCE_AVG, ievREDUCE_MAX, ievREDUCE_MIN };

enum DECLSPEC_DENUM TIEVisionSolveMethod : unsigned int { ievSOLVE_LU, ievSOLVE_SVD, ievSOLVE_SVD_SYM };

enum DECLSPEC_DENUM TIEVisionSVBFlags : unsigned int { ievSVB_NONE, ievSVB_MODIFY_A, ievSVB_U_T, ievSVB_V_T = 0x4 };

enum DECLSPEC_DENUM TIEVisionSVDFlags : unsigned int { ievSVD_NONE, ievSVD_MODIFY_A, ievSVD_U_T, ievSVD_V_T = 0x4 };

enum DECLSPEC_DENUM TIEVisionContourRetrMode : unsigned int { ievEXTERNAL, ievLIST, ievCCOMP, ievTREE };

enum DECLSPEC_DENUM TIEVisionContourApproxMethod : unsigned int { ievCHAIN_CODE, ievCHAIN_APPROX_NONE, ievCHAIN_APPROX_SIMPLE, ievCHAIN_APPROX_TC89_L1, ievCHAIN_APPROX_TC89_KCOS, ievLINK_RUNS };

enum DECLSPEC_DENUM TIEVisionInpaintMethod : unsigned int { ievINPAINT_NS, ievINPAINT_TELEA };

enum DECLSPEC_DENUM TIEVisionOCRPageSegmentationMode : unsigned int { ievOCROSD_ONLY, ievOCRAUTO_OSD, ievOCRAUTO_ONLY, ievOCRAUTO, ievOCRSINGLE_COLUMN, ievOCRSINGLE_BLOCK_VERT_TEXT, ievOCRSINGLE_BLOCK, ievOCRSINGLE_LINE, ievOCRSINGLE_WORD, ievOCRCIRCLE_WORD, ievOCRSINGLE_CHAR };

enum DECLSPEC_DENUM TIEVisionOCRScriptDirection : unsigned int { ievOCRDIR_NEUTRAL, ievOCRDIR_LEFT_TO_RIGHT, ievOCRDIR_RIGHT_TO_LEFT, ievOCRDIR_MIX };

enum DECLSPEC_DENUM TIEVisionOCREngine : unsigned int { ievOCRFAST, ievOCRCUBE, ievOCRACCURATE };

typedef int TIEVisionTermCriteriaType;

typedef int TIEVisionMulSpectrumsFlags;

typedef int TIEVisionHaarDetectObjectsFlags;

#pragma pack(push,1)
struct DECLSPEC_DRECORD TIEVisionRect
{
public:
	int x;
	int y;
	int width;
	int height;
};
#pragma pack(pop)


typedef TIEVisionRect *PIEVisionRect;

#pragma pack(push,1)
struct DECLSPEC_DRECORD TIEVisionSize
{
public:
	int width;
	int height;
};
#pragma pack(pop)


#pragma pack(push,1)
struct DECLSPEC_DRECORD TIEVisionSize2f
{
public:
	float width;
	float height;
};
#pragma pack(pop)


#pragma pack(push,1)
struct DECLSPEC_DRECORD TIEVisionPoint
{
public:
	int x;
	int y;
};
#pragma pack(pop)


#pragma pack(push,1)
struct DECLSPEC_DRECORD TIEVisionPoint2f
{
public:
	float x;
	float y;
};
#pragma pack(pop)


#pragma pack(push,1)
struct DECLSPEC_DRECORD TIEVisionScalar
{
public:
	System::StaticArray<double, 4> val;
};
#pragma pack(pop)


#pragma pack(push,1)
struct DECLSPEC_DRECORD TIEVisionFloatPair
{
public:
	float first;
	float second;
};
#pragma pack(pop)


#pragma pack(push,1)
struct DECLSPEC_DRECORD TIEVisionTermCriteria
{
public:
	int ctype;
	int maxIter;
	double epsilon;
};
#pragma pack(pop)


#pragma pack(push,1)
struct DECLSPEC_DRECORD TIEVisionBox2D
{
public:
	float centerX;
	float centerY;
	float width;
	float height;
	float angle;
};
#pragma pack(pop)


#pragma pack(push,1)
struct DECLSPEC_DRECORD TIEVisionRotatedRect
{
public:
	TIEVisionPoint2f center;
	TIEVisionSize2f size;
	float angle;
};
#pragma pack(pop)


#pragma pack(push,1)
struct DECLSPEC_DRECORD TIEVisionRGB8
{
public:
	System::Byte r;
	System::Byte g;
	System::Byte b;
};
#pragma pack(pop)


typedef TIEVisionRGB8 *PIEVisionRGB8;

#pragma pack(push,1)
struct DECLSPEC_DRECORD TIEVisionRGB16
{
public:
	System::Word r;
	System::Word g;
	System::Word b;
};
#pragma pack(pop)


typedef TIEVisionRGB16 *PIEVisionRGB16;

#pragma pack(push,1)
struct DECLSPEC_DRECORD TIEVisionBGR8
{
public:
	System::Byte b;
	System::Byte g;
	System::Byte r;
};
#pragma pack(pop)


typedef TIEVisionBGR8 *PIEVisionBGR8;

#pragma pack(push,1)
struct DECLSPEC_DRECORD TIEVisionBGR16
{
public:
	System::Word b;
	System::Word g;
	System::Word r;
};
#pragma pack(pop)


typedef TIEVisionBGR16 *PIEVisionBGR16;

#pragma pack(push,1)
struct DECLSPEC_DRECORD TIEVisionOCRBox
{
public:
	unsigned text;
	float cost;
	TIEVisionRect rect;
};
#pragma pack(pop)


typedef TIEVisionOCRBox *PIEVisionOCRBox;

__interface TIEVisionBase  : public System::IInterface 
{
	virtual void __stdcall dispose(void) = 0 ;
	virtual int __stdcall getRefCount(void) = 0 ;
	virtual void __cdecl internal_destructor(void) = 0 ;
};

__interface TIEVisionString  : public TIEVisionBase 
{
	virtual HRESULT __safecall length(System::LongBool wantExceptions, int &__length_result) = 0 ;
	virtual HRESULT __safecall operatorASSIGN(_di_TIEVisionString src, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall operatorEQUAL(_di_TIEVisionString src, System::LongBool wantExceptions, System::LongBool &__operatorEQUAL_result) = 0 ;
	virtual HRESULT __safecall at(int pos, System::LongBool wantExceptions, char &__at_result) = 0 ;
	virtual HRESULT __safecall append(_di_TIEVisionString src, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall append(char * src, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall c_str(System::LongBool wantExceptions, char * &__c_str_result) = 0 ;
	virtual HRESULT __safecall saveToFile(char * filename, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionWString  : public TIEVisionBase 
{
	virtual HRESULT __safecall length(System::LongBool wantExceptions, int &__length_result) = 0 ;
	virtual HRESULT __safecall operatorASSIGN(_di_TIEVisionWString src, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall operatorEQUAL(_di_TIEVisionWString src, System::LongBool wantExceptions, System::LongBool &__operatorEQUAL_result) = 0 ;
	virtual HRESULT __safecall at(int pos, System::LongBool wantExceptions, System::WideChar &__at_result) = 0 ;
	virtual HRESULT __safecall append(_di_TIEVisionWString src, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall append(System::WideChar * src, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall c_str(System::LongBool wantExceptions, System::WideChar * &__c_str_result) = 0 ;
	virtual HRESULT __safecall saveToFile(char * filename, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall convertFromUTF8(char * src, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionBaseVector  : public TIEVisionBase 
{
	virtual HRESULT __safecall size(System::LongBool wantExceptions, int &__size_result) = 0 ;
	virtual HRESULT __safecall operatorASSIGN(_di_TIEVisionBaseVector src, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall max_size(System::LongBool wantExceptions, unsigned &__max_size_result) = 0 ;
	virtual HRESULT __safecall resize(unsigned sz, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall capacity(System::LongBool wantExceptions, unsigned &__capacity_result) = 0 ;
	virtual HRESULT __safecall empty(System::LongBool wantExceptions, System::LongBool &__empty_result) = 0 ;
	virtual HRESULT __safecall reserve(unsigned n, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall pop_back(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall erase(unsigned position, System::LongBool wantExceptions, unsigned &__erase_result) = 0 /* overload */;
	virtual HRESULT __safecall erase(unsigned first, unsigned last, System::LongBool wantExceptions, unsigned &__erase_result) = 0 /* overload */;
	virtual HRESULT __safecall swap(_di_TIEVisionBaseVector vec, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall clear(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall sort(TIEVisionSortOrder order = (TIEVisionSortOrder)(0x0), System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall data(System::LongBool wantExceptions, void * &__data_result) = 0 ;
};

__interface TIEVisionVectorString  : public TIEVisionBaseVector 
{
	virtual HRESULT __safecall getString(int pos, System::LongBool wantExceptions, _di_TIEVisionString &__getString_result) = 0 ;
	virtual HRESULT __safecall getCString(int pos, System::LongBool wantExceptions, char * &__getCString_result) = 0 ;
	virtual HRESULT __safecall push_back(_di_TIEVisionString str, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall push_back(char * str, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall setString(int pos, _di_TIEVisionString value, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall setString(int pos, char * value, System::LongBool wantExceptions = false) = 0 /* overload */;
};

__interface TIEVisionVectorInt32  : public TIEVisionBaseVector 
{
	virtual HRESULT __safecall getInt32(int pos, System::LongBool wantExceptions, int &__getInt32_result) = 0 ;
	virtual HRESULT __safecall push_back(int value, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setInt32(int pos, int value, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionVectorByte  : public TIEVisionBaseVector 
{
	virtual HRESULT __safecall getUInt8(int pos, System::LongBool wantExceptions, System::Byte &__getUInt8_result) = 0 ;
	virtual HRESULT __safecall push_back(System::Byte value, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setUInt8(int pos, System::Byte value, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionVectorFloatPair  : public TIEVisionBaseVector 
{
	virtual HRESULT __safecall getFloatPair(int pos, System::LongBool wantExceptions, TIEVisionFloatPair &__getFloatPair_result) = 0 ;
	virtual HRESULT __safecall push_back(const TIEVisionFloatPair value, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setFloatPair(int pos, const TIEVisionFloatPair value, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionVectorPoint  : public TIEVisionBaseVector 
{
	virtual HRESULT __safecall getPoint(int pos, System::LongBool wantExceptions, TIEVisionPoint &__getPoint_result) = 0 ;
	virtual HRESULT __safecall push_back(const TIEVisionPoint value, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setPoint(int pos, const TIEVisionPoint value, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionVectorRect  : public TIEVisionBaseVector 
{
	virtual HRESULT __safecall getRect(int pos, System::LongBool wantExceptions, TIEVisionRect &__getRect_result) = 0 ;
	virtual HRESULT __safecall push_back(const TIEVisionRect value, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setRect(int pos, const TIEVisionRect value, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionVectorDouble  : public TIEVisionBaseVector 
{
	virtual HRESULT __safecall getDouble(int pos, System::LongBool wantExceptions, double &__getDouble_result) = 0 ;
	virtual HRESULT __safecall push_back(double value, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setDouble(int pos, double value, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionVectorOCRBox  : public TIEVisionBaseVector 
{
	virtual HRESULT __safecall getOCRBox(int pos, System::LongBool wantExceptions, TIEVisionOCRBox &__getOCRBox_result) = 0 ;
	virtual HRESULT __safecall push_back(const TIEVisionOCRBox value, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setOCRBox(int pos, const TIEVisionOCRBox value, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionOCRWordBox  : public TIEVisionBase 
{
	virtual HRESULT __safecall getText(System::LongBool wantExceptions, _di_TIEVisionWString &__getText_result) = 0 ;
	virtual HRESULT __safecall getBox(System::LongBool wantExceptions, TIEVisionRect &__getBox_result) = 0 ;
	virtual HRESULT __safecall getConfidence(System::LongBool wantExceptions, float &__getConfidence_result) = 0 ;
	virtual HRESULT __safecall isBold(System::LongBool wantExceptions, System::LongBool &__isBold_result) = 0 ;
	virtual HRESULT __safecall isItalic(System::LongBool wantExceptions, System::LongBool &__isItalic_result) = 0 ;
	virtual HRESULT __safecall isUnderlined(System::LongBool wantExceptions, System::LongBool &__isUnderlined_result) = 0 ;
	virtual HRESULT __safecall isMonospace(System::LongBool wantExceptions, System::LongBool &__isMonospace_result) = 0 ;
	virtual HRESULT __safecall isSerif(System::LongBool wantExceptions, System::LongBool &__isSerif_result) = 0 ;
	virtual HRESULT __safecall isSmallCaps(System::LongBool wantExceptions, System::LongBool &__isSmallCaps_result) = 0 ;
	virtual HRESULT __safecall getPointSize(System::LongBool wantExceptions, int &__getPointSize_result) = 0 ;
	virtual HRESULT __safecall getLanguage(System::LongBool wantExceptions, _di_TIEVisionString &__getLanguage_result) = 0 ;
	virtual HRESULT __safecall getScriptDirection(System::LongBool wantExceptions, TIEVisionOCRScriptDirection &__getScriptDirection_result) = 0 ;
};

__interface TIEVisionVectorImageRef  : public TIEVisionBaseVector 
{
	virtual HRESULT __safecall getImage(int pos, System::LongBool wantExceptions, _di_TIEVisionImage &__getImage_result) = 0 ;
	virtual HRESULT __safecall push_back(_di_TIEVisionImage value, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setImage(int pos, _di_TIEVisionImage value, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionVectorObjRef  : public TIEVisionBaseVector 
{
	virtual HRESULT __safecall getObj(int pos, System::LongBool wantExceptions, _di_TIEVisionBase &__getObj_result) = 0 ;
	virtual HRESULT __safecall push_back(_di_TIEVisionBase value, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setObj(int pos, _di_TIEVisionBase value, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionStream  : public TIEVisionBase 
{
	virtual HRESULT __safecall seek(__int64 offset, TIEVisionSeekOffset whence, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall tell(System::LongBool wantExceptions, __int64 &__tell_result) = 0 ;
	virtual HRESULT __safecall silent_read(void * ptr, __int64 size, System::LongBool wantExceptions, __int64 &__silent_read_result) = 0 ;
	virtual HRESULT __safecall silent_write(void * ptr, __int64 size, System::LongBool wantExceptions, __int64 &__silent_write_result) = 0 ;
	virtual HRESULT __safecall silent_getc(System::LongBool wantExceptions, int &__silent_getc_result) = 0 ;
	virtual HRESULT __safecall eof(System::LongBool wantExceptions, System::LongBool &__eof_result) = 0 ;
	virtual HRESULT __safecall saveToFile(char * filename, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall saveToFile(System::WideChar * filename, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall loadFromFile(char * filename, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall loadFromFile(System::WideChar * filename, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall read(void * ptr, __int64 size, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall write(void * ptr, __int64 size, System::LongBool wantExceptions = false) = 0 ;
	virtual void __cdecl iostream(void) = 0 ;
	virtual HRESULT __safecall size(System::LongBool wantExceptions, __int64 &__size_result) = 0 ;
	virtual HRESULT __safecall convertToCPlusPlus(_di_TIEVisionStream outputStream, char * className, System::LongBool compressed, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionFileStream  : public TIEVisionStream 
{
	virtual HRESULT __safecall close(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall open(char * filename, TIEVisionFileStreamMode mode, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall open(System::WideChar * filename, TIEVisionFileStreamMode mode, System::LongBool wantExceptions = false) = 0 /* overload */;
};

__interface TIEVisionTempFileStream  : public TIEVisionFileStream 
{
	virtual HRESULT __safecall getFilename(System::LongBool wantExceptions, char * &__getFilename_result) = 0 ;
};

__interface TIEVisionMemoryStream  : public TIEVisionStream 
{
	virtual HRESULT __safecall clear(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall reserve(int count, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionExistingMemoryStream  : public TIEVisionStream 
{
	virtual HRESULT __safecall reset(void * existingBuffer, int existingBufferSize, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionTempFileName  : public TIEVisionBase 
{
	virtual HRESULT __safecall c_str(System::LongBool wantExceptions, char * &__c_str_result) = 0 ;
};

__interface TIEVisionTempDirName  : public TIEVisionBase 
{
	virtual HRESULT __safecall c_str(System::LongBool wantExceptions, char * &__c_str_result) = 0 ;
};

__interface TIEVisionPropertyTree  : public TIEVisionBase 
{
	virtual HRESULT __safecall size(System::LongBool wantExceptions, int &__size_result) = 0 ;
	virtual HRESULT __safecall clear(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall save(_di_TIEVisionStream stream, TIEVisionPropertyTreeFormat format = (TIEVisionPropertyTreeFormat)(0x0), System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall save(char * filename, TIEVisionPropertyTreeFormat format = (TIEVisionPropertyTreeFormat)(0x0), System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall load(_di_TIEVisionStream stream, TIEVisionPropertyTreeFormat format = (TIEVisionPropertyTreeFormat)(0x0), System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall load(char * filename, TIEVisionPropertyTreeFormat format = (TIEVisionPropertyTreeFormat)(0x0), System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall operatorEQUAL(_di_TIEVisionPropertyTree rhs, System::LongBool wantExceptions, System::LongBool &__operatorEQUAL_result) = 0 ;
	virtual HRESULT __safecall operatorASSIGN(_di_TIEVisionPropertyTree rhs, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall swap(_di_TIEVisionPropertyTree rhs, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall exists(char * keypath, System::LongBool wantExceptions, System::LongBool &__exists_result) = 0 ;
	virtual HRESULT __safecall erase(char * keypath, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall sort(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getPropertyTree(char * keypath, System::LongBool wantExceptions, _di_TIEVisionPropertyTree &__getPropertyTree_result) = 0 ;
	virtual HRESULT __safecall putPropertyTree(char * keypath, _di_TIEVisionPropertyTree propertyTree, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall putString(char * keypath, char * value, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall putString(char * keypath, _di_TIEVisionString value, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall getString(char * keypath, System::LongBool wantExceptions, _di_TIEVisionString &__getString_result) = 0 ;
	virtual HRESULT __safecall putInt32(char * keypath, int value, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getInt32(char * keypath, System::LongBool wantExceptions, int &__getInt32_result) = 0 ;
	virtual HRESULT __safecall putDouble(char * keypath, double value, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getDouble(char * keypath, System::LongBool wantExceptions, double &__getDouble_result) = 0 ;
	virtual HRESULT __safecall putRect(char * keypath, const TIEVisionRect &rect, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getRect(char * keypath, System::LongBool wantExceptions, TIEVisionRect &__getRect_result) = 0 ;
};

__interface TIEVisionImage  : public TIEVisionBase 
{
	virtual HRESULT __safecall create(int width, int height, TIEVisionChannelFormat channelFormat, int channels, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall swap(_di_TIEVisionImage secondImage, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall operatorASSIGN(_di_TIEVisionImage src, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall share(_di_TIEVisionImage src, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getWidth(System::LongBool wantExceptions, int &__getWidth_result) = 0 ;
	virtual HRESULT __safecall getHeight(System::LongBool wantExceptions, int &__getHeight_result) = 0 ;
	virtual HRESULT __safecall getChannels(System::LongBool wantExceptions, int &__getChannels_result) = 0 ;
	virtual HRESULT __safecall getChannelFormat(System::LongBool wantExceptions, TIEVisionChannelFormat &__getChannelFormat_result) = 0 ;
	virtual HRESULT __safecall getRowLen(System::LongBool wantExceptions, int &__getRowLen_result) = 0 ;
	virtual HRESULT __safecall isEmpty(System::LongBool wantExceptions, System::LongBool &__isEmpty_result) = 0 ;
	virtual HRESULT __safecall getScanline(int row, System::LongBool wantExceptions, void * &__getScanline_result) = 0 ;
	virtual HRESULT __safecall pixel_uint8(int row, int col, System::LongBool wantExceptions, uint8_p &__pixel_uint8_result) = 0 ;
	virtual HRESULT __safecall pixel_uint16(int row, int col, System::LongBool wantExceptions, uint16_p &__pixel_uint16_result) = 0 ;
	virtual HRESULT __safecall pixel_float32(int row, int col, System::LongBool wantExceptions, float_p &__pixel_float32_result) = 0 ;
	virtual HRESULT __safecall pixel_float64(int row, int col, System::LongBool wantExceptions, double_p &__pixel_float64_result) = 0 ;
	virtual HRESULT __safecall pixel_RGB8(int row, int col, System::LongBool wantExceptions, PIEVisionRGB8 &__pixel_RGB8_result) = 0 ;
	virtual HRESULT __safecall pixel_BGR8(int row, int col, System::LongBool wantExceptions, PIEVisionBGR8 &__pixel_BGR8_result) = 0 ;
	virtual HRESULT __safecall getRect(const TIEVisionRect rect, System::LongBool wantExceptions, _di_TIEVisionImage &__getRect_result) = 0 ;
	virtual HRESULT __safecall getColumn(int col, System::LongBool wantExceptions, _di_TIEVisionImage &__getColumn_result) = 0 ;
	virtual HRESULT __safecall getColumns(int startCol, int endCol, System::LongBool wantExceptions, _di_TIEVisionImage &__getColumns_result) = 0 ;
	virtual HRESULT __safecall getRow(int row, System::LongBool wantExceptions, _di_TIEVisionImage &__getRow_result) = 0 ;
	virtual HRESULT __safecall getRows(int startRow, int endRow, System::LongBool wantExceptions, _di_TIEVisionImage &__getRows_result) = 0 ;
	virtual HRESULT __safecall getDiagonal(int diag, System::LongBool wantExceptions, _di_TIEVisionImage &__getDiagonal_result) = 0 ;
	virtual HRESULT __safecall getAlphaMask(System::LongBool wantExceptions, _di_TIEVisionImage &__getAlphaMask_result) = 0 ;
	virtual HRESULT __safecall createAlphaMask(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall save(char * filename, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall save(char * filename, TIEVisionFileFormat fileType, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall getMetadata(System::LongBool wantExceptions, _di_TIEVisionPropertyTree &__getMetadata_result) = 0 ;
	virtual HRESULT __safecall resize(_di_TIEVisionImage dst, TIEVisionInterpolation interpolation, System::LongBool wantExceptions, _di_TIEVisionImage &__resize_result) = 0 /* overload */;
	virtual HRESULT __safecall resize(int newWidth, int newHeight, TIEVisionInterpolation interpolation, System::LongBool wantExceptions, _di_TIEVisionImage &__resize_result) = 0 /* overload */;
	virtual HRESULT __safecall convertColor(_di_TIEVisionImage dst, TIEVisionCvtColorCode code, System::LongBool wantExceptions, _di_TIEVisionImage &__convertColor_result) = 0 /* overload */;
	virtual HRESULT __safecall convertColor(TIEVisionCvtColorCode code, System::LongBool wantExceptions, _di_TIEVisionImage &__convertColor_result) = 0 /* overload */;
	virtual HRESULT __safecall flip(_di_TIEVisionImage dst, TIEVisionFlipMode flipMode, System::LongBool wantExceptions, _di_TIEVisionImage &__flip_result) = 0 /* overload */;
	virtual HRESULT __safecall flip(TIEVisionFlipMode flipMode, System::LongBool wantExceptions, _di_TIEVisionImage &__flip_result) = 0 /* overload */;
	virtual HRESULT __safecall equalizeHistogram(_di_TIEVisionImage dst, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall equalizeHistogram(System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall makeBorder(_di_TIEVisionImage dst, int top, int bottom, int left, int right, TIEVisionBorderType borderType, const TIEVisionScalar value, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall makeBorder(int top, int bottom, int left, int right, TIEVisionBorderType borderType, const TIEVisionScalar value, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall smooth(_di_TIEVisionImage dst, TIEVisionSmoothType smoothType = (TIEVisionSmoothType)(0x2), int param1 = 0x3, int param2 = 0x0, double param3 = 0.000000E+00, double param4 = 0.000000E+00, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall smooth(TIEVisionSmoothType smoothType = (TIEVisionSmoothType)(0x2), int param1 = 0x3, int param2 = 0x0, double param3 = 0.000000E+00, double param4 = 0.000000E+00, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall filter2D(_di_TIEVisionImage dst, _di_TIEVisionImage kernel, const TIEVisionPoint anchor, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall filter2D(_di_TIEVisionImage kernel, const TIEVisionPoint anchor, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall integral(_di_TIEVisionImage sum, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall integral(_di_TIEVisionImage sum, _di_TIEVisionImage sqsum, _di_TIEVisionImage tilted_sum, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall pyrDown(_di_TIEVisionImage dst, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall pyrDown(System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall pyrUp(_di_TIEVisionImage dst, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall pyrUp(System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall splitPlanes(_di_TIEVisionImage plane0, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall splitPlanes(_di_TIEVisionImage plane0, _di_TIEVisionImage plane1, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall splitPlanes(_di_TIEVisionImage plane0, _di_TIEVisionImage plane1, _di_TIEVisionImage plane2, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall splitPlanes(_di_TIEVisionImage plane0, _di_TIEVisionImage plane1, _di_TIEVisionImage plane2, _di_TIEVisionImage plane3, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall minMax(/* out */ double &minVal, /* out */ double &maxVal, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall minMax(/* out */ double &minVal, /* out */ double &maxVal, /* out */ TIEVisionPoint &minLoc, /* out */ TIEVisionPoint &maxLoc, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall minMax(/* out */ double &minVal, /* out */ double &maxVal, /* out */ TIEVisionPoint &minLoc, /* out */ TIEVisionPoint &maxLoc, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall camShift(TIEVisionRect &window, const TIEVisionTermCriteria criteria, /* out */ double &area, /* out */ TIEVisionBox2D &box, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall camShift(TIEVisionRect &window, const TIEVisionTermCriteria criteria, System::LongBool wantExceptions, TIEVisionRotatedRect &__camShift_result) = 0 /* overload */;
	virtual HRESULT __safecall inRange(const TIEVisionScalar lower, const TIEVisionScalar upper, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall inRange(_di_TIEVisionImage lower, _di_TIEVisionImage upper, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall convertScale(_di_TIEVisionImage dest, double scale, double shift, System::LongBool wantExceptions, _di_TIEVisionImage &__convertScale_result) = 0 /* overload */;
	virtual HRESULT __safecall convertScale(TIEVisionChannelFormat channelFormat, double scale, double shift, System::LongBool wantExceptions, _di_TIEVisionImage &__convertScale_result) = 0 /* overload */;
	virtual HRESULT __safecall countNonZero(System::LongBool wantExceptions, int &__countNonZero_result) = 0 ;
	virtual HRESULT __safecall isAllWhite(System::LongBool wantExceptions, System::LongBool &__isAllWhite_result) = 0 ;
	virtual HRESULT __safecall addWeighted(double alpha, _di_TIEVisionImage rhs, double beta, double gamma, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall avg(_di_TIEVisionImage mask, System::LongBool wantExceptions, TIEVisionScalar &__avg_result) = 0 /* overload */;
	virtual HRESULT __safecall avg(System::LongBool wantExceptions, TIEVisionScalar &__avg_result) = 0 /* overload */;
	virtual HRESULT __safecall avgSdv(/* out */ TIEVisionScalar &mean, /* out */ TIEVisionScalar &stdDev, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall avgSdv(/* out */ TIEVisionScalar &mean, /* out */ TIEVisionScalar &stdDev, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall cmp(_di_TIEVisionImage rhs, _di_TIEVisionImage dest, TIEVisionCmpOp cmpOp, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall cmp(double rhs, _di_TIEVisionImage dest, TIEVisionCmpOp cmpOp, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall copy(_di_TIEVisionImage dest, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall copy(_di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall copy(const TIEVisionRect &srcRect, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall copy(const TIEVisionRect &srcRect, System::LongBool wantExceptions, _di_TIEVisionImage &__copy_result) = 0 /* overload */;
	virtual HRESULT __safecall copy(const TIEVisionRect &srcRect, const TIEVisionRect &dstRect, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall copy(const TIEVisionRect &srcRect, void * destPtr, int rowLen, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall copyFrom(TIEVisionChannelFormat srcChannelFormat, int srcChannels, int srcRowLen, void * srcData, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setZero(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall DCT(_di_TIEVisionImage dest, TIEVisionDCTFlags flags, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall DFT(_di_TIEVisionImage dest, TIEVisionDFTFlags flags, int nonZeroRows = 0x0, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall determinant(System::LongBool wantExceptions, double &__determinant_result) = 0 ;
	virtual HRESULT __safecall dotProduct(_di_TIEVisionImage rhs, System::LongBool wantExceptions, double &__dotProduct_result) = 0 ;
	virtual HRESULT __safecall eigenVV(_di_TIEVisionImage evects, _di_TIEVisionImage evals, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall invert(_di_TIEVisionImage dest, TIEVisionInvertMethod invertMethod, System::LongBool wantExceptions, double &__invert_result) = 0 ;
	virtual HRESULT __safecall LUT(_di_TIEVisionImage dest, _di_TIEVisionImage lut, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall max(_di_TIEVisionImage source1, _di_TIEVisionImage source2, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall max(_di_TIEVisionImage source1, double source2, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall merge(_di_TIEVisionImage channel1, _di_TIEVisionImage channel2, _di_TIEVisionImage channel3, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall merge(_di_TIEVisionImage channel1, _di_TIEVisionImage channel2, _di_TIEVisionImage channel3, _di_TIEVisionImage channel4, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall min(_di_TIEVisionImage source1, _di_TIEVisionImage source2, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall min(_di_TIEVisionImage source1, double source2, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall mulSpectrums(_di_TIEVisionImage rhs, _di_TIEVisionImage dest, int flags, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall mulTransposed(_di_TIEVisionImage dest, System::LongBool order, _di_TIEVisionImage delta, double scale = 1.000000E+00, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall mulTransposed(_di_TIEVisionImage dest, System::LongBool order, double scale = 1.000000E+00, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall norm(System::LongBool wantExceptions, double &__norm_result) = 0 /* overload */;
	virtual HRESULT __safecall norm(_di_TIEVisionImage mask, System::LongBool wantExceptions, double &__norm_result) = 0 /* overload */;
	virtual HRESULT __safecall opNot(_di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall perspectiveTransform(_di_TIEVisionImage dest, _di_TIEVisionImage matrix, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall reduce(_di_TIEVisionImage dest, int dim = 0xffffffff, TIEVisionReduceOp op = (TIEVisionReduceOp)(0x0), System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall repeatImage(int ny, int nx, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall scaleAdd(double scale, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setValue(const TIEVisionScalar value, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall setValue(const TIEVisionScalar value, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall setIdentity(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall transpose(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall findContours(TIEVisionContourRetrMode mode, TIEVisionContourApproxMethod method, const TIEVisionPoint offset, System::LongBool wantExceptions, _di_TIEVisionVectorObjRef &__findContours_result) = 0 ;
	virtual HRESULT __safecall inpaint(_di_TIEVisionImage mask, double range, TIEVisionInpaintMethod method = (TIEVisionInpaintMethod)(0x0), System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall inpaint(int brushWidth, int brushHeight, const TIEVisionRect &subimageRect, double range, TIEVisionInpaintMethod method = (TIEVisionInpaintMethod)(0x0), System::LongBool wantExceptions = false) = 0 /* overload */;
};

__interface TIEVisionHistogram  : public TIEVisionBase 
{
	virtual HRESULT __safecall getValue(int index0, System::LongBool wantExceptions, float &__getValue_result) = 0 /* overload */;
	virtual HRESULT __safecall getValue(int index0, int index1, System::LongBool wantExceptions, float &__getValue_result) = 0 /* overload */;
	virtual HRESULT __safecall getValue(int index0, int index1, int index2, System::LongBool wantExceptions, float &__getValue_result) = 0 /* overload */;
	virtual HRESULT __safecall size(int index, System::LongBool wantExceptions, int &__size_result) = 0 ;
	virtual HRESULT __safecall clear(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall swap(_di_TIEVisionHistogram secondHist, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall operatorASSIGN(_di_TIEVisionHistogram src, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall normalize(double factor, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall calc(_di_TIEVisionImage image, System::LongBool accumulate = false, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall calc(_di_TIEVisionImage image, System::LongBool accumulate, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall calcBackProject(_di_TIEVisionImage image, _di_TIEVisionImage backProject, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall minMax(/* out */ float &vmin, /* out */ float &vmax, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionCascadeClassifier  : public TIEVisionBase 
{
	virtual HRESULT __safecall load(_di_TIEVisionStream stream, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall load(char * filename, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall detectObjects(_di_TIEVisionImage image, double scaleFactor, int minNeighbors, int flags, const TIEVisionSize minSize, const TIEVisionSize maxSize, System::LongBool wantExceptions, _di_TIEVisionVectorRect &__detectObjects_result) = 0 ;
	virtual HRESULT __safecall empty(System::LongBool wantExceptions, System::LongBool &__empty_result) = 0 ;
};

__interface TIEVisionImageList  : public TIEVisionBase 
{
	virtual HRESULT __safecall insert(int position, _di_TIEVisionImage image, System::LongBool wantExceptions, int &__insert_result) = 0 /* overload */;
	virtual HRESULT __safecall insert(int position, char * filename, System::LongBool wantExceptions, int &__insert_result) = 0 /* overload */;
	virtual HRESULT __safecall remove(int position, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall clear(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getImage(int position, System::LongBool wantExceptions, _di_TIEVisionImage &__getImage_result) = 0 ;
	virtual HRESULT __safecall size(System::LongBool wantExceptions, int &__size_result) = 0 ;
	virtual HRESULT __safecall setImage(int position, _di_TIEVisionImage image, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall pushBack(_di_TIEVisionImage image, System::LongBool wantExceptions, int &__pushBack_result) = 0 /* overload */;
	virtual HRESULT __safecall pushBack(char * filename, System::LongBool wantExceptions, int &__pushBack_result) = 0 /* overload */;
};

__interface TIEVisionMemoryImageList  : public TIEVisionImageList 
{
	
};

__interface TIEVisionMemorySharedImageList  : public TIEVisionImageList 
{
	
};

__interface TIEVisionTempFileImageList  : public TIEVisionImageList 
{
	virtual HRESULT __safecall insertExistingFile(int position, char * filename, System::LongBool deleteOnDestroy, System::LongBool wantExceptions, int &__insertExistingFile_result) = 0 ;
	virtual HRESULT __safecall pushBackExistingFile(char * filename, System::LongBool deleteOnDestroy, System::LongBool wantExceptions, int &__pushBackExistingFile_result) = 0 ;
	virtual HRESULT __safecall getFilename(int position, System::LongBool wantExceptions, char * &__getFilename_result) = 0 ;
};

__interface TIEVisionHaarTraining  : public TIEVisionBase 
{
	virtual HRESULT __safecall createTrainingSamples(char * dstSamplesFilename, _di_TIEVisionImage sampleImage, _di_TIEVisionImageList backgroundImageList, int samplesCount, int bgColor, int bgThreshold = 0x50, TIEVisionHaarInvert invert = (TIEVisionHaarInvert)(0x0), int maxIntensityDeviation = 0x28, double maxXAngle = 1.100000E+00, double maxYAngle = 1.100000E+00, double maxZAngle = 5.000000E-01, int width = 0x18, int height = 0x18, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall createTrainingSamples(char * dstSamplesFilename, _di_TIEVisionImageList srcImageList, int width = 0x18, int height = 0x18, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall trainCascadeClassifier(char * dstFilename, char * srcSamplesFilename, _di_TIEVisionImageList backgroundImageList, System::LongBool treeCascade = true, int stagesCount = 0xe, int numPrecalculated = 0xc8, int splitsCount = 0x1, double minHitRate = 9.950000E-01, double maxFalseAlarm = 5.000000E-01, double weightFraction = 9.500000E-01, TIEVisionHaarMode haarMode = (TIEVisionHaarMode)(0x0), System::LongBool verticalSymmetry = false, System::LongBool equalWeights = true, int width = 0x18, int height = 0x18, TIEVisionHaarBoostType boostType = (TIEVisionHaarBoostType)(0x3), TIEVisionHaarStumpError stumpError = (TIEVisionHaarStumpError)(0x0), int maxTreeSplits = 0x0, int minPos = 0x1f4, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall createCascadeClassifier(_di_TIEVisionImage sampleImage, _di_TIEVisionImageList backgroundImageList, int samplesCount, System::LongBool treeCascade, int bgColor, int bgThreshold, TIEVisionHaarInvert invert, int maxIntensityDeviation, double maxXAngle, double maxYAngle, double maxZAngle, int width, int height, int stagesCount, int numPrecalculated, int splitsCount, double minHitRate, double maxFalseAlarm, double weightFraction, TIEVisionHaarMode haarMode, System::LongBool verticalSymmetry, System::LongBool equalWeights, TIEVisionHaarBoostType boostType, TIEVisionHaarStumpError stumpError, int maxTreeSplits, int minPos, System::LongBool wantExceptions, _di_TIEVisionCascadeClassifier &__createCascadeClassifier_result) = 0 ;
};

__interface TIEVisionInputOutput  : public TIEVisionBase 
{
	virtual HRESULT __safecall zcompress(_di_TIEVisionStream inputStream, _di_TIEVisionStream outputStream, int compressionLevel = 0xffffffff, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall zdecompress(_di_TIEVisionStream inputStream, _di_TIEVisionStream outputStream, System::LongBool wantExceptions = false) = 0 ;
};

typedef double __stdcall (*TIEVisionOptimizerFunction)(void * userData, _di_TIEVisionVectorDouble variables);

__interface TIEVisionMath  : public TIEVisionBase 
{
	virtual HRESULT __safecall optimizeWith_NelderMeadSimplexMethod(TIEVisionOptimizerFunction func, void * funcUserData, _di_TIEVisionVectorDouble solutions, /* out */ double &optimalValue, double length, int timeout, double eps, System::LongBool wantExceptions, System::LongBool &__optimizeWith_NelderMeadSimplexMethod_result) = 0 ;
	virtual HRESULT __safecall calcCovarMatrix(_di_TIEVisionVectorImageRef images, _di_TIEVisionImage covMat, _di_TIEVisionImage avg, TIEVisionCovarFlags flags, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall cartToPolar(_di_TIEVisionImage x, _di_TIEVisionImage y, _di_TIEVisionImage magnitude, _di_TIEVisionImage angle, System::LongBool angleInDegrees = false, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall genericMultiply(_di_TIEVisionImage src1, _di_TIEVisionImage src2, double alpha, _di_TIEVisionImage src3, double beta, _di_TIEVisionImage dest, TIEVisionGEMMFlags flags = (TIEVisionGEMMFlags)(0x0), System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall mahalonobisDistance(_di_TIEVisionImage vec1, _di_TIEVisionImage vec2, _di_TIEVisionImage invCovMatrix, System::LongBool wantExceptions, double &__mahalonobisDistance_result) = 0 ;
	virtual HRESULT __safecall solve(_di_TIEVisionImage source1, _di_TIEVisionImage source2, _di_TIEVisionImage dest, TIEVisionSolveMethod method, System::LongBool wantExceptions, int &__solve_result) = 0 ;
	virtual HRESULT __safecall solveCubic(_di_TIEVisionImage coeffs, _di_TIEVisionImage roots, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall sub(_di_TIEVisionImage lhs, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall sub(_di_TIEVisionImage lhs, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall sub(const TIEVisionScalar lhs, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall sub(const TIEVisionScalar lhs, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall sub(_di_TIEVisionImage lhs, const TIEVisionScalar rhs, _di_TIEVisionImage dest, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall sub(_di_TIEVisionImage lhs, const TIEVisionScalar rhs, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall add(_di_TIEVisionImage lhs, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall add(_di_TIEVisionImage lhs, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall add(_di_TIEVisionImage lhs, const TIEVisionScalar rhs, _di_TIEVisionImage dest, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall add(_di_TIEVisionImage lhs, const TIEVisionScalar rhs, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall absDiff(_di_TIEVisionImage lhs, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall absDiff(_di_TIEVisionImage lhs, const TIEVisionScalar rhs, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall opAnd(_di_TIEVisionImage lhs, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall opAnd(_di_TIEVisionImage lhs, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall opAnd(_di_TIEVisionImage lhs, const TIEVisionScalar rhs, _di_TIEVisionImage dest, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall opAnd(_di_TIEVisionImage lhs, const TIEVisionScalar rhs, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall opDiv(_di_TIEVisionImage lhs, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, double scale = 1.000000E+00, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall exp(_di_TIEVisionImage src, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall log(_di_TIEVisionImage src, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall mul(_di_TIEVisionImage lhs, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, double scale = 1.000000E+00, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall opOr(_di_TIEVisionImage lhs, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall opOr(_di_TIEVisionImage lhs, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall opOr(_di_TIEVisionImage lhs, const TIEVisionScalar rhs, _di_TIEVisionImage dest, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall opOr(_di_TIEVisionImage lhs, const TIEVisionScalar rhs, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall pow(_di_TIEVisionImage src, _di_TIEVisionImage dest, double power, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall trace(_di_TIEVisionImage src, System::LongBool wantExceptions, TIEVisionScalar &__trace_result) = 0 ;
	virtual HRESULT __safecall transform(_di_TIEVisionImage src, _di_TIEVisionImage dest, _di_TIEVisionImage transfMatrix, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall transpose(_di_TIEVisionImage src, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall opXor(_di_TIEVisionImage lhs, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall opXor(_di_TIEVisionImage lhs, _di_TIEVisionImage rhs, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall opXor(_di_TIEVisionImage lhs, const TIEVisionScalar rhs, _di_TIEVisionImage dest, _di_TIEVisionImage mask, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall opXor(_di_TIEVisionImage lhs, const TIEVisionScalar rhs, _di_TIEVisionImage dest, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall boundingRect(_di_TIEVisionVectorPoint points, System::LongBool wantExceptions, TIEVisionRect &__boundingRect_result) = 0 ;
	virtual HRESULT __safecall contourArea(_di_TIEVisionVectorPoint points, System::LongBool wantExceptions, double &__contourArea_result) = 0 ;
	virtual HRESULT __safecall rectIntersect(const TIEVisionRect &rect1, const TIEVisionRect &rect2, System::LongBool wantExceptions, TIEVisionRect &__rectIntersect_result) = 0 ;
	virtual HRESULT __safecall rectTestIntersect(const TIEVisionRect &rect1, const TIEVisionRect &rect2, System::LongBool wantExceptions, System::LongBool &__rectTestIntersect_result) = 0 ;
	virtual HRESULT __safecall rectUnion(const TIEVisionRect &rect1, const TIEVisionRect &rect2, System::LongBool wantExceptions, TIEVisionRect &__rectUnion_result) = 0 ;
	virtual HRESULT __safecall rectContains(const TIEVisionRect &rect, const TIEVisionPoint &point, System::LongBool wantExceptions, System::LongBool &__rectContains_result) = 0 ;
};

__interface TIEVisionDrawing  : public TIEVisionBase 
{
	virtual HRESULT __safecall rectangle(_di_TIEVisionImage image, const TIEVisionPoint pt1, const TIEVisionPoint pt2, const TIEVisionScalar &color, int thickness = 0x1, int linetype = 0x8, int shift = 0x0, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall rectangle(_di_TIEVisionImage image, const TIEVisionRect &rect, const TIEVisionScalar &color, int thickness = 0x1, int linetype = 0x8, int shift = 0x0, System::LongBool wantExceptions = false) = 0 /* overload */;
	virtual HRESULT __safecall circle(_di_TIEVisionImage image, const TIEVisionPoint center, int radius, const TIEVisionScalar color, int thickness = 0x1, int linetype = 0x8, int shift = 0x0, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall ellipse(_di_TIEVisionImage image, const TIEVisionPoint center, const TIEVisionSize axes, double angle, double startAngle, double endAngle, const TIEVisionScalar color, int thickness = 0x1, int linetype = 0x8, int shift = 0x0, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall drawContours(_di_TIEVisionImage image, _di_TIEVisionVectorObjRef contours, const TIEVisionScalar &color, int contourIdx = 0xffffffff, int thickness = 0x1, int linetype = 0x8, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionObjectTracker  : public TIEVisionBase 
{
	virtual HRESULT __safecall setInitialPosition(_di_TIEVisionImage image, const TIEVisionRect &window, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall locateNewPosition(_di_TIEVisionImage image, /* out */ _di_TIEVisionImage &backProjectedImage, System::LongBool wantExceptions, TIEVisionRotatedRect &__locateNewPosition_result) = 0 ;
};

__interface TIEVisionObjectsFinder  : public TIEVisionBase 
{
	virtual HRESULT __safecall addClassifier(char * name, _di_TIEVisionBase classifier, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getClassifier(char * name, System::LongBool wantExceptions, _di_TIEVisionBase &__getClassifier_result) = 0 ;
	virtual HRESULT __safecall findIn(_di_TIEVisionImage image, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getFoundRectCount(char * name, System::LongBool wantExceptions, int &__getFoundRectCount_result) = 0 ;
	virtual HRESULT __safecall getFoundRect(char * name, int index, System::LongBool wantExceptions, TIEVisionRect &__getFoundRect_result) = 0 ;
	virtual HRESULT __safecall mergeRects(char * name1, char * name2, System::LongBool wantExceptions, _di_TIEVisionVectorRect &__mergeRects_result) = 0 ;
	virtual HRESULT __safecall mergeAllRects(System::LongBool wantExceptions, _di_TIEVisionVectorRect &__mergeAllRects_result) = 0 ;
	virtual HRESULT __safecall removeAllClassifiers(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall classifierExists(char * name, System::LongBool wantExceptions, System::LongBool &__classifierExists_result) = 0 ;
	virtual HRESULT __safecall removeClassifier(char * name, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setDivisor(int value, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setHaarScaleFactor(double value, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setHaarMinNeighbors(int value, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setHaarFlags(int value, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIEVisionOCR  : public TIEVisionBase 
{
	virtual HRESULT __safecall recognize(_di_TIEVisionImage image, const TIEVisionRect &rect, System::LongBool wantExceptions, _di_TIEVisionWString &__recognize_result) = 0 ;
	virtual HRESULT __safecall clearAdaptiveInfo(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall isWordValid(char * word, System::LongBool wantExceptions, System::LongBool &__isWordValid_result) = 0 ;
	virtual HRESULT __safecall getBoxes(System::LongBool wantExceptions, _di_TIEVisionVectorOCRBox &__getBoxes_result) = 0 ;
	virtual HRESULT __safecall getTextAngle(System::LongBool wantExceptions, float &__getTextAngle_result) = 0 /* overload */;
	virtual HRESULT __safecall getTextAngle(_di_TIEVisionImage image, System::LongBool wantExceptions, float &__getTextAngle_result) = 0 /* overload */;
	virtual HRESULT __safecall getRegions(System::LongBool textOnly, System::LongBool wantExceptions, _di_TIEVisionVectorRect &__getRegions_result) = 0 /* overload */;
	virtual HRESULT __safecall getRegions(_di_TIEVisionImage image, System::LongBool textOnly, System::LongBool wantExceptions, _di_TIEVisionVectorRect &__getRegions_result) = 0 /* overload */;
	virtual HRESULT __safecall setSegmentationMode(TIEVisionOCRPageSegmentationMode value, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getWordBoxes(System::LongBool wantExceptions, _di_TIEVisionVectorObjRef &__getWordBoxes_result) = 0 ;
};

__interface TIEVisionPeopleDetector  : public TIEVisionBase 
{
	virtual HRESULT __safecall detect(_di_TIEVisionImage image, System::LongBool wantExceptions, _di_TIEVisionVectorRect &__detect_result) = 0 ;
};

__interface TIEVisionBarCodeSymbol  : public TIEVisionBase 
{
	virtual HRESULT __safecall getSymbolType(System::LongBool wantExceptions, _di_TIEVisionWString &__getSymbolType_result) = 0 ;
	virtual HRESULT __safecall getData(System::LongBool wantExceptions, _di_TIEVisionWString &__getData_result) = 0 ;
	virtual HRESULT __safecall getBoundingBox(System::LongBool wantExceptions, TIEVisionRect &__getBoundingBox_result) = 0 ;
	virtual HRESULT __safecall getXML(System::LongBool wantExceptions, _di_TIEVisionWString &__getXML_result) = 0 ;
};

__interface TIEVisionBarCodeScanner  : public TIEVisionBase 
{
	virtual HRESULT __safecall scan(_di_TIEVisionImage image, const TIEVisionRect &rect, System::LongBool wantExceptions, _di_TIEVisionVectorObjRef &__scan_result) = 0 ;
};

__interface TIEVisionLibrary  : public TIEVisionBase 
{
	virtual HRESULT __safecall debug(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall createHaarTraining(System::LongBool wantExceptions, _di_TIEVisionHaarTraining &__createHaarTraining_result) = 0 ;
	virtual HRESULT __safecall createInputOutput(System::LongBool wantExceptions, _di_TIEVisionInputOutput &__createInputOutput_result) = 0 ;
	virtual HRESULT __safecall createMath(System::LongBool wantExceptions, _di_TIEVisionMath &__createMath_result) = 0 ;
	virtual HRESULT __safecall createDrawing(System::LongBool wantExceptions, _di_TIEVisionDrawing &__createDrawing_result) = 0 ;
	virtual HRESULT __safecall createImage(int width, int height, TIEVisionChannelFormat channelFormat, int channels, System::LongBool wantExceptions, _di_TIEVisionImage &__createImage_result) = 0 /* overload */;
	virtual HRESULT __safecall createImage(_di_TIEVisionImage c, System::LongBool wantExceptions, _di_TIEVisionImage &__createImage_result) = 0 /* overload */;
	virtual HRESULT __safecall createImage(System::LongBool wantExceptions, _di_TIEVisionImage &__createImage_result) = 0 /* overload */;
	virtual HRESULT __safecall createImage(int width, int height, TIEVisionChannelFormat channelFormat, int channels, int rowlen, void * data, System::LongBool wantExceptions, _di_TIEVisionImage &__createImage_result) = 0 /* overload */;
	virtual HRESULT __safecall createImage(char * filename, System::LongBool wantExceptions, _di_TIEVisionImage &__createImage_result) = 0 /* overload */;
	virtual HRESULT __safecall createCascadeClassifier(System::LongBool wantExceptions, _di_TIEVisionCascadeClassifier &__createCascadeClassifier_result) = 0 /* overload */;
	virtual HRESULT __safecall createCascadeClassifier(_di_TIEVisionCascadeClassifier c, System::LongBool wantExceptions, _di_TIEVisionCascadeClassifier &__createCascadeClassifier_result) = 0 /* overload */;
	virtual HRESULT __safecall createCascadeClassifier(char * filename, System::LongBool wantExceptions, _di_TIEVisionCascadeClassifier &__createCascadeClassifier_result) = 0 /* overload */;
	virtual HRESULT __safecall createFileStream(char * filename, TIEVisionFileStreamMode mode, System::LongBool wantExceptions, _di_TIEVisionFileStream &__createFileStream_result) = 0 /* overload */;
	virtual HRESULT __safecall createFileStream(System::WideChar * filename, TIEVisionFileStreamMode mode, System::LongBool wantExceptions, _di_TIEVisionFileStream &__createFileStream_result) = 0 /* overload */;
	virtual HRESULT __safecall createFileStream(System::LongBool wantExceptions, _di_TIEVisionFileStream &__createFileStream_result) = 0 /* overload */;
	virtual HRESULT __safecall createMemoryStream(System::LongBool wantExceptions, _di_TIEVisionMemoryStream &__createMemoryStream_result) = 0 ;
	virtual HRESULT __safecall createExistingMemoryStream(void * existingBuffer, int existingBufferSize, System::LongBool wantExceptions, _di_TIEVisionExistingMemoryStream &__createExistingMemoryStream_result) = 0 ;
	virtual HRESULT __safecall createTempFileStream(System::LongBool deleteOnDestroy, System::LongBool wantExceptions, _di_TIEVisionTempFileStream &__createTempFileStream_result) = 0 /* overload */;
	virtual HRESULT __safecall createTempFileStream(char * filename, System::LongBool deleteOnDestroy, System::LongBool wantExceptions, _di_TIEVisionTempFileStream &__createTempFileStream_result) = 0 /* overload */;
	virtual HRESULT __safecall createMemoryImageList(System::LongBool wantExceptions, _di_TIEVisionMemoryImageList &__createMemoryImageList_result) = 0 ;
	virtual HRESULT __safecall createMemorySharedImageList(System::LongBool wantExceptions, _di_TIEVisionMemorySharedImageList &__createMemorySharedImageList_result) = 0 ;
	virtual HRESULT __safecall createTempFileImageList(System::LongBool wantExceptions, _di_TIEVisionTempFileImageList &__createTempFileImageList_result) = 0 ;
	virtual HRESULT __safecall createString(System::LongBool wantExceptions, _di_TIEVisionString &__createString_result) = 0 /* overload */;
	virtual HRESULT __safecall createString(_di_TIEVisionString src, System::LongBool wantExceptions, _di_TIEVisionString &__createString_result) = 0 /* overload */;
	virtual HRESULT __safecall createString(char * src, System::LongBool wantExceptions, _di_TIEVisionString &__createString_result) = 0 /* overload */;
	virtual HRESULT __safecall createWString(System::LongBool wantExceptions, _di_TIEVisionWString &__createWString_result) = 0 /* overload */;
	virtual HRESULT __safecall createWString(_di_TIEVisionWString src, System::LongBool wantExceptions, _di_TIEVisionWString &__createWString_result) = 0 /* overload */;
	virtual HRESULT __safecall createWString(System::WideChar * src, System::LongBool wantExceptions, _di_TIEVisionWString &__createWString_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorString(System::LongBool wantExceptions, _di_TIEVisionVectorString &__createVectorString_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorString(_di_TIEVisionVectorString src, System::LongBool wantExceptions, _di_TIEVisionVectorString &__createVectorString_result) = 0 /* overload */;
	virtual HRESULT __safecall createPropertyTree(System::LongBool wantExceptions, _di_TIEVisionPropertyTree &__createPropertyTree_result) = 0 /* overload */;
	virtual HRESULT __safecall createPropertyTree(_di_TIEVisionPropertyTree src, System::LongBool wantExceptions, _di_TIEVisionPropertyTree &__createPropertyTree_result) = 0 /* overload */;
	virtual HRESULT __safecall createTempFileName(System::LongBool deleteOnDestroy, System::LongBool wantExceptions, _di_TIEVisionTempFileName &__createTempFileName_result) = 0 /* overload */;
	virtual HRESULT __safecall createTempFileName(char * filename, System::LongBool deleteOnDestroy, System::LongBool wantExceptions, _di_TIEVisionTempFileName &__createTempFileName_result) = 0 /* overload */;
	virtual HRESULT __safecall createTempDirName(System::LongBool deleteOnDestroy, System::LongBool wantExceptions, _di_TIEVisionTempDirName &__createTempDirName_result) = 0 /* overload */;
	virtual HRESULT __safecall createTempDirName(char * dirname, System::LongBool deleteOnDestroy, System::LongBool wantExceptions, _di_TIEVisionTempDirName &__createTempDirName_result) = 0 /* overload */;
	virtual HRESULT __safecall createHistogram(_di_TIEVisionVectorInt32 sizes, TIEVisionHistogramType histType, _di_TIEVisionVectorFloatPair ranges, System::LongBool uniform, System::LongBool wantExceptions, _di_TIEVisionHistogram &__createHistogram_result) = 0 /* overload */;
	virtual HRESULT __safecall createHistogram(int bins, TIEVisionHistogramType histType, float rangeMin, float rangeMax, System::LongBool uniform, System::LongBool wantExceptions, _di_TIEVisionHistogram &__createHistogram_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorInt32(System::LongBool wantExceptions, _di_TIEVisionVectorInt32 &__createVectorInt32_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorInt32(_di_TIEVisionVectorInt32 src, System::LongBool wantExceptions, _di_TIEVisionVectorInt32 &__createVectorInt32_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorFloatPair(System::LongBool wantExceptions, _di_TIEVisionVectorFloatPair &__createVectorFloatPair_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorFloatPair(_di_TIEVisionVectorFloatPair src, System::LongBool wantExceptions, _di_TIEVisionVectorFloatPair &__createVectorFloatPair_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorPoint(System::LongBool wantExceptions, _di_TIEVisionVectorPoint &__createVectorPoint_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorPoint(_di_TIEVisionVectorPoint src, System::LongBool wantExceptions, _di_TIEVisionVectorPoint &__createVectorPoint_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorRect(System::LongBool wantExceptions, _di_TIEVisionVectorRect &__createVectorRect_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorRect(_di_TIEVisionVectorRect src, System::LongBool wantExceptions, _di_TIEVisionVectorRect &__createVectorRect_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorByte(System::LongBool wantExceptions, _di_TIEVisionVectorByte &__createVectorByte_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorByte(_di_TIEVisionVectorByte src, System::LongBool wantExceptions, _di_TIEVisionVectorByte &__createVectorByte_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorDouble(System::LongBool wantExceptions, _di_TIEVisionVectorDouble &__createVectorDouble_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorDouble(_di_TIEVisionVectorDouble src, System::LongBool wantExceptions, _di_TIEVisionVectorDouble &__createVectorDouble_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorImageRef(System::LongBool wantExceptions, _di_TIEVisionVectorImageRef &__createVectorImageRef_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorImageRef(_di_TIEVisionVectorImageRef src, System::LongBool wantExceptions, _di_TIEVisionVectorImageRef &__createVectorImageRef_result) = 0 /* overload */;
	virtual HRESULT __safecall createObjectTracker(System::LongBool wantExceptions, _di_TIEVisionObjectTracker &__createObjectTracker_result) = 0 ;
	virtual HRESULT __safecall createObjectsFinder(System::LongBool wantExceptions, _di_TIEVisionObjectsFinder &__createObjectsFinder_result) = 0 ;
	virtual HRESULT __safecall createOCR(char * language, TIEVisionOCREngine engine, System::LongBool wantExceptions, _di_TIEVisionOCR &__createOCR_result) = 0 /* overload */;
	virtual HRESULT __safecall createOCR(char * path, char * language, TIEVisionOCREngine engine, System::LongBool wantExceptions, _di_TIEVisionOCR &__createOCR_result) = 0 /* overload */;
	virtual HRESULT __safecall createOCR(char * path, _di_TIEVisionVectorString languages, TIEVisionOCREngine engine, System::LongBool wantExceptions, _di_TIEVisionOCR &__createOCR_result) = 0 /* overload */;
	virtual HRESULT __safecall createPeopleDetector(System::LongBool wantExceptions, _di_TIEVisionPeopleDetector &__createPeopleDetector_result) = 0 ;
	virtual HRESULT __safecall createBarCodeScanner(System::LongBool wantExceptions, _di_TIEVisionBarCodeScanner &__createBarCodeScanner_result) = 0 ;
	virtual HRESULT __safecall getLibraryInfo(TIEVisionLibraryInfo info, System::LongBool wantExceptions, _di_TIEVisionString &__getLibraryInfo_result) = 0 ;
};

enum DECLSPEC_DENUM TIEOCRLanguages : unsigned int { OCR_Ancient_Greek_Language, OCR_Esperanto_Alternative_Language, OCR_English_Language, OCR_Ukrainian_Language, OCR_Turkish_Language, OCR_Thai_Language, OCR_Tagalog_Language, OCR_Telugu_Language, OCR_Tamil_Language, OCR_Swedish_Language, OCR_Swahili_Language, OCR_Serbian_Latin_Language, OCR_Albanian_Language, OCR_Spanish_Old_Language, OCR_Spanish_Language, OCR_Slovenian_Language, OCR_Slovakian_Language, OCR_Romanian_Language, OCR_Portuguese_Language, OCR_Polish_Language, OCR_Norwegian_Language, OCR_Dutch_Language, OCR_Malay_Language, OCR_Maltese_Language, OCR_Macedonian_Language, OCR_Malayalam_Language, OCR_Lithuanian_Language, OCR_Latvian_Language, OCR_Korean_Language, OCR_Kannada_Language, 
	OCR_Italian_Old_Language, OCR_Italian_Language, OCR_Icelandic_Language, OCR_Indonesian_Language, OCR_Cherokee_Language, OCR_Hungarian_Language, OCR_Croatian_Language, OCR_Hindi_Language, OCR_Hebrew_Language, OCR_Galician_Language, OCR_Middle_French_1400_1600_Language, OCR_Frankish_Language, OCR_French_Language, OCR_Finnish_Language, OCR_Basque_Language, OCR_Estonian_Language, OCR_Esperanto_Language, OCR_Middle_English_1100_1500_Language, OCR_Greek_Language, OCR_German_Language, OCR_Danish_Language, OCR_Czech_Language, OCR_Catalan_Language, OCR_Bulgarian_Language, OCR_Bengali_Language, OCR_Belarusian_Language, OCR_Azerbaijani_Language, OCR_Arabic_Language, OCR_Afrikaans_Language, OCR_Japanese_Language, OCR_Chinese_Simplified_Language, 
	OCR_Chinese_Traditional_Language, OCR_Russian_Language, OCR_Vietnamese_Language };

struct DECLSPEC_DRECORD TIEVisionLanguages
{
public:
	char *Code;
	System::UnicodeString DisplayName;
};


typedef System::StaticArray<TIEVisionLanguages, 64> Ievision__1;

__interface TIEVisionCustomStreamProvider  : public System::IInterface 
{
	virtual HRESULT __safecall size(__int64 &__size_result) = 0 ;
	virtual HRESULT __safecall seek(__int64 offset, TIEVisionSeekOffset whence) = 0 ;
	virtual HRESULT __safecall tell(__int64 &__tell_result) = 0 ;
	virtual HRESULT __safecall silent_read(void * ptr, __int64 size, __int64 &__silent_read_result) = 0 ;
	virtual HRESULT __safecall silent_write(void * ptr, __int64 size, __int64 &__silent_write_result) = 0 ;
	virtual HRESULT __safecall silent_getc(int &__silent_getc_result) = 0 ;
	virtual HRESULT __safecall eof(System::LongBool &__eof_result) = 0 ;
};

__interface TIEVisionCustomStream  : public TIEVisionStream 
{
	virtual HRESULT __safecall reset(_di_TIEVisionCustomStreamProvider provider, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIELibJPEGErrorManager  : public TIEVisionBase 
{
	virtual HRESULT __safecall getNumWarnings(System::LongBool wantExceptions, int &__getNumWarnings_result) = 0 ;
	virtual HRESULT __safecall getErrMsgCode(System::LongBool wantExceptions, int &__getErrMsgCode_result) = 0 ;
};

__interface TIELibJPEGMarker  : public TIEVisionBase 
{
	virtual HRESULT __safecall getID(System::LongBool wantExceptions, System::Byte &__getID_result) = 0 ;
	virtual HRESULT __safecall getData(System::LongBool wantExceptions, void * &__getData_result) = 0 ;
	virtual HRESULT __safecall getLength(System::LongBool wantExceptions, unsigned &__getLength_result) = 0 ;
	virtual HRESULT __safecall next(System::LongBool wantExceptions, _di_TIELibJPEGMarker &__next_result) = 0 ;
};

__interface TIELibJPEGDecompressor  : public TIEVisionBase 
{
	virtual HRESULT __safecall setErrorManager(_di_TIELibJPEGErrorManager errorManager, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall createDecompress(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall destroyDecompress(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setupReadStream(_di_TIEVisionStream stream, unsigned bufferSize, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall readHeader(System::LongBool requireImage, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall saveMarkers(int markerCode, unsigned lengthLimit, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall startDecompress(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getOutputWidth(System::LongBool wantExceptions, unsigned &__getOutputWidth_result) = 0 ;
	virtual HRESULT __safecall getOutputHeight(System::LongBool wantExceptions, unsigned &__getOutputHeight_result) = 0 ;
	virtual HRESULT __safecall getOutputComponents(System::LongBool wantExceptions, unsigned &__getOutputComponents_result) = 0 ;
	virtual HRESULT __safecall getOutputScanline(System::LongBool wantExceptions, unsigned &__getOutputScanline_result) = 0 ;
	virtual HRESULT __safecall readScanlines(void * scanlines, unsigned maxLines, System::LongBool wantExceptions, unsigned &__readScanlines_result) = 0 ;
	virtual HRESULT __safecall finishDecompress(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setOutColorSpace(unsigned colorSpace, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getOutColorSpace(System::LongBool wantExceptions, unsigned &__getOutColorSpace_result) = 0 ;
	virtual HRESULT __safecall getJpegColorSpace(System::LongBool wantExceptions, unsigned &__getJpegColorSpace_result) = 0 ;
	virtual HRESULT __safecall setDCTMethod(unsigned DCTMethod, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getDensityUnit(System::LongBool wantExceptions, System::Byte &__getDensityUnit_result) = 0 ;
	virtual HRESULT __safecall getXDensity(System::LongBool wantExceptions, System::Word &__getXDensity_result) = 0 ;
	virtual HRESULT __safecall getYDensity(System::LongBool wantExceptions, System::Word &__getYDensity_result) = 0 ;
	virtual HRESULT __safecall getProgressiveMode(System::LongBool wantExceptions, System::LongBool &__getProgressiveMode_result) = 0 ;
	virtual HRESULT __safecall getImageWidth(System::LongBool wantExceptions, unsigned &__getImageWidth_result) = 0 ;
	virtual HRESULT __safecall getImageHeight(System::LongBool wantExceptions, unsigned &__getImageHeight_result) = 0 ;
	virtual HRESULT __safecall setScale(unsigned num, unsigned den, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getMarkerList(System::LongBool wantExceptions, _di_TIELibJPEGMarker &__getMarkerList_result) = 0 ;
};

__interface TIELibJPEGCompressor  : public TIEVisionBase 
{
	virtual HRESULT __safecall setErrorManager(_di_TIELibJPEGErrorManager errorManager, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setupWriteStream(_di_TIEVisionStream stream, unsigned bufferSize, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall createCompress(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall destroyCompress(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setImageWidth(unsigned imageWidth, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setImageHeight(unsigned imageHeight, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setInputComponents(unsigned inputComponents, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setInColorSpace(unsigned colorSpace, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setColorSpace(unsigned colorSpace, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setDefaults(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setDensityUnit(System::Byte densityUnit, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setXDensity(System::Word XDensity, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setYDensity(System::Word YDensity, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setDCTMethod(unsigned DCTMethod, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setOptimizeCoding(System::LongBool optimizeCoding, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setSmoothingFactor(int smoothingFactor, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setQuality(int quality, System::LongBool baseline, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setSampleFactor(int componentIndex, int H, int V, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setWriteJFIFHeader(System::LongBool writeJFIFHeader, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall simpleProgression(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall startCompress(System::LongBool writeAllTables, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall writeMarker(int markerID, void * markerPtr, unsigned markerLength, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getNextScanlineIndex(System::LongBool wantExceptions, unsigned &__getNextScanlineIndex_result) = 0 ;
	virtual HRESULT __safecall writeScanlines(void * scanlines, unsigned maxLines, System::LongBool wantExceptions, unsigned &__writeScanlines_result) = 0 ;
	virtual HRESULT __safecall finishCompress(System::LongBool wantExceptions = false) = 0 ;
};

__interface TIELibJPEGTransform  : public TIEVisionBase 
{
	virtual HRESULT __safecall requestWorkspace(_di_TIELibJPEGDecompressor source, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall adjustParameters(_di_TIELibJPEGDecompressor source, _di_TIELibJPEGCompressor dest, void * sourceCoefArrays, System::LongBool wantExceptions, void * &__adjustParameters_result) = 0 ;
	virtual HRESULT __safecall executeTransformation(_di_TIELibJPEGDecompressor source, _di_TIELibJPEGCompressor dest, void * sourceCoefArrays, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIELibJPEGCopy  : public TIEVisionBase 
{
	virtual HRESULT __safecall copyMarkersSetup(_di_TIELibJPEGDecompressor source, int copyOption, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall readCoefficients(_di_TIELibJPEGDecompressor source, System::LongBool wantExceptions, void * &__readCoefficients_result) = 0 ;
	virtual HRESULT __safecall copyCriticalParameters(_di_TIELibJPEGDecompressor source, _di_TIELibJPEGCompressor dest, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall writeCoefficients(_di_TIELibJPEGCompressor dest, void * destCoefArrays, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall copyMarkersExecute(_di_TIELibJPEGDecompressor source, _di_TIELibJPEGCompressor dest, int copyOption, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIELibPNGText  : public TIEVisionBase 
{
	virtual HRESULT __safecall getKey(System::LongBool wantExceptions, char * &__getKey_result) = 0 ;
	virtual HRESULT __safecall getText(System::LongBool wantExceptions, char * &__getText_result) = 0 ;
	virtual HRESULT __safecall getNext(System::LongBool wantExceptions, _di_TIELibPNGText &__getNext_result) = 0 ;
};

__interface TIELibPNGDecompressor  : public TIEVisionBase 
{
	virtual HRESULT __safecall isValid(System::LongBool wantExceptions, System::LongBool &__isValid_result) = 0 ;
	virtual HRESULT __safecall setReadFunction(void * ioPtr, void * readDataFunction, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall readInfo(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getIHDR(/* out */ unsigned &width, /* out */ unsigned &height, /* out */ int &bitDepth, /* out */ int &colorType, /* out */ int &interlaceType, /* out */ int &compressionType, /* out */ int &filterType, System::LongBool wantExceptions, unsigned &__getIHDR_result) = 0 ;
	virtual HRESULT __safecall getText(/* out */ _di_TIELibPNGText &outPngText, System::LongBool wantExceptions, unsigned &__getText_result) = 0 ;
	virtual HRESULT __safecall getBackground(TIEVisionBGR8 defaultValue, System::LongBool wantExceptions, TIEVisionBGR8 &__getBackground_result) = 0 ;
	virtual HRESULT __safecall setExpand(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setStrip16(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setPacking(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setGrayToRGB(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setBGR(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setSwap(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setTRNStoAlpha(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setInterlaceHandling(System::LongBool wantExceptions, int &__setInterlaceHandling_result) = 0 ;
	virtual HRESULT __safecall readUpdateInfo(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getXPixelsPerMeter(System::LongBool wantExceptions, unsigned &__getXPixelsPerMeter_result) = 0 ;
	virtual HRESULT __safecall getYPixelsPerMeter(System::LongBool wantExceptions, unsigned &__getYPixelsPerMeter_result) = 0 ;
	virtual HRESULT __safecall getPalette(void * palette, /* out */ int &numPalette, System::LongBool wantExceptions, unsigned &__getPalette_result) = 0 ;
	virtual HRESULT __safecall getInterlaceType(System::LongBool wantExceptions, System::Byte &__getInterlaceType_result) = 0 ;
	virtual HRESULT __safecall getChannels(System::LongBool wantExceptions, System::Byte &__getChannels_result) = 0 ;
	virtual HRESULT __safecall readRows(void * row, void * displayRow, unsigned numRows, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall readEnd(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall getTRNS(void * trans, /* out */ int &numTrans, System::LongBool wantExceptions, unsigned &__getTRNS_result) = 0 ;
};

__interface TIELibPNGTextList  : public TIEVisionBase 
{
	virtual HRESULT __safecall assign(int index, int compression, char * key, char * text, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIELibPNGCompressor  : public TIEVisionBase 
{
	virtual HRESULT __safecall isValid(System::LongBool wantExceptions, System::LongBool &__isValid_result) = 0 ;
	virtual HRESULT __safecall setWriteFunction(void * ioPtr, void * writeFunc, void * flushFunc, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setPalette(void * palette, int numPalette, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setTRNS(System::PByte trans, int numTrans, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setIHDR(unsigned width, unsigned height, int bitDepth, int colorType, int interlaceType, int compressionType, int filterType, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setPHYS(unsigned resX, unsigned resY, int unitType, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setFilter(int method, int filters, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setBackground(TIEVisionBGR8 colorValue, System::Byte colorIndex, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setCompressionLevel(int level, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setBGR(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall writeInfo(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setInterlaceHandling(System::LongBool wantExceptions, int &__setInterlaceHandling_result) = 0 ;
	virtual HRESULT __safecall writeRows(void * row, unsigned numRows, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall writeEnd(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setText(_di_TIELibPNGTextList textList, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIELibJP2KComponentParamsList  : public TIEVisionBase 
{
	virtual HRESULT __safecall assign(int index, unsigned tlx, unsigned tly, unsigned hstep, unsigned vstep, unsigned width, unsigned height, System::Word prec, int sgnd, System::LongBool wantExceptions = false) = 0 ;
};

__interface TIELibJP2KMatrix  : public TIEVisionBase 
{
	virtual HRESULT __safecall getValue(int i, int j, System::LongBool wantExceptions, int &__getValue_result) = 0 ;
};

__interface TIELibJP2KImage  : public TIEVisionBase 
{
	virtual HRESULT __safecall getWidth(System::LongBool wantExceptions, int &__getWidth_result) = 0 ;
	virtual HRESULT __safecall getHeight(System::LongBool wantExceptions, int &__getHeight_result) = 0 ;
	virtual HRESULT __safecall getColorSpace(System::LongBool wantExceptions, int &__getColorSpace_result) = 0 ;
	virtual HRESULT __safecall getComponentByType(int component, System::LongBool wantExceptions, int &__getComponentByType_result) = 0 ;
	virtual HRESULT __safecall getComponentPrecision(int index, System::LongBool wantExceptions, int &__getComponentPrecision_result) = 0 ;
	virtual HRESULT __safecall getNumComponents(System::LongBool wantExceptions, int &__getNumComponents_result) = 0 ;
	virtual HRESULT __safecall getComponentHeight(int index, System::LongBool wantExceptions, int &__getComponentHeight_result) = 0 ;
	virtual HRESULT __safecall getComponentWidth(int index, System::LongBool wantExceptions, int &__getComponentWidth_result) = 0 ;
	virtual HRESULT __safecall readComponent(System::Word index, int x, int y, int width, int height, _di_TIELibJP2KMatrix data, System::LongBool wantExceptions, int &__readComponent_result) = 0 ;
	virtual HRESULT __safecall getComponentTopLeftY(int index, System::LongBool wantExceptions, int &__getComponentTopLeftY_result) = 0 ;
	virtual HRESULT __safecall getComponentTopLeftX(int index, System::LongBool wantExceptions, int &__getComponentTopLeftX_result) = 0 ;
	virtual HRESULT __safecall getComponentVStep(int index, System::LongBool wantExceptions, int &__getComponentVStep_result) = 0 ;
	virtual HRESULT __safecall getComponentHStep(int index, System::LongBool wantExceptions, int &__getComponentHStep_result) = 0 ;
	virtual HRESULT __safecall encode(_di_TIEVisionStream stream, int format, char * options, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall setComponentType(int index, int component, System::LongBool wantExceptions = true) = 0 ;
	virtual HRESULT __safecall writeComponentSample(int index, int x, int y, unsigned v, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall writeRowRGB8(int width, int rowIndex, System::PByte bgr8Array, System::PByte alphaArray, int colors, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall readLinearBGR8(_di_TIELibJP2KMatrix blueMatrix, _di_TIELibJP2KMatrix greenMatrix, _di_TIELibJP2KMatrix redMatrix, int rowIndex, int bluePrec, int greenPrec, int redPrec, System::PByte destBGR8, int width, System::LongBool wantExceptions = true) = 0 ;
};

enum DECLSPEC_DENUM TIELibDCRAWTextInfo : unsigned int { ievCOLOR_DESCRIPTION, ievIMAGE_DESCRIPTION, ievMAKE, ievMODEL, ievMODEL2, ievARTIST };

enum DECLSPEC_DENUM TIELibDCRAWIntInfo : unsigned int { ievWIDTH, ievHEIGHT, ievORIGINAL_WIDTH, ievORIGINAL_HEIGHT, ievPIXELFORMAT };

enum DECLSPEC_DENUM TIELibDCRAWPixelFormat : unsigned int { ievRGB24, ievRGB48 };

__interface TIELibDCRAWDecoder  : public TIEVisionBase 
{
	virtual HRESULT __safecall getTextInfo(TIELibDCRAWTextInfo info, System::LongBool wantExceptions, _di_TIEVisionString &__getTextInfo_result) = 0 ;
	virtual HRESULT __safecall getIntInfo(TIELibDCRAWIntInfo info, System::LongBool wantExceptions, int &__getIntInfo_result) = 0 ;
	virtual HRESULT __safecall getRow(unsigned rowIndex, void * destBuffer, System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall imageLoaded(System::LongBool wantExceptions, System::LongBool &__imageLoaded_result) = 0 ;
};

__interface TIELib  : public TIEVisionBase 
{
	virtual HRESULT __safecall debug(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall createString(System::LongBool wantExceptions, _di_TIEVisionString &__createString_result) = 0 /* overload */;
	virtual HRESULT __safecall createString(_di_TIEVisionString src, System::LongBool wantExceptions, _di_TIEVisionString &__createString_result) = 0 /* overload */;
	virtual HRESULT __safecall createString(char * src, System::LongBool wantExceptions, _di_TIEVisionString &__createString_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorString(System::LongBool wantExceptions, _di_TIEVisionVectorString &__createVectorString_result) = 0 /* overload */;
	virtual HRESULT __safecall createVectorString(_di_TIEVisionVectorString src, System::LongBool wantExceptions, _di_TIEVisionVectorString &__createVectorString_result) = 0 /* overload */;
	virtual HRESULT __safecall createCustomStream(_di_TIEVisionCustomStreamProvider provider, System::LongBool wantExceptions, _di_TIEVisionCustomStream &__createCustomStream_result) = 0 ;
	virtual HRESULT __safecall createJPEGErrorManager(System::LongBool wantExceptions, _di_TIELibJPEGErrorManager &__createJPEGErrorManager_result) = 0 ;
	virtual HRESULT __safecall createJPEGDecompressor(System::LongBool wantExceptions, _di_TIELibJPEGDecompressor &__createJPEGDecompressor_result) = 0 ;
	virtual HRESULT __safecall createJPEGCompressor(System::LongBool wantExceptions, _di_TIELibJPEGCompressor &__createJPEGCompressor_result) = 0 ;
	virtual HRESULT __safecall createJPEGTransform(int transform, System::LongBool trim, System::LongBool forceGrayscale, unsigned xoffs, unsigned yoffs, unsigned newWidth, unsigned newHeight, System::LongBool wantExceptions, _di_TIELibJPEGTransform &__createJPEGTransform_result) = 0 ;
	virtual HRESULT __safecall createJPEGCopy(System::LongBool wantExceptions, _di_TIELibJPEGCopy &__createJPEGCopy_result) = 0 ;
	virtual HRESULT __safecall createPNGDecompressor(void * errorPtr, void * errorFunc, void * warnFunc, System::LongBool wantExceptions, _di_TIELibPNGDecompressor &__createPNGDecompressor_result) = 0 ;
	virtual HRESULT __safecall PNGGetIOPtr(void * pngPtr, System::LongBool wantExceptions, void * &__PNGGetIOPtr_result) = 0 ;
	virtual HRESULT __safecall PNGGetErrorPtr(void * pngPtr, System::LongBool wantExceptions, void * &__PNGGetErrorPtr_result) = 0 ;
	virtual HRESULT __safecall PNGSigCmp(void * sig, unsigned start, unsigned numToCheck, System::LongBool wantExceptions, int &__PNGSigCmp_result) = 0 ;
	virtual HRESULT __safecall createPNGTextList(unsigned size, System::LongBool wantExceptions, _di_TIELibPNGTextList &__createPNGTextList_result) = 0 ;
	virtual HRESULT __safecall createPNGCompressor(void * errorPtr, void * errorFunc, void * warnFunc, System::LongBool wantExceptions, _di_TIELibPNGCompressor &__createPNGCompressor_result) = 0 ;
	virtual HRESULT __safecall JP2KInitialize(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall JP2KFinalize(System::LongBool wantExceptions = false) = 0 ;
	virtual HRESULT __safecall createJP2KImage(_di_TIEVisionStream stream, System::LongBool wantExceptions, _di_TIELibJP2KImage &__createJP2KImage_result) = 0 /* overload */;
	virtual HRESULT __safecall createJP2KImage(System::Word numComponents, _di_TIELibJP2KComponentParamsList parameters, int colorModel, System::LongBool wantExceptions, _di_TIELibJP2KImage &__createJP2KImage_result) = 0 /* overload */;
	virtual HRESULT __safecall createJP2KComponentParamsList(int size, System::LongBool wantExceptions, _di_TIELibJP2KComponentParamsList &__createJP2KComponentParamsList_result) = 0 ;
	virtual HRESULT __safecall createJP2KMatrix(int numRows, int numCols, System::LongBool wantExceptions, _di_TIELibJP2KMatrix &__createJP2KMatrix_result) = 0 ;
	virtual HRESULT __safecall createDCRAWDecoder(_di_TIEVisionStream inStream, _di_TIEVisionVectorString parameters, void * progressCallback, void * progressUserData, System::LongBool wantExceptions, _di_TIELibDCRAWDecoder &__createDCRAWDecoder_result) = 0 ;
};

//-- var, const, procedure ---------------------------------------------------
extern DELPHI_PACKAGE System::ResourceString _IERS_IEVISIONNOTFOUND;
#define Ievision_IERS_IEVISIONNOTFOUND System::LoadResourceString(&Ievision::_IERS_IEVISIONNOTFOUND)
#define IEVC_EYE L":EYE"
#define IEVC_EYE_TREE_EYE_GLASSES L":EYETREEEYEGLASSES"
#define IEVC_FRONTAL_FACE_ALT L":FRONTALFACEALT"
#define IEVC_FRONTAL_FACE_ALT_2 L":FRONTALFACEALT2"
#define IEVC_FRONTAL_FACE_ALT_TREE L":FRONTALFACEALTTREE"
#define IEVC_FRONTAL_FACE_DEFAULT L":FRONTALFACEDEFAULT"
#define IEVC_FULL_BODY L":FULLBODY"
#define IEVC_LOWER_BODY L":LOWERBODY"
#define IEVC_PROFILE_FACE L":PROFILEFACE"
#define IEVC_UPPER_BODY L":UPPERBODY"
#define IEVC_LEFT_EYE_2_SPLITS L":LEFTEYE2SPLITS"
#define IEVC_MCS_EYE_PAIR_BIG L":MCSEYEPAIRBIG"
#define IEVC_MCS_EYE_PAIR_SMALL L":MCSEYEPAIRSMALL"
#define IEVC_MCS_LEFT_EYE L":MCSLEFTEYE"
#define IEVC_MCS_MOUTH L":MCSMOUTH"
#define IEVC_MCS_NOSE L":MCSNOSE"
#define IEVC_MCS_RIGHT_EYE L":MCSRIGHTEYE"
#define IEVC_MCS_UPPER_BODY L":MCSUPPERBODY"
#define IEVC_RIGHT_EYE_2_SPLITS L":RIGHTEYE2SPLITS"
#define IEVC_MCS_LEFT_EAR L":MCSLEFTEAR"
#define IEVC_MCS_RIGHT_EAR L":MCSRIGHTEAR"
static const System::Int8 ievITER = System::Int8(0x1);
static const System::Int8 ievNUMBER = System::Int8(0x1);
static const System::Int8 ievEPS = System::Int8(0x2);
static const System::Int8 ievMUL_ROWS = System::Int8(0x4);
static const System::Int8 ievMUL_CONJ = System::Int8(0x8);
static const System::Int8 ievNONE = System::Int8(0x0);
static const System::Int8 ievDO_CANNY_PRUNING = System::Int8(0x1);
static const System::Int8 ievSCALE_IMAGE = System::Int8(0x2);
static const System::Int8 ievFIND_BIGGEST_OBJECT = System::Int8(0x4);
static const System::Int8 ievDO_ROUGH_SEARCH = System::Int8(0x8);
extern DELPHI_PACKAGE Ievision__1 IEOCRLanguageList;
#define IEV_OCR_Language_Data_Ext L".traineddata"
#define IELIB_32BIT_DLL_FILENAME1 L"ielib.dll"
#define IELIB_32BIT_DLL_FILENAME2 L"ielib32.dll"
#define IELIB_64BIT_DLL_FILENAME L"ielib64.dll"
#define IEVISION_32BIT_DLL_FILENAME1 L"ievision.dll"
#define IEVISION_32BIT_DLL_FILENAME2 L"ievision32.dll"
#define IEVISION_64BIT_DLL_FILENAME L"ievision64.dll"
extern DELPHI_PACKAGE _di_TIEVisionLibrary __fastcall IEVisionLib(void);
extern DELPHI_PACKAGE bool __fastcall IEVisionAvailable(void);
extern DELPHI_PACKAGE void __fastcall IEInitialize_ievision(const System::WideString sDLLPath = System::WideString(), bool reinitialize = true);
extern DELPHI_PACKAGE void __fastcall IEFinalize_ievision(void);
extern DELPHI_PACKAGE _di_TIELib __fastcall IELib(void);
extern DELPHI_PACKAGE bool __fastcall IELibAvailable(void);
extern DELPHI_PACKAGE void __fastcall IEInitialize_ielib(const System::WideString sDLLPath = System::WideString(), bool reinitialize = true);
extern DELPHI_PACKAGE void __fastcall IEFinalize_ielib(void);
extern DELPHI_PACKAGE TIEVisionSize __fastcall IEVisionSize(int width, int height);
extern DELPHI_PACKAGE TIEVisionRect __fastcall IEVisionRect(int x, int y, int width, int height)/* overload */;
extern DELPHI_PACKAGE TIEVisionPoint __fastcall IEVisionPoint(int x, int y);
extern DELPHI_PACKAGE TIEVisionScalar __fastcall IEVisionScalar(double val0, double val1 = 0.000000E+00, double val2 = 0.000000E+00, double val3 = 0.000000E+00);
extern DELPHI_PACKAGE TIEVisionFloatPair __fastcall IEVisionFloatPair(double first, double second);
extern DELPHI_PACKAGE TIEVisionTermCriteria __fastcall IEVisionTermCriteria(int ctype, int maxIter, double epsilon);
extern DELPHI_PACKAGE System::UnicodeString __fastcall IEVisionLanguageCodeToName(const System::UnicodeString sLangCode);
extern DELPHI_PACKAGE System::UnicodeString __fastcall IEVisionLanguageNameToCode(const System::UnicodeString sLangName);
extern DELPHI_PACKAGE bool __fastcall IEVisionGetLanguagesInFolder(System::Classes::TStrings* ssDest, const System::UnicodeString sFolder, bool bDisplayName = false);
extern DELPHI_PACKAGE bool __fastcall LanguageExistsInFolder(TIEOCRLanguages aLanguage, const System::UnicodeString sFolder)/* overload */;
extern DELPHI_PACKAGE bool __fastcall LanguageExistsInFolder(const System::UnicodeString sLangCode, const System::UnicodeString sFolder)/* overload */;
extern DELPHI_PACKAGE bool __fastcall CubeEngineExistsInFolder(TIEOCRLanguages aLanguage, const System::UnicodeString sFolder)/* overload */;
extern DELPHI_PACKAGE bool __fastcall CubeEngineExistsInFolder(const System::UnicodeString sLangCode, const System::UnicodeString sFolder)/* overload */;
}	/* namespace Ievision */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_IEVISION)
using namespace Ievision;
#endif
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// IevisionHPP
