165 lines
6.4 KiB
C
165 lines
6.4 KiB
C
/*****************************************************************************
|
|||
|
|
* HBaseGP.h
|
||
|
|
*****************************************************************************
|
||
|
|
*
|
||
|
|
* Project: HALCON/libhalcon
|
||
|
|
* Description: Basic tools
|
||
|
|
*
|
||
|
|
* (c) 1996-2020 by MVTec Software GmbH
|
||
|
|
* www.mvtec.com
|
||
|
|
*
|
||
|
|
*****************************************************************************
|
||
|
|
*
|
||
|
|
*
|
||
|
|
*/
|
||
|
|
|
||
|
|
|
||
|
|
#ifndef HBASEGP_H
|
||
|
|
#define HBASEGP_H
|
||
|
|
|
||
|
|
|
||
|
|
#if defined(__cplusplus)
|
||
|
|
extern "C" {
|
||
|
|
#endif
|
||
|
|
|
||
|
|
|
||
|
|
extern HLibExport Herror HSetImageTime(Hproc_handle proc_handle,
|
||
|
|
Himage* image);
|
||
|
|
|
||
|
|
extern HLibExport Herror HImageName2Type(const char* str, HINT* kind);
|
||
|
|
|
||
|
|
extern HLibExport Herror HPrepNewImage(Hproc_handle proc_handle, HIMGDIM width,
|
||
|
|
HIMGDIM height);
|
||
|
|
|
||
|
|
extern HLibExport double Hatan2(double x, double y);
|
||
|
|
|
||
|
|
extern HLibExport Herror HStripQuotes(Hproc_handle proc_handle, char* in,
|
||
|
|
char** out);
|
||
|
|
|
||
|
|
|
||
|
|
/* for some functions we have an old version without the Hproc_handle parameter
|
||
|
|
* -> keep them for binary compatibility (The progress versions before
|
||
|
|
* HALCON 18.12 must be binary compatible with all current
|
||
|
|
* image acquisition interfaces released with HALCON 13)
|
||
|
|
* and a new version with Hproc_handle for optimizing the memory allocation */
|
||
|
|
extern HLibExport char* HGetHalconRoot();
|
||
|
|
extern HLibExport char* HGetHalconRootPh(Hproc_handle ph);
|
||
|
|
|
||
|
|
#if defined(__APPLE__)
|
||
|
|
extern HLibExport char* HGetHalconFrameworkRootPh(Hproc_handle ph);
|
||
|
|
#endif
|
||
|
|
|
||
|
|
extern HLibExport char* HGetHalconLibraryPath();
|
||
|
|
extern HLibExport char* HGetHalconLibraryPathPh(Hproc_handle ph);
|
||
|
|
|
||
|
|
extern HLibExport HBOOL HSetEnv(const char* name, const char* value);
|
||
|
|
extern HLibExport HBOOL HSetEnvPh(Hproc_handle ph, const char* name,
|
||
|
|
const char* value);
|
||
|
|
|
||
|
|
extern HLibExport char* HGetEnv(const char* name);
|
||
|
|
extern HLibExport char* HGetEnvPh(Hproc_handle ph, const char* name);
|
||
|
|
|
||
|
|
extern HLibExport void HGetEnvFree(char* mem);
|
||
|
|
extern HLibExport Herror HGetEnvFreePh(Hproc_handle ph, char* mem);
|
||
|
|
|
||
|
|
extern HLibExport char* HGetEnvRaw(Hproc_handle ph, const char* name);
|
||
|
|
|
||
|
|
extern HLibExport Herror HIncrRL(Hproc_handle proc_handle);
|
||
|
|
|
||
|
|
extern HLibExport Herror HIncrRLNum(Hproc_handle proc_handle, size_t num);
|
||
|
|
|
||
|
|
extern HLibExport Herror HCopyData(const void* source, void* destination,
|
||
|
|
size_t size);
|
||
|
|
|
||
|
|
extern HLibExport Herror HSetData(void* c, HINT val, size_t size);
|
||
|
|
|
||
|
|
#define HBackupDataLocal(PROC_HANDLE, SRC_PTR, NUM, DEST_PTR) \
|
||
|
|
HXBackupDataLocal(PROC_HANDLE, (const void*)SRC_PTR, \
|
||
|
|
sizeof(*SRC_PTR) * NUM, (void*)(DEST_PTR))
|
||
|
|
|
||
|
|
extern HLibExport Herror HXBackupDataLocal(Hproc_handle proc_id,
|
||
|
|
const void* source, size_t size,
|
||
|
|
void* destination);
|
||
|
|
#define HRestoreData(SRC_PTR, NUM, DEST_PTR) \
|
||
|
|
HCopyData((const void*)SRC_PTR, (void*)(DEST_PTR), sizeof(*SRC_PTR) * NUM)
|
||
|
|
|
||
|
|
extern HLibExport Herror HClearData(void* c, size_t size);
|
||
|
|
|
||
|
|
extern HLibExport Herror HCopyImage(const Himage* in, Himage* out);
|
||
|
|
|
||
|
|
extern HLibExport Herror HClearImage(Himage* image);
|
||
|
|
|
||
|
|
extern HLibExport Herror HSetImage(Himage* image, double grayval);
|
||
|
|
|
||
|
|
extern HLibExport Herror HAdaptImsize(Hproc_handle proc_handle, HIMGDIM width,
|
||
|
|
HIMGDIM height);
|
||
|
|
|
||
|
|
extern HLibExport Herror HFreeTmpImage(Hproc_handle proc_handle,
|
||
|
|
Himage* image);
|
||
|
|
|
||
|
|
extern HLibExport Herror HTmpImage(Hproc_handle proc_handle, Himage* image,
|
||
|
|
HINT kind, HIMGDIM width, HIMGDIM height,
|
||
|
|
HBOOL clear);
|
||
|
|
|
||
|
|
extern HLibExport Herror HFreeLocalImage(Hproc_handle proc_handle,
|
||
|
|
Himage* image);
|
||
|
|
|
||
|
|
extern HLibExport Herror HLocalImageToGlobal(Hproc_handle proc_handle,
|
||
|
|
Himage* image);
|
||
|
|
|
||
|
|
extern HLibExport Herror HLocalImage(Hproc_handle proc_handle, Himage* image,
|
||
|
|
HINT kind, HIMGDIM width, HIMGDIM height,
|
||
|
|
HBOOL clear);
|
||
|
|
|
||
|
|
extern HLibExport Herror HCrImage(Hproc_handle proc_handle, Hkey key_in,
|
||
|
|
HINT num, HINT type, HIMGDIM width,
|
||
|
|
HIMGDIM height, Hkey* key_out,
|
||
|
|
Himage* image);
|
||
|
|
|
||
|
|
extern HLibExport Herror HCrImageMatrix(Hproc_handle proc_id, Himage* image,
|
||
|
|
Hkey key);
|
||
|
|
|
||
|
|
extern HLibExport Herror HCrImageMKeyCkD(Hproc_handle proc_handle,
|
||
|
|
Hrlregion* domain[], Hkey key_in[],
|
||
|
|
HINT num_keys, HINT num, HINT type,
|
||
|
|
HIMGDIM width, HIMGDIM height,
|
||
|
|
Hkey* key_out, Himage* image);
|
||
|
|
|
||
|
|
extern HLibExport Herror HCrImageMKey(Hproc_handle proc_handle, Hkey key_in[],
|
||
|
|
HINT num_keys, HINT num, HINT type,
|
||
|
|
HIMGDIM width, HIMGDIM height,
|
||
|
|
Hkey* key_out, Himage* image);
|
||
|
|
|
||
|
|
extern HLibExport Herror HFreeImage(Hproc_handle proc_handle, Himage* image);
|
||
|
|
|
||
|
|
extern HLibExport Herror HNewImage(Hproc_handle proc_handle, Himage* image,
|
||
|
|
HINT kind, HIMGDIM width, HIMGDIM height);
|
||
|
|
|
||
|
|
extern HLibExport Herror HAllocImageMatrix(Hproc_handle proc_handle,
|
||
|
|
Himage* image, HINT kind,
|
||
|
|
HIMGDIM width, HIMGDIM height,
|
||
|
|
HBOOL clear);
|
||
|
|
|
||
|
|
extern HLibExport Herror HNewImagePtr(Hproc_handle proc_handle, Himage* image,
|
||
|
|
HINT kind, HIMGDIM width, HIMGDIM height,
|
||
|
|
void* data, HBOOL initImg);
|
||
|
|
|
||
|
|
Herror HSortDouble(Hproc_handle proc_handle, double* array, INT4_8 num,
|
||
|
|
HBOOL ascending);
|
||
|
|
|
||
|
|
Herror HSortINT4_8(Hproc_handle proc_handle, INT4_8* array, INT4_8 num,
|
||
|
|
HBOOL ascending);
|
||
|
|
|
||
|
|
Herror HSortString(Hproc_handle proc_handle, char** array, INT4_8 num,
|
||
|
|
HBOOL ascending);
|
||
|
|
|
||
|
|
Herror HSortHcpar(Hproc_handle proc_handle, Hcpar* array, INT4_8 num,
|
||
|
|
HBOOL ascending);
|
||
|
|
|
||
|
|
#if defined(__cplusplus)
|
||
|
|
}
|
||
|
|
#endif
|
||
|
|
|
||
|
|
|
||
|
|
#endif
|