123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- /*****************************************************************************
- * HConst.h
- *****************************************************************************
- *
- * Project: HALCON/libhalcon
- * Description: Definition of constants
- *
- * (c) 1996-2020 by MVTec Software GmbH
- * www.mvtec.com
- *
- *****************************************************************************/
- #ifndef HCONST_H
- #define HCONST_H
- /*****************************************************************************/
- /*****************************************************************************/
- /* General constants for the HALCON library */
- /*****************************************************************************/
- /*****************************************************************************/
- /* Data Base */
- #define H_UNDEFINED UNDEF_KEY /* Ctype.h, CORE*.c do not change */
- /*****************************************************************************/
- /* Max. values for the library */
- /*****************************************************************************/
- #if !defined(HC_LARGE_IMAGES)
- #define LD_MAX_FORMAT 15
- #else
- #define LD_MAX_FORMAT 30
- #endif
- #define MAX_FORMAT (1<<LD_MAX_FORMAT)
- #define RL_LENGTH 1 /* Only for typedef */
- #define DEF_RL_LENGTH 50000 /* initial value for CurrentRL */
- #define OBJ_PER_PROC 5000 /* Typical # of objects per param. */
- #define FILE_TRANS_SIZE 1024*16 /* max. # of byte per read call */
- #define MAX_FILES 20 /* max. # of open files */
- #define MAX_EDGE_LENGTH1 101 /* max. filter size */
- #define MAX_CLUSTER 1024 /* LearnNDim,ClassNDim */
- #define MAX_CONVOL 50000 /* IPConvol.c (> 10000!) */
- #define MAX_IMAGE_DIR (16*MAX_STRING) /* length of the image dir */
- #define MAX_GRAPHIC_COLOR 64/* max. number of graphics colors in LUT */
- #define MAX_COLOR_NAME_LENGTH 40 /* max. length of a color name */
- /*****************************************************************************/
- /* Environment variables of HALCON */
- /*****************************************************************************/
- #define HALCONROOT "HALCONROOT" /* Environment variable */
- #define HALCONIMAGES "HALCONIMAGES" /* Environment variable */
- #define HALCONHELP "HALCONHELP" /* Environment variable */
- #define HALCONSPY "HALCONSPY" /* Environment variable */
- #define HALCONEXTENSIONS "HALCONEXTENSIONS" /* Environment variable */
- #define HALCONEXAMPLES "HALCONEXAMPLES" /* Environment variable */
- /*****************************************************************************/
- /* Core Interface and operator implementation */
- /*****************************************************************************/
- #define MAX_INP_OBJ_PAR 9 /* max # input object parameters */
- #define MAX_OUTP_OBJ_PAR 9 /* max # output object parameters */
- #define MAX_INP_CTRL_PAR 20 /* max # inpput control parameters */
- #define MAX_OUTP_CTRL_PAR 20 /* max # output control parameters */
- #define MAX_CHAPTER 2 /* max # chapters / operator */
- #define MAX_CHAPTER_PROC 300 /* max # operators / chapter */
- #define MAX_KEY_NAME 5 /* old */
- #define KEY_NAME_LENGTH 20 /* old */
- #define MAX_BUFFER 10 /* old */
- /* Shortcut for object access */
- #define REGION 0 /* object component: region */
- #define CHORD 0 /* object component: region (old) */
- #define IMAGE1 1 /* object component: 1st image */
- #define IMAGE2 2 /* object component: 2nd image */
- #define IMAGE3 3 /* object component: 3rd image */
- #define IMAGE4 4 /* object component: 4th image */
- #define IMAGE5 5 /* object component: 5th image */
- #define IMAGE6 6 /* object component: 6th image */
- #define IMAGE7 7 /* object component: 7th image */
- #define IMAGE8 8 /* object component: 8th image */
- #define REGION_ID 1
- #define IMAGE_ID 2
- #define OBJECT_ID 3
- #define TUPLE_ID 4
- #define XLD_CONTOUR_ID 5
- #define XLD_POLYGON_ID 6
- #define XLD_PARALLEL_ID 7
- #define XLD_MOD_PARALLEL_ID 8
- #define XLD_EXT_PARALLEL_ID 9
- #define MIN_XLD_ID XLD_CONTOUR_ID
- #define MAX_XLD_ID XLD_EXT_PARALLEL_ID
- #define STD_FREE HFree
- /*****************************************************************************/
- /* File extensions */
- /*****************************************************************************/
- #define TRAINF_EXT "trf" /* OCR training file */
- #define OCR_EXT "fnt" /* OCR */
- #define OCR_BOX_EXT "obc" /* OCR box classifier */
- #define OCR_MLP_EXT "omc" /* OCR MLP classifier */
- #define OCR_SVM_EXT "osc" /* OCR SVM classifier */
- #define OCR_KNN_EXT "onc" /* OCR kNN classifier */
- #define OCR_KNN_EXT_LEGACY "okc" /* OCR kNN classifier (legacy) */
- #define OCR_CNN_EXT "occ" /* OCR CNN classifier */
- #define OCV_EXT "ocv" /* OCV */
- #define PS_EXTENSION "ps" /* Postscript */
- #define TIFF_EXTENSION "tiff" /* TIFF */
- #define EXP_EXTENSION "exp" /* Extension image description */
- #define IMAGE_EXTENSION "ima" /* Extension HALCON image */
- #define REGION_EXTENSION "reg" /* Extension region file */
- #define FILTER_EXTENSION "fil" /* Extension convol filters */
- #define LUT_EXTENSION "lut" /* Extension LUT */
- #define GREYSE_EXT "gse" /* Extension gray struct element */
- #define BMP_EXTENSION "bmp" /* Extension Windows-BMP */
- #define DEEP_LEARNING_EXTENSION "hdl" /* Extension deep networks */
- #define DEEP_OCR_EXT "hdo" /* Extension ocr deep networks */
- /*****************************************************************************/
- /* Mathematical constants */
- /*****************************************************************************/
- #ifndef PI
- #ifdef M_PI
- #define PI M_PI
- #else
- #define PI 3.14159265358979323846
- #endif
- #endif
- #ifndef PI_2
- #define PI_2 (PI / 2.0)
- #endif
- #ifndef PI_4
- #define PI_4 (PI / 4.0)
- #endif
- /*****************************************************************************/
- /* Thread handling */
- /*****************************************************************************/
- #define GLOBAL_ID NULL /* 'global' operator handle */
- #define DEFAULT_AGENTS_NR 4 /* default # for agents */
- /* controlling the access to global/local context variables (see HInstance.c)*/
- #define GV_WRITE_INFO 0 /* Flag: write global context var.*/
- #define GV_READ_INFO 1 /* Flag: read global context var. */
- #define GV_INIT_INFO 2 /* Flag: init. global context var.*/
- #define GV_GET_ADRESS 3 /* Flag: get address of var. */
- #define GV_REALLOC_A 4 /* Flag: realloc an array */
- #define GV_LOCK 5 /* Flag: lock a mutex variable */
- #define GV_UNLOCK 6 /* Flag: unlock a mutex variable */
- #define GV_BOR_INFO 7 /* Flag: bitwise OR with variable */
- #define GV_BAND_INFO 8 /* Flag: bitwise AND with variable*/
- #define GV_WRITE_REF 9 /* Flag: write in reference var.; */
- /* (forces changes in reference version) */
- #define GV_READ_REF 10 /* Flag: read from reference var. */
- /*****************************************************************************/
- /* H_SYS_INFO_READ_ONLY */
- /*****************************************************************************/
- #define CLOCK_MODE_PROCESSOR_TIME 0 /* clock mode */
- #define CLOCK_MODE_ELAPSED_TIME 1
- #define CLOCK_MODE_PERFORMANCE_COUNTER 2
- #define CLOCK_MODE_MULTIMEDIA_TIMER 3
- #define CLOCK_MODE_PROCESS_TIME 4
- #define OCR_TRAINFILE_VERSION1_0 1 /* file version when writing OCR */
- #define OCR_TRAINFILE_VERSION2_0 2 /* trainf */
- #define OCR_TRAINFILE_VERSION3_0 3 /* trainf + UINT2 images */
- #define H_ENCODING_NATIVE 1 /* local8bit character encoding */
- #define H_ENCODING_UTF8 2 /* UTF-8 character encoding */
- #define H_ENCODING_HLIB 3 /* encoding that is used by hlib */
- #define H_ENCODING_ASCII 4 /* promise that a passed string is
- * pure ASCII */
- #define H_ENCODING_SYSTEM 5 /* promise that a passed string is
- * in system encoding: which is the
- * locale under Linux, utf8 on Mac,
- * and for Windows not needed */
- #define H_ENCODING_AUTO 6 /* generic mode for detecting the
- * encoding automatically */
- #define H_ENCODING_LATIN1 7 /* promise that a passed string is
- pure latin-1 */
- #define TIMER_MODE_ELAPSED_TIME 0
- #define TIMER_MODE_MULTIMEDIA_TIMER 1
- #define TIMER_MODE_PERFORMANCE_COUNTER 2
- #endif
|