8830 lines
465 KiB
C
8830 lines
465 KiB
C
![]() |
/*============================================================================*/
|
||
|
/* IMAQ Vision */
|
||
|
/*----------------------------------------------------------------------------*/
|
||
|
/* Copyright (c) National Instruments 2001. All Rights Reserved. */
|
||
|
/*----------------------------------------------------------------------------*/
|
||
|
/* */
|
||
|
/* Title: NIVision.h */
|
||
|
/* */
|
||
|
/*============================================================================*/
|
||
|
#if !defined(NiVision_h)
|
||
|
#define NiVision_h
|
||
|
|
||
|
//============================================================================
|
||
|
// Includes
|
||
|
//============================================================================
|
||
|
#include <stddef.h>
|
||
|
|
||
|
//============================================================================
|
||
|
// Control Defines
|
||
|
//============================================================================
|
||
|
#if !defined(IMAQ_IMPORT)
|
||
|
#ifndef __GNUC__
|
||
|
#define IMAQ_IMPORT __declspec(dllimport)
|
||
|
#else
|
||
|
#define IMAQ_IMPORT
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#if !defined(IMAQ_FUNC)
|
||
|
#if !defined(__cplusplus)
|
||
|
#define IMAQ_FUNC IMAQ_IMPORT
|
||
|
#else
|
||
|
#define IMAQ_FUNC extern "C" IMAQ_IMPORT
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#if !defined(IMAQ_STDCALL)
|
||
|
#ifndef __GNUC__
|
||
|
#define IMAQ_STDCALL __stdcall
|
||
|
#else
|
||
|
#define IMAQ_STDCALL
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#ifdef _CVI_
|
||
|
#pragma EnableLibraryRuntimeChecking
|
||
|
#include <ansi_c.h>
|
||
|
#endif
|
||
|
|
||
|
#define IMAQ_CALLBACK __cdecl
|
||
|
|
||
|
//============================================================================
|
||
|
// Manifest Constants
|
||
|
//============================================================================
|
||
|
#ifndef NULL
|
||
|
#ifdef __cplusplus
|
||
|
#define NULL ((void*)0)
|
||
|
#else
|
||
|
#define NULL 0
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#ifndef FALSE
|
||
|
#define FALSE 0
|
||
|
#endif
|
||
|
|
||
|
#ifndef TRUE
|
||
|
#define TRUE 1
|
||
|
#endif
|
||
|
|
||
|
#define IMAQ_DEFAULT_SHOW_COORDINATES TRUE
|
||
|
#define IMAQ_DEFAULT_MAX_ICONS_PER_LINE 4
|
||
|
#define IMAQ_DEFAULT_LEARNING_MODE IMAQ_LEARN_SHIFT_INFORMATION
|
||
|
#define IMAQ_DEFAULT_BMP_COMPRESS FALSE
|
||
|
#define IMAQ_DEFAULT_PNG_QUALITY 750
|
||
|
#define IMAQ_DEFAULT_JPEG_QUALITY 750
|
||
|
#define IMAQ_ALL_CONTOURS -1
|
||
|
#define IMAQ_ALL_WINDOWS -1
|
||
|
#define IMAQ_SHIFT 1
|
||
|
#define IMAQ_ALT 2
|
||
|
#define IMAQ_CTRL 4
|
||
|
#define IMAQ_CAPS_LOCK 8
|
||
|
#define IMAQ_MODAL_DIALOG -1
|
||
|
#define IMAQ_INIT_RGB_TRANSPARENT \
|
||
|
{ 0, 0, 0, 1 }
|
||
|
#define IMAQ_INIT_RGB_RED \
|
||
|
{ 0, 0, 255, 0 }
|
||
|
#define IMAQ_INIT_RGB_BLUE \
|
||
|
{ 255, 0, 0, 0 }
|
||
|
#define IMAQ_INIT_RGB_GREEN \
|
||
|
{ 0, 255, 0, 0 }
|
||
|
#define IMAQ_INIT_RGB_YELLOW \
|
||
|
{ 0, 255, 255, 0 }
|
||
|
#define IMAQ_INIT_RGB_WHITE \
|
||
|
{ 255, 255, 255, 0 }
|
||
|
#define IMAQ_INIT_RGB_BLACK \
|
||
|
{ 0, 0, 0, 0 }
|
||
|
#define IMAQ_USE_DEFAULT_QUALITY -1
|
||
|
#define IMAQ_ALL_SAMPLES -1
|
||
|
#define IMAQ_ALL_OBJECTS -1
|
||
|
#define IMAQ_ALL_CHARACTERS -1
|
||
|
|
||
|
//============================================================================
|
||
|
// Predefined Valid Characters
|
||
|
//============================================================================
|
||
|
#define IMAQ_ANY_CHARACTER "" // Any Character
|
||
|
#define IMAQ_ALPHABETIC \
|
||
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" // Alphabetic
|
||
|
#define IMAQ_ALPHANUMERIC \
|
||
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" // Alphanumeric
|
||
|
#define IMAQ_UPPERCASE_LETTERS "ABCDEFGHIJKLMNOPQRSTUVWXYZ" // Uppercase
|
||
|
// Letters
|
||
|
#define IMAQ_LOWERCASE_LETTERS "abcdefghijklmnopqrstuvwxyz" // Lowercase
|
||
|
// Letters
|
||
|
#define IMAQ_DECIMAL_DIGITS "0123456789" // Decimal Digits
|
||
|
#define IMAQ_HEXADECIMAL_DIGITS "0123456789ABCDEFabcdef" // Hexadecimal Digits
|
||
|
#define IMAQ_PATTERN \
|
||
|
"\xFF" // Pattern (A single character string with the character value set to
|
||
|
// 255)
|
||
|
#define IMAQ_FORCE_SPACE " " // Force Space
|
||
|
|
||
|
//============================================================================
|
||
|
// Macros
|
||
|
//============================================================================
|
||
|
#define IMAQ_NO_RECT imaqMakeRect(0, 0, 0x7FFFFFFF, 0x7FFFFFFF)
|
||
|
#define IMAQ_NO_ROTATED_RECT \
|
||
|
imaqMakeRotatedRect(0, 0, 0x7FFFFFFF, 0x7FFFFFFF, 0)
|
||
|
#define IMAQ_NO_POINT imaqMakePoint(-1, -1)
|
||
|
#define IMAQ_NO_POINT_FLOAT imaqMakePointFloat(-1.0, -1.0)
|
||
|
#define IMAQ_NO_OFFSET imaqMakePointFloat(0.0, 0.0)
|
||
|
|
||
|
//============================================================================
|
||
|
// When in Borland, some functions must be mapped to different names.
|
||
|
// This accomplishes said task.
|
||
|
//============================================================================
|
||
|
#if defined(__BORLANDC__) || (defined(_CVI_) && defined(_NI_BC_))
|
||
|
#define imaqMakePoint imaqMakePoint_BC
|
||
|
#define imaqMakePointFloat imaqMakePointFloat_BC
|
||
|
#endif
|
||
|
|
||
|
//============================================================================
|
||
|
// When in Watcom, some functions must be mapped to different names.
|
||
|
// This accomplishes said task.
|
||
|
//============================================================================
|
||
|
#if defined(__WATCOMC__) || (defined(_CVI_) && defined(_NI_WC_))
|
||
|
#define imaqMakePoint imaqMakePoint_BC
|
||
|
#define imaqMakePointFloat imaqMakePointFloat_BC
|
||
|
#endif
|
||
|
|
||
|
//============================================================================
|
||
|
// If using Visual C++, force startup & shutdown code to run.
|
||
|
//============================================================================
|
||
|
#if defined(_MSC_VER) && !defined(_CVI_) && !defined(__BORLANDC__)
|
||
|
#pragma comment(linker, "/INCLUDE:_nivision_startup_shutdown")
|
||
|
#pragma comment(linker, "/DEFAULTLIB:nivision.lib")
|
||
|
#endif
|
||
|
|
||
|
//============================================================================
|
||
|
// Error Codes
|
||
|
//============================================================================
|
||
|
#define ERR_SUCCESS 0 // No error.
|
||
|
#define ERR_SYSTEM_ERROR -1074396160 // System error.
|
||
|
#define ERR_OUT_OF_MEMORY \
|
||
|
-1074396159 // Not enough memory for requested operation.
|
||
|
#define ERR_MEMORY_ERROR -1074396158 // Memory error.
|
||
|
#define ERR_UNREGISTERED -1074396157 // Unlicensed copy of NI Vision.
|
||
|
#define ERR_NEED_FULL_VERSION \
|
||
|
-1074396156 // The function requires an NI Vision 5.0 Advanced license.
|
||
|
#define ERR_UNINIT -1074396155 // NI Vision did not initialize properly.
|
||
|
#define ERR_IMAGE_TOO_SMALL \
|
||
|
-1074396154 // The image is not large enough for the operation.
|
||
|
#define ERR_BARCODE_CODABAR \
|
||
|
-1074396153 // The barcode is not a valid Codabar barcode.
|
||
|
#define ERR_BARCODE_CODE39 \
|
||
|
-1074396152 // The barcode is not a valid Code 3 of 9 barcode.
|
||
|
#define ERR_BARCODE_CODE93 \
|
||
|
-1074396151 // The barcode is not a valid Code93 barcode.
|
||
|
#define ERR_BARCODE_CODE128 \
|
||
|
-1074396150 // The barcode is not a valid Code128 barcode.
|
||
|
#define ERR_BARCODE_EAN8 \
|
||
|
-1074396149 // The barcode is not a valid EAN8 barcode.
|
||
|
#define ERR_BARCODE_EAN13 \
|
||
|
-1074396148 // The barcode is not a valid EAN13 barcode.
|
||
|
#define ERR_BARCODE_I25 \
|
||
|
-1074396147 // The barcode is not a valid Interleaved 2 of 5 barcode.
|
||
|
#define ERR_BARCODE_MSI -1074396146 // The barcode is not a valid MSI barcode.
|
||
|
#define ERR_BARCODE_UPCA \
|
||
|
-1074396145 // The barcode is not a valid UPCA barcode.
|
||
|
#define ERR_BARCODE_CODE93_SHIFT \
|
||
|
-1074396144 // The Code93 barcode contains invalid shift encoding.
|
||
|
#define ERR_BARCODE_TYPE -1074396143 // The barcode type is invalid.
|
||
|
#define ERR_BARCODE_INVALID \
|
||
|
-1074396142 // The image does not represent a valid linear barcode.
|
||
|
#define ERR_BARCODE_CODE128_FNC \
|
||
|
-1074396141 // The FNC value in the Code128 barcode is not located before the
|
||
|
// first data value.
|
||
|
#define ERR_BARCODE_CODE128_SET \
|
||
|
-1074396140 // The starting code set in the Code128 barcode is not valid.
|
||
|
#define ERR_ROLLBACK_RESOURCE_OUT_OF_MEMORY \
|
||
|
-1074396139 // Not enough reserved memory in the timed environment for the
|
||
|
// requested operation.
|
||
|
#define ERR_ROLLBACK_NOT_SUPPORTED \
|
||
|
-1074396138 // The function is not supported when a time limit is active.
|
||
|
#define ERR_DIRECTX_DLL_NOT_FOUND \
|
||
|
-1074396137 // Quartz.dll not found. Install DirectX 8.1 or later.
|
||
|
#define ERR_DIRECTX_INVALID_FILTER_QUALITY \
|
||
|
-1074396136 // The filter quality you provided is invalid. Valid quality
|
||
|
// values range from -1 to 1000.
|
||
|
#define ERR_INVALID_BUTTON_LABEL -1074396135 // Invalid button label.
|
||
|
#define ERR_THREAD_INITIALIZING \
|
||
|
-1074396134 // Could not execute the function in the separate thread because
|
||
|
// the thread has not completed initialization.
|
||
|
#define ERR_THREAD_COULD_NOT_INITIALIZE \
|
||
|
-1074396133 // Could not execute the function in the separate thread because
|
||
|
// the thread could not initialize.
|
||
|
#define ERR_MASK_NOT_TEMPLATE_SIZE \
|
||
|
-1074396132 // The mask must be the same size as the template.
|
||
|
#define ERR_NOT_RECT_OR_ROTATED_RECT \
|
||
|
-1074396130 // The ROI must only have either a single Rectangle contour or a
|
||
|
// single Rotated Rectangle contour.
|
||
|
#define ERR_ROLLBACK_UNBOUNDED_INTERFACE \
|
||
|
-1074396129 // During timed execution, you must use the preallocated version
|
||
|
// of this operation.
|
||
|
#define ERR_ROLLBACK_RESOURCE_CONFLICT_3 \
|
||
|
-1074396128 // An image being modified by one process cannot be requested by
|
||
|
// another process while a time limit is active.
|
||
|
#define ERR_ROLLBACK_RESOURCE_CONFLICT_2 \
|
||
|
-1074396127 // An image with pattern matching, calibration, or overlay
|
||
|
// information cannot be manipulated while a time limit is
|
||
|
// active.
|
||
|
#define ERR_ROLLBACK_RESOURCE_CONFLICT_1 \
|
||
|
-1074396126 // An image created before a time limit is started cannot be
|
||
|
// resized while a time limit is active.
|
||
|
#define ERR_INVALID_CONTRAST_THRESHOLD \
|
||
|
-1074396125 // Invalid contrast threshold. The threshold value must be
|
||
|
// greater than 0.
|
||
|
#define ERR_INVALID_CALIBRATION_ROI_MODE \
|
||
|
-1074396124 // NI Vision does not support the calibration ROI mode you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_CALIBRATION_MODE \
|
||
|
-1074396123 // NI Vision does not support the calibration mode you supplied.
|
||
|
#define ERR_DRAWTEXT_COLOR_MUST_BE_GRAYSCALE \
|
||
|
-1074396122 // Set the foreground and background text colors to grayscale to
|
||
|
// draw on a U8 image.
|
||
|
#define ERR_SATURATION_THRESHOLD_OUT_OF_RANGE \
|
||
|
-1074396121 // The value of the saturation threshold must be from 0 to 255.
|
||
|
#define ERR_NOT_IMAGE -1074396120 // Not an image.
|
||
|
#define ERR_CUSTOMDATA_INVALID_KEY \
|
||
|
-1074396119 // They custom data key you supplied is invalid. The only valid
|
||
|
// character values are decimal 32-126 and 161-255. There must
|
||
|
// also be no repeated, leading, or trailing spaces.
|
||
|
#define ERR_INVALID_STEP_SIZE \
|
||
|
-1074396118 // Step size must be greater than zero and less than Image size
|
||
|
#define ERR_MATRIX_SIZE \
|
||
|
-1074396117 // Invalid matrix size in the structuring element.
|
||
|
#define ERR_CALIBRATION_INSF_POINTS \
|
||
|
-1074396116 // Insufficient number of calibration feature points.
|
||
|
#define ERR_CALIBRATION_IMAGE_CORRECTED \
|
||
|
-1074396115 // The operation is invalid in a corrected image.
|
||
|
#define ERR_CALIBRATION_INVALID_ROI \
|
||
|
-1074396114 // The ROI contains an invalid contour type or is not contained
|
||
|
// in the ROI learned for calibration.
|
||
|
#define ERR_CALIBRATION_IMAGE_UNCALIBRATED \
|
||
|
-1074396113 // The source/input image has not been calibrated.
|
||
|
#define ERR_INCOMP_MATRIX_SIZE \
|
||
|
-1074396112 // The number of pixel and real-world coordinates must be equal.
|
||
|
#define ERR_CALIBRATION_FAILED_TO_FIND_GRID \
|
||
|
-1074396111 // Unable to automatically detect grid because the image is too
|
||
|
// distorted.
|
||
|
#define ERR_CALIBRATION_INFO_VERSION \
|
||
|
-1074396110 // Invalid calibration information version.
|
||
|
#define ERR_CALIBRATION_INVALID_SCALING_FACTOR \
|
||
|
-1074396109 // Invalid calibration scaling factor.
|
||
|
#define ERR_CALIBRATION_ERRORMAP \
|
||
|
-1074396108 // The calibration error map cannot be computed.
|
||
|
#define ERR_CALIBRATION_INFO_1 \
|
||
|
-1074396107 // Invalid calibration template image.
|
||
|
#define ERR_CALIBRATION_INFO_2 \
|
||
|
-1074396106 // Invalid calibration template image.
|
||
|
#define ERR_CALIBRATION_INFO_3 \
|
||
|
-1074396105 // Invalid calibration template image.
|
||
|
#define ERR_CALIBRATION_INFO_4 \
|
||
|
-1074396104 // Invalid calibration template image.
|
||
|
#define ERR_CALIBRATION_INFO_5 \
|
||
|
-1074396103 // Invalid calibration template image.
|
||
|
#define ERR_CALIBRATION_INFO_6 \
|
||
|
-1074396102 // Invalid calibration template image.
|
||
|
#define ERR_CALIBRATION_INFO_MICRO_PLANE \
|
||
|
-1074396101 // Invalid calibration template image.
|
||
|
#define ERR_CALIBRATION_INFO_PERSPECTIVE_PROJECTION \
|
||
|
-1074396100 // Invalid calibration template image.
|
||
|
#define ERR_CALIBRATION_INFO_SIMPLE_TRANSFORM \
|
||
|
-1074396099 // Invalid calibration template image.
|
||
|
#define ERR_RESERVED_MUST_BE_NULL \
|
||
|
-1074396098 // You must pass NULL for the reserved parameter.
|
||
|
#define ERR_INVALID_PARTICLE_PARAMETER_VALUE \
|
||
|
-1074396097 // You entered an invalid selection in the particle parameter.
|
||
|
#define ERR_NOT_AN_OBJECT -1074396096 // Not an object.
|
||
|
#define ERR_CALIBRATION_DUPLICATE_REFERENCE_POINT \
|
||
|
-1074396095 // The reference points passed are inconsistent. At least two
|
||
|
// similar pixel coordinates correspond to different real-world
|
||
|
// coordinates.
|
||
|
#define ERR_ROLLBACK_RESOURCE_CANNOT_UNLOCK \
|
||
|
-1074396094 // A resource conflict occurred in the timed environment. Two
|
||
|
// processes cannot manage the same resource and be time bounded.
|
||
|
#define ERR_ROLLBACK_RESOURCE_LOCKED \
|
||
|
-1074396093 // A resource conflict occurred in the timed environment. Two
|
||
|
// processes cannot access the same resource and be time bounded.
|
||
|
#define ERR_ROLLBACK_RESOURCE_NON_EMPTY_INITIALIZE \
|
||
|
-1074396092 // Multiple timed environments are not supported.
|
||
|
#define ERR_ROLLBACK_RESOURCE_UNINITIALIZED_ENABLE \
|
||
|
-1074396091 // A time limit cannot be started until the timed environment is
|
||
|
// initialized.
|
||
|
#define ERR_ROLLBACK_RESOURCE_ENABLED \
|
||
|
-1074396090 // Multiple timed environments are not supported.
|
||
|
#define ERR_ROLLBACK_RESOURCE_REINITIALIZE \
|
||
|
-1074396089 // The timed environment is already initialized.
|
||
|
#define ERR_ROLLBACK_RESIZE \
|
||
|
-1074396088 // The results of the operation exceeded the size limits on the
|
||
|
// output data arrays.
|
||
|
#define ERR_ROLLBACK_STOP_TIMER \
|
||
|
-1074396087 // No time limit is available to stop.
|
||
|
#define ERR_ROLLBACK_START_TIMER -1074396086 // A time limit could not be set.
|
||
|
#define ERR_ROLLBACK_INIT_TIMER \
|
||
|
-1074396085 // The timed environment could not be initialized.
|
||
|
#define ERR_ROLLBACK_DELETE_TIMER \
|
||
|
-1074396084 // No initialized timed environment is available to close.
|
||
|
#define ERR_ROLLBACK_TIMEOUT -1074396083 // The time limit has expired.
|
||
|
#define ERR_PALETTE_NOT_SUPPORTED \
|
||
|
-1074396082 // Only 8-bit images support the use of palettes. Either do not
|
||
|
// use a palette, or convert your image to an 8-bit image before
|
||
|
// using a palette.
|
||
|
#define ERR_BAD_PASSWORD -1074396081 // Incorrect password.
|
||
|
#define ERR_INVALID_IMAGE_TYPE -1074396080 // Invalid image type.
|
||
|
#define ERR_INVALID_METAFILE_HANDLE -1074396079 // Invalid metafile handle.
|
||
|
#define ERR_INCOMP_TYPE -1074396077 // Incompatible image type.
|
||
|
#define ERR_COORD_SYS_FIRST_AXIS \
|
||
|
-1074396076 // Unable to fit a line for the primary axis.
|
||
|
#define ERR_COORD_SYS_SECOND_AXIS \
|
||
|
-1074396075 // Unable to fit a line for the secondary axis.
|
||
|
#define ERR_INCOMP_SIZE -1074396074 // Incompatible image size.
|
||
|
#define ERR_MASK_OUTSIDE_IMAGE \
|
||
|
-1074396073 // When the mask's offset was applied, the mask was entirely
|
||
|
// outside of the image.
|
||
|
#define ERR_INVALID_BORDER -1074396072 // Invalid image border.
|
||
|
#define ERR_INVALID_SCAN_DIRECTION -1074396071 // Invalid scan direction.
|
||
|
#define ERR_INVALID_FUNCTION -1074396070 // Unsupported function.
|
||
|
#define ERR_INVALID_COLOR_MODE \
|
||
|
-1074396069 // NI Vision does not support the color mode you specified.
|
||
|
#define ERR_INVALID_ACTION \
|
||
|
-1074396068 // The function does not support the requested action.
|
||
|
#define ERR_IMAGES_NOT_DIFF \
|
||
|
-1074396067 // The source image and destination image must be different.
|
||
|
#define ERR_INVALID_POINTSYMBOL -1074396066 // Invalid point symbol.
|
||
|
#define ERR_CANT_RESIZE_EXTERNAL \
|
||
|
-1074396065 // Cannot resize an image in an acquisition buffer.
|
||
|
#define ERR_EXTERNAL_NOT_SUPPORTED \
|
||
|
-1074396064 // This operation is not supported for images in an acquisition
|
||
|
// buffer.
|
||
|
#define ERR_EXTERNAL_ALIGNMENT \
|
||
|
-1074396063 // The external buffer must be aligned on a 4-byte boundary. The
|
||
|
// line width and border pixels must be 4-byte aligned, as well.
|
||
|
#define ERR_INVALID_TOLERANCE \
|
||
|
-1074396062 // The tolerance parameter must be greater than or equal to 0.
|
||
|
#define ERR_INVALID_WINDOW_SIZE \
|
||
|
-1074396061 // The size of each dimension of the window must be greater than
|
||
|
// 2 and less than or equal to the size of the image in the
|
||
|
// corresponding dimension.
|
||
|
#define ERR_JPEG2000_LOSSLESS_WITH_FLOATING_POINT \
|
||
|
-1074396060 // Lossless compression cannot be used with the floating point
|
||
|
// wavelet transform mode. Either set the wavelet transform mode
|
||
|
// to integer, or use lossy compression.
|
||
|
#define ERR_INVALID_MAX_ITERATIONS \
|
||
|
-1074396059 // Invalid maximum number of iterations. Maximum number of
|
||
|
// iterations must be greater than zero.
|
||
|
#define ERR_INVALID_ROTATION_MODE -1074396058 // Invalid rotation mode.
|
||
|
#define ERR_INVALID_SEARCH_VECTOR_WIDTH \
|
||
|
-1074396057 // Invalid search vector width. The width must be an odd number
|
||
|
// greater than zero.
|
||
|
#define ERR_INVALID_MATRIX_MIRROR_MODE \
|
||
|
-1074396056 // Invalid matrix mirror mode.
|
||
|
#define ERR_INVALID_ASPECT_RATIO \
|
||
|
-1074396055 // Invalid aspect ratio. Valid aspect ratios must be greater than
|
||
|
// or equal to zero.
|
||
|
#define ERR_INVALID_CELL_FILL_TYPE -1074396054 // Invalid cell fill type.
|
||
|
#define ERR_INVALID_BORDER_INTEGRITY \
|
||
|
-1074396053 // Invalid border integrity. Valid values range from 0 to 100.
|
||
|
#define ERR_INVALID_DEMODULATION_MODE -1074396052 // Invalid demodulation mode.
|
||
|
#define ERR_INVALID_CELL_FILTER_MODE -1074396051 // Invalid cell filter mode.
|
||
|
#define ERR_INVALID_ECC_TYPE -1074396050 // Invalid ECC type.
|
||
|
#define ERR_INVALID_MATRIX_POLARITY -1074396049 // Invalid matrix polarity.
|
||
|
#define ERR_INVALID_CELL_SAMPLE_SIZE -1074396048 // Invalid cell sample size.
|
||
|
#define ERR_INVALID_LINEAR_AVERAGE_MODE \
|
||
|
-1074396047 // Invalid linear average mode.
|
||
|
#define ERR_INVALID_2D_BARCODE_CONTRAST_FOR_ROI \
|
||
|
-1074396046 // When using a region of interest that is not a rectangle, you
|
||
|
// must specify the contrast mode of the barcode as either black
|
||
|
// on white or white on black.
|
||
|
#define ERR_INVALID_2D_BARCODE_SUBTYPE \
|
||
|
-1074396045 // Invalid 2-D barcode Data Matrix subtype.
|
||
|
#define ERR_INVALID_2D_BARCODE_SHAPE -1074396044 // Invalid 2-D barcode shape.
|
||
|
#define ERR_INVALID_2D_BARCODE_CELL_SHAPE \
|
||
|
-1074396043 // Invalid 2-D barcode cell shape.
|
||
|
#define ERR_INVALID_2D_BARCODE_CONTRAST \
|
||
|
-1074396042 // Invalid 2-D barcode contrast.
|
||
|
#define ERR_INVALID_2D_BARCODE_TYPE -1074396041 // Invalid 2-D barcode type.
|
||
|
#define ERR_DRIVER -1074396040 // Cannot access NI-IMAQ driver.
|
||
|
#define ERR_IO_ERROR -1074396039 // I/O error.
|
||
|
#define ERR_FIND_COORDSYS_MORE_THAN_ONE_EDGE \
|
||
|
-1074396038 // When searching for a coordinate system, the number of lines to
|
||
|
// fit must be 1.
|
||
|
#define ERR_TIMEOUT -1074396037 // Trigger timeout.
|
||
|
#define ERR_INVALID_SKELETONMODE \
|
||
|
-1074396036 // The Skeleton mode you specified is invalid.
|
||
|
#define ERR_TEMPLATEIMAGE_NOCIRCLE \
|
||
|
-1074396035 // The template image does not contain enough information for
|
||
|
// learning the aggressive search strategy.
|
||
|
#define ERR_TEMPLATEIMAGE_EDGEINFO \
|
||
|
-1074396034 // The template image does not contain enough edge information
|
||
|
// for the sample size(s) requested.
|
||
|
#define ERR_TEMPLATEDESCRIPTOR_LEARNSETUPDATA \
|
||
|
-1074396033 // Invalid template descriptor.
|
||
|
#define ERR_TEMPLATEDESCRIPTOR_ROTATION_SEARCHSTRATEGY \
|
||
|
-1074396032 // The template descriptor does not contain data required for the
|
||
|
// requested search strategy in rotation-invariant matching.
|
||
|
#define ERR_INVALID_TETRAGON \
|
||
|
-1074396031 // The input tetragon must have four points. The points are
|
||
|
// specified clockwise starting with the top left point.
|
||
|
#define ERR_TOO_MANY_CLASSIFICATION_SESSIONS \
|
||
|
-1074396030 // There are too many classification sessions open. You must
|
||
|
// close a session before you can open another one.
|
||
|
#define ERR_TIME_BOUNDED_EXECUTION_NOT_SUPPORTED \
|
||
|
-1074396028 // NI Vision no longer supports time-bounded execution.
|
||
|
#define ERR_INVALID_COLOR_RESOLUTION \
|
||
|
-1074396027 // Invalid Color Resolution for the Color Classifier
|
||
|
#define ERR_INVALID_PROCESS_TYPE_FOR_EDGE_DETECTION \
|
||
|
-1074396026 // Invalid process type for edge detection.
|
||
|
#define ERR_INVALID_ANGLE_RANGE_FOR_STRAIGHT_EDGE \
|
||
|
-1074396025 // Angle range value should be equal to or greater than zero.
|
||
|
#define ERR_INVALID_MIN_COVERAGE_FOR_STRAIGHT_EDGE \
|
||
|
-1074396024 // Minimum coverage value should be greater than zero.
|
||
|
#define ERR_INVALID_ANGLE_TOL_FOR_STRAIGHT_EDGE \
|
||
|
-1074396023 // The angle tolerance should be equal to or greater than 0.001.
|
||
|
#define ERR_INVALID_SEARCH_MODE_FOR_STRAIGHT_EDGE \
|
||
|
-1074396022 // Invalid search mode for detecting straight edges
|
||
|
#define ERR_INVALID_KERNEL_SIZE_FOR_EDGE_DETECTION \
|
||
|
-1074396021 // Invalid kernel size for edge detection. The minimum kernel
|
||
|
// size is 3, the maximum kernel size is 1073741823 and the
|
||
|
// kernel size must be odd.
|
||
|
#define ERR_INVALID_GRADING_MODE -1074396020 // Invalid grading mode.
|
||
|
#define ERR_INVALID_THRESHOLD_PERCENTAGE \
|
||
|
-1074396019 // Invalid threshold percentage. Valid values range from 0 to
|
||
|
// 100.
|
||
|
#define ERR_INVALID_EDGE_POLARITY_SEARCH_MODE \
|
||
|
-1074396018 // Invalid edge polarity search mode.
|
||
|
#define ERR_OPENING_NEWER_AIM_GRADING_DATA \
|
||
|
-1074396017 // The AIM grading data attached to the image you tried to open
|
||
|
// was created with a newer version of NI Vision. Upgrade to the
|
||
|
// latest version of NI Vision to read this file.
|
||
|
#define ERR_NO_VIDEO_DRIVER -1074396016 // No video driver is installed.
|
||
|
#define ERR_RPC_EXECUTE_IVB \
|
||
|
-1074396015 // Unable to establish network connection with remote system.
|
||
|
#define ERR_INVALID_VIDEO_BLIT \
|
||
|
-1074396014 // RT Video Out does not support displaying the supplied image
|
||
|
// type at the selected color depth.
|
||
|
#define ERR_INVALID_VIDEO_MODE -1074396013 // Invalid video mode.
|
||
|
#define ERR_RPC_EXECUTE \
|
||
|
-1074396012 // Unable to display remote image on network connection.
|
||
|
#define ERR_RPC_BIND -1074396011 // Unable to establish network connection.
|
||
|
#define ERR_INVALID_FRAME_NUMBER -1074396010 // Invalid frame number.
|
||
|
#define ERR_DIRECTX \
|
||
|
-1074396009 // An internal DirectX error has occurred. Try upgrading to the
|
||
|
// latest version of DirectX.
|
||
|
#define ERR_DIRECTX_NO_FILTER \
|
||
|
-1074396008 // An appropriate DirectX filter to process this file could not
|
||
|
// be found. Install the filter that was used to create this
|
||
|
// AVI. Upgrading to the latest version of DirectX may correct
|
||
|
// this error. NI Vision requires DirectX 8.1 or higher.
|
||
|
#define ERR_DIRECTX_INCOMPATIBLE_COMPRESSION_FILTER \
|
||
|
-1074396007 // Incompatible compression filter.
|
||
|
#define ERR_DIRECTX_UNKNOWN_COMPRESSION_FILTER \
|
||
|
-1074396006 // Unknown compression filter.
|
||
|
#define ERR_INVALID_AVI_SESSION -1074396005 // Invalid AVI session.
|
||
|
#define ERR_DIRECTX_CERTIFICATION_FAILURE \
|
||
|
-1074396004 // A software key is restricting the use of this compression
|
||
|
// filter.
|
||
|
#define ERR_AVI_DATA_EXCEEDS_BUFFER_SIZE \
|
||
|
-1074396003 // The data for this frame exceeds the data buffer size specified
|
||
|
// when creating the AVI file.
|
||
|
#define ERR_INVALID_LINEGAUGEMETHOD -1074396002 // Invalid line gauge method.
|
||
|
#define ERR_TOO_MANY_AVI_SESSIONS \
|
||
|
-1074396001 // There are too many AVI sessions open. You must close a
|
||
|
// session before you can open another one.
|
||
|
#define ERR_FILE_FILE_HEADER -1074396000 // Invalid file header.
|
||
|
#define ERR_FILE_FILE_TYPE -1074395999 // Invalid file type.
|
||
|
#define ERR_FILE_COLOR_TABLE -1074395998 // Invalid color table.
|
||
|
#define ERR_FILE_ARGERR -1074395997 // Invalid parameter.
|
||
|
#define ERR_FILE_OPEN -1074395996 // File is already open for writing.
|
||
|
#define ERR_FILE_NOT_FOUND -1074395995 // File not found.
|
||
|
#define ERR_FILE_TOO_MANY_OPEN -1074395994 // Too many files open.
|
||
|
#define ERR_FILE_IO_ERR -1074395993 // File I/O error.
|
||
|
#define ERR_FILE_PERMISSION -1074395992 // File access denied.
|
||
|
#define ERR_FILE_INVALID_TYPE \
|
||
|
-1074395991 // NI Vision does not support the file type you specified.
|
||
|
#define ERR_FILE_GET_INFO -1074395990 // Could not read Vision info from file.
|
||
|
#define ERR_FILE_READ -1074395989 // Unable to read data.
|
||
|
#define ERR_FILE_WRITE -1074395988 // Unable to write data.
|
||
|
#define ERR_FILE_EOF -1074395987 // Premature end of file.
|
||
|
#define ERR_FILE_FORMAT -1074395986 // Invalid file format.
|
||
|
#define ERR_FILE_OPERATION -1074395985 // Invalid file operation.
|
||
|
#define ERR_FILE_INVALID_DATA_TYPE \
|
||
|
-1074395984 // NI Vision does not support the file data type you specified.
|
||
|
#define ERR_FILE_NO_SPACE -1074395983 // Disk full.
|
||
|
#define ERR_INVALID_FRAMES_PER_SECOND \
|
||
|
-1074395982 // The frames per second in an AVI must be greater than zero.
|
||
|
#define ERR_INSUFFICIENT_BUFFER_SIZE \
|
||
|
-1074395981 // The buffer that was passed in is not big enough to hold all of
|
||
|
// the data.
|
||
|
#define ERR_COM_INITIALIZE -1074395980 // Error initializing COM.
|
||
|
#define ERR_INVALID_PARTICLE_INFO \
|
||
|
-1074395979 // The image has invalid particle information. Call
|
||
|
// imaqCountParticles on the image to create particle
|
||
|
// information.
|
||
|
#define ERR_INVALID_PARTICLE_NUMBER -1074395978 // Invalid particle number.
|
||
|
#define ERR_AVI_VERSION \
|
||
|
-1074395977 // The AVI file was created in a newer version of NI Vision.
|
||
|
// Upgrade to the latest version of NI Vision to read this AVI
|
||
|
// file.
|
||
|
#define ERR_NUMBER_OF_PALETTE_COLORS \
|
||
|
-1074395976 // The color palette must have exactly 0 or 256 entries.
|
||
|
#define ERR_AVI_TIMEOUT \
|
||
|
-1074395975 // DirectX has timed out reading or writing the AVI file. When
|
||
|
// closing an AVI file, try adding an additional delay. When
|
||
|
// reading an AVI file, try reducing CPU and disk load.
|
||
|
#define ERR_UNSUPPORTED_JPEG2000_COLORSPACE_METHOD \
|
||
|
-1074395974 // NI Vision does not support reading JPEG2000 files with this
|
||
|
// colorspace method.
|
||
|
#define ERR_JPEG2000_UNSUPPORTED_MULTIPLE_LAYERS \
|
||
|
-1074395973 // NI Vision does not support reading JPEG2000 files with more
|
||
|
// than one layer.
|
||
|
#define ERR_DIRECTX_ENUMERATE_FILTERS \
|
||
|
-1074395972 // DirectX is unable to enumerate the compression filters. This
|
||
|
// is caused by a third-party compression filter that is either
|
||
|
// improperly installed or is preventing itself from being
|
||
|
// enumerated. Remove any recently installed compression filters
|
||
|
// and try again.
|
||
|
#define ERR_INVALID_OFFSET \
|
||
|
-1074395971 // The offset you specified must be size 2.
|
||
|
#define ERR_INIT -1074395960 // Initialization error.
|
||
|
#define ERR_CREATE_WINDOW -1074395959 // Unable to create window.
|
||
|
#define ERR_WINDOW_ID -1074395958 // Invalid window ID.
|
||
|
#define ERR_ARRAY_SIZE_MISMATCH \
|
||
|
-1074395957 // The array sizes are not compatible.
|
||
|
#define ERR_INVALID_QUALITY \
|
||
|
-1074395956 // The quality you provided is invalid. Valid quality values
|
||
|
// range from -1 to 1000.
|
||
|
#define ERR_INVALID_MAX_WAVELET_TRANSFORM_LEVEL \
|
||
|
-1074395955 // Invalid maximum wavelet transform level. Valid values range
|
||
|
// from 0 to 255.
|
||
|
#define ERR_INVALID_QUANTIZATION_STEP_SIZE \
|
||
|
-1074395954 // The quantization step size must be greater than or equal to 0.
|
||
|
#define ERR_INVALID_WAVELET_TRANSFORM_MODE \
|
||
|
-1074395953 // Invalid wavelet transform mode.
|
||
|
#define ERR_ROI_NOT_POINT \
|
||
|
-1074395952 // The ROI must only have a single Point contour.
|
||
|
#define ERR_ROI_NOT_POINTS \
|
||
|
-1074395951 // The ROI must only have Point contours.
|
||
|
#define ERR_ROI_NOT_LINE \
|
||
|
-1074395950 // The ROI must only have a single Line contour.
|
||
|
#define ERR_ROI_NOT_ANNULUS \
|
||
|
-1074395949 // The ROI must only have a single Annulus contour.
|
||
|
#define ERR_INVALID_MEASURE_PARTICLES_CALIBRATION_MODE \
|
||
|
-1074395948 // Invalid measure particles calibration mode.
|
||
|
#define ERR_INVALID_PARTICLE_CLASSIFIER_THRESHOLD_TYPE \
|
||
|
-1074395947 // Invalid particle classifier threshold type.
|
||
|
#define ERR_INVALID_DISTANCE -1074395946 // Invalid Color Segmentation Distance
|
||
|
#define ERR_INVALID_PARTICLE_AREA \
|
||
|
-1074395945 // Invalid Color Segmenation Particle Area
|
||
|
#define ERR_CLASS_NAME_NOT_FOUND \
|
||
|
-1074395944 // Required Class name is not found in trained labels/Class names
|
||
|
#define ERR_NUMBER_LABEL_LIMIT_EXCEEDED \
|
||
|
-1074395943 // Number of Labels exceeded limit of label Image type
|
||
|
#define ERR_INVALID_DISTANCE_LEVEL \
|
||
|
-1074395942 // Invalid Color Segmentation distance level
|
||
|
#define ERR_INVALID_SVM_TYPE -1074395941 // Invalid SVM model type
|
||
|
#define ERR_INVALID_SVM_KERNEL -1074395940 // Invalid SVM kernel type
|
||
|
#define ERR_NO_SUPPORT_VECTOR_FOUND \
|
||
|
-1074395939 // No Support Vector is found at SVM training
|
||
|
#define ERR_COST_LABEL_NOT_FOUND \
|
||
|
-1074395938 // Label name is not found in added samples
|
||
|
#define ERR_EXCEEDED_SVM_MAX_ITERATION \
|
||
|
-1074395937 // SVM training exceeded maximim Iteration limit
|
||
|
#define ERR_INVALID_SVM_PARAMETER -1074395936 // Invalid SVM Parameter
|
||
|
#define ERR_INVALID_IDENTIFICATION_SCORE \
|
||
|
-1074395935 // Invalid Identification score. Must be between 0-1000.
|
||
|
#define ERR_INVALID_TEXTURE_FEATURE \
|
||
|
-1074395934 // Requested for invalid texture feature
|
||
|
#define ERR_INVALID_COOCCURRENCE_LEVEL \
|
||
|
-1074395933 // The coOccurrence Level must lie between 1 and the maximum
|
||
|
// pixel value of an image (255 for U8 image)
|
||
|
#define ERR_INVALID_WAVELET_SUBBAND \
|
||
|
-1074395932 // Request for invalid wavelet subBand
|
||
|
#define ERR_INVALID_FINAL_STEP_SIZE \
|
||
|
-1074395931 // The final step size must be lesser than the initial step size
|
||
|
#define ERR_INVALID_ENERGY \
|
||
|
-1074395930 // Minimum Energy should lie between 0 and 100
|
||
|
#define ERR_INVALID_TEXTURE_LABEL \
|
||
|
-1074395929 // The classification label must be texture or defect for texture
|
||
|
// defect classifier
|
||
|
#define ERR_INVALID_WAVELET_TYPE -1074395928 // The wavelet type is invalid
|
||
|
#define ERR_SAME_WAVELET_BANDS_SELECTED \
|
||
|
-1074395927 // Same Wavelet band is selected multiple times
|
||
|
#define ERR_IMAGE_SIZE_MISMATCH \
|
||
|
-1074395926 // The two input image sizes are different
|
||
|
#define ERR_NUMBER_CLASS -1074395920 // Invalid number of classes.
|
||
|
#define ERR_INVALID_LUCAS_KANADE_WINDOW_SIZE \
|
||
|
-1074395888 // Both dimensions of the window size should be odd, greater than
|
||
|
// 2 and less than 16.
|
||
|
#define ERR_INVALID_MATRIX_TYPE \
|
||
|
-1074395887 // The type of matrix supplied to the function is not supported.
|
||
|
#define ERR_INVALID_OPTICAL_FLOW_TERMINATION_CRITERIA_TYPE \
|
||
|
-1074395886 // An invalid termination criteria was specified for the optical
|
||
|
// flow computation.
|
||
|
#define ERR_LKP_NULL_PYRAMID \
|
||
|
-1074395885 // The pyramid levels where not properly allocated.
|
||
|
#define ERR_INVALID_PYRAMID_LEVEL \
|
||
|
-1074395884 // The pyramid level specified cannot be negative
|
||
|
#define ERR_INVALID_LKP_KERNEL \
|
||
|
-1074395883 // The kernel must be symmetric with non-zero coefficients and
|
||
|
// of odd size
|
||
|
#define ERR_INVALID_HORN_SCHUNCK_LAMBDA \
|
||
|
-1074395882 // Invalid smoothing parameter in Horn Schunck operation.
|
||
|
#define ERR_INVALID_HORN_SCHUNCK_TYPE \
|
||
|
-1074395881 // Invalid stopping criteria type for Horn Schunck optical flow.
|
||
|
#define ERR_PARTICLE -1074395880 // Invalid particle.
|
||
|
#define ERR_BAD_MEASURE -1074395879 // Invalid measure number.
|
||
|
#define ERR_PROP_NODE_WRITE_NOT_SUPPORTED \
|
||
|
-1074395878 // The Image Display control does not support writing this
|
||
|
// property node.
|
||
|
#define ERR_COLORMODE_REQUIRES_CHANGECOLORSPACE2 \
|
||
|
-1074395877 // The specified color mode requires the use of
|
||
|
// imaqChangeColorSpace2.
|
||
|
#define ERR_UNSUPPORTED_COLOR_MODE \
|
||
|
-1074395876 // This function does not currently support the color mode you
|
||
|
// specified.
|
||
|
#define ERR_BARCODE_PHARMACODE \
|
||
|
-1074395875 // The barcode is not a valid Pharmacode symbol
|
||
|
#define ERR_BAD_INDEX -1074395840 // Invalid handle table index.
|
||
|
#define ERR_INVALID_COMPRESSION_RATIO \
|
||
|
-1074395837 // The compression ratio must be greater than or equal to 1.
|
||
|
#define ERR_TOO_MANY_CONTOURS \
|
||
|
-1074395801 // The ROI contains too many contours.
|
||
|
#define ERR_PROTECTION -1074395800 // Protection error.
|
||
|
#define ERR_INTERNAL -1074395799 // Internal error.
|
||
|
#define ERR_INVALID_CUSTOM_SAMPLE \
|
||
|
-1074395798 // The size of the feature vector in the custom sample must match
|
||
|
// the size of those you have already added.
|
||
|
#define ERR_INVALID_CLASSIFIER_SESSION \
|
||
|
-1074395797 // Not a valid classifier session.
|
||
|
#define ERR_INVALID_KNN_METHOD \
|
||
|
-1074395796 // You requested an invalid Nearest Neighbor classifier method.
|
||
|
#define ERR_K_TOO_LOW -1074395795 // The k parameter must be greater than two.
|
||
|
#define ERR_K_TOO_HIGH \
|
||
|
-1074395794 // The k parameter must be <= the number of samples in each
|
||
|
// class.
|
||
|
#define ERR_INVALID_OPERATION_ON_COMPACT_SESSION_ATTEMPTED \
|
||
|
-1074395793 // This classifier session is compact. Only the Classify and
|
||
|
// Dispose functions may be called on a compact classifier
|
||
|
// session.
|
||
|
#define ERR_CLASSIFIER_SESSION_NOT_TRAINED \
|
||
|
-1074395792 // This classifier session is not trained. You may only call this
|
||
|
// function on a trained classifier session.
|
||
|
#define ERR_CLASSIFIER_INVALID_SESSION_TYPE \
|
||
|
-1074395791 // This classifier function cannot be called on this type of
|
||
|
// classifier session.
|
||
|
#define ERR_INVALID_DISTANCE_METRIC \
|
||
|
-1074395790 // You requested an invalid distance metric.
|
||
|
#define ERR_OPENING_NEWER_CLASSIFIER_SESSION \
|
||
|
-1074395789 // The classifier session you tried to open was created with a
|
||
|
// newer version of NI Vision. Upgrade to the latest version of
|
||
|
// NI Vision to read this file.
|
||
|
#define ERR_NO_SAMPLES \
|
||
|
-1074395788 // This operation cannot be performed because you have not added
|
||
|
// any samples.
|
||
|
#define ERR_INVALID_CLASSIFIER_TYPE \
|
||
|
-1074395787 // You requested an invalid classifier type.
|
||
|
#define ERR_INVALID_PARTICLE_OPTIONS \
|
||
|
-1074395786 // The sum of Scale Dependence and Symmetry Dependence must be
|
||
|
// less than 1000.
|
||
|
#define ERR_NO_PARTICLE -1074395785 // The image yielded no particles.
|
||
|
#define ERR_INVALID_LIMITS \
|
||
|
-1074395784 // The limits you supplied are not valid.
|
||
|
#define ERR_BAD_SAMPLE_INDEX \
|
||
|
-1074395783 // The Sample Index fell outside the range of Samples.
|
||
|
#define ERR_DESCRIPTION_TOO_LONG \
|
||
|
-1074395782 // The description must be <= 255 characters.
|
||
|
#define ERR_CLASSIFIER_INVALID_ENGINE_TYPE \
|
||
|
-1074395781 // The engine for this classifier session does not support this
|
||
|
// operation.
|
||
|
#define ERR_INVALID_PARTICLE_TYPE \
|
||
|
-1074395780 // You requested an invalid particle type.
|
||
|
#define ERR_CANNOT_COMPACT_UNTRAINED \
|
||
|
-1074395779 // You may only save a session in compact form if it is trained.
|
||
|
#define ERR_INVALID_KERNEL_SIZE \
|
||
|
-1074395778 // The Kernel size must be smaller than the image size.
|
||
|
#define ERR_INCOMPATIBLE_CLASSIFIER_TYPES \
|
||
|
-1074395777 // The session you read from file must be the same type as the
|
||
|
// session you passed in.
|
||
|
#define ERR_INVALID_USE_OF_COMPACT_SESSION_FILE \
|
||
|
-1074395776 // You can not use a compact classification file with read
|
||
|
// options other than Read All.
|
||
|
#define ERR_ROI_HAS_OPEN_CONTOURS \
|
||
|
-1074395775 // The ROI you passed in may only contain closed contours.
|
||
|
#define ERR_NO_LABEL -1074395774 // You must pass in a label.
|
||
|
#define ERR_NO_DEST_IMAGE -1074395773 // You must provide a destination image.
|
||
|
#define ERR_INVALID_REGISTRATION_METHOD \
|
||
|
-1074395772 // You provided an invalid registration method.
|
||
|
#define ERR_OPENING_NEWER_INSPECTION_TEMPLATE \
|
||
|
-1074395771 // The golden template you tried to open was created with a newer
|
||
|
// version of NI Vision. Upgrade to the latest version of NI
|
||
|
// Vision to read this file.
|
||
|
#define ERR_INVALID_INSPECTION_TEMPLATE -1074395770 // Invalid golden template.
|
||
|
#define ERR_INVALID_EDGE_THICKNESS \
|
||
|
-1074395769 // Edge Thickness to Ignore must be greater than zero.
|
||
|
#define ERR_INVALID_SCALE -1074395768 // Scale must be greater than zero.
|
||
|
#define ERR_INVALID_ALIGNMENT \
|
||
|
-1074395767 // The supplied scale is invalid for your template.
|
||
|
#define ERR_DEPRECATED_FUNCTION \
|
||
|
-1074395766 // This backwards-compatibility function can not be used with
|
||
|
// this session. Use newer, supported functions instead.
|
||
|
#define ERR_INVALID_NORMALIZATION_METHOD \
|
||
|
-1074395763 // You must provide a valid normalization method.
|
||
|
#define ERR_INVALID_NIBLACK_DEVIATION_FACTOR \
|
||
|
-1074395762 // The deviation factor for Niblack local threshold must be
|
||
|
// between 0 and 1.
|
||
|
#define ERR_BOARD_NOT_FOUND -1074395760 // Board not found.
|
||
|
#define ERR_BOARD_NOT_OPEN -1074395758 // Board not opened.
|
||
|
#define ERR_DLL_NOT_FOUND -1074395757 // DLL not found.
|
||
|
#define ERR_DLL_FUNCTION_NOT_FOUND -1074395756 // DLL function not found.
|
||
|
#define ERR_TRIG_TIMEOUT -1074395754 // Trigger timeout.
|
||
|
#define ERR_CONTOUR_INVALID_REFINEMENTS \
|
||
|
-1074395746 // Invalid number specified for maximum contour refinements.
|
||
|
#define ERR_TOO_MANY_CURVES \
|
||
|
-1074395745 // Too many curves extracted from image. Raise the edge threshold
|
||
|
// or reduce the ROI.
|
||
|
#define ERR_CONTOUR_INVALID_KERNEL_FOR_SMOOTHING \
|
||
|
-1074395744 // Invalid kernel for contour smoothing. Zero indicates no
|
||
|
// smoothing, otherwise value must be odd.
|
||
|
#define ERR_CONTOUR_LINE_INVALID \
|
||
|
-1074395743 // The contour line fit is invalid. Line segment start and stop
|
||
|
// must differ.
|
||
|
#define ERR_CONTOUR_TEMPLATE_IMAGE_INVALID \
|
||
|
-1074395742 // The template image must be trained with IMAQ Learn Contour
|
||
|
// Pattern or be the same size as the target image.
|
||
|
#define ERR_CONTOUR_GPM_FAIL \
|
||
|
-1074395741 // Matching failed to align the template and target contours.
|
||
|
#define ERR_CONTOUR_OPENING_NEWER_VERSION \
|
||
|
-1074395740 // The contour you tried to open was created with a newer version
|
||
|
// of NI Vision. Upgrade to the latest version of NI Vision to
|
||
|
// read this file.
|
||
|
#define ERR_CONTOUR_CONNECT_DUPLICATE \
|
||
|
-1074395739 // Only one range is allowed per curve connection constraint
|
||
|
// type.
|
||
|
#define ERR_CONTOUR_CONNECT_TYPE \
|
||
|
-1074395738 // Invalid contour connection constraint type.
|
||
|
#define ERR_CONTOUR_MATCH_STR_NOT_APPLICABLE \
|
||
|
-1074395737 // In order to use contour matching, you must provide a template
|
||
|
// image that has been trained with IMAQ Learn Contour Pattern
|
||
|
#define ERR_CONTOUR_CURVATURE_KERNEL \
|
||
|
-1074395736 // Invalid kernel width for curvature calculation. Must be an odd
|
||
|
// value greater than 1.
|
||
|
#define ERR_CONTOUR_EXTRACT_SELECTION \
|
||
|
-1074395735 // Invalid Contour Selection method for contour extraction.
|
||
|
#define ERR_CONTOUR_EXTRACT_DIRECTION \
|
||
|
-1074395734 // Invalid Search Direction for contour extraction.
|
||
|
#define ERR_CONTOUR_EXTRACT_ROI \
|
||
|
-1074395733 // Invalid ROI for contour extraction. The ROI must contain an
|
||
|
// annulus, rectangle or rotated rectangle.
|
||
|
#define ERR_CONTOUR_NO_CURVES -1074395732 // No curves were found in the image.
|
||
|
#define ERR_CONTOUR_COMPARE_KERNEL \
|
||
|
-1074395731 // Invalid Smoothing Kernel width for contour comparison. Must be
|
||
|
// zero or an odd positive integer.
|
||
|
#define ERR_CONTOUR_COMPARE_SINGLE_IMAGE \
|
||
|
-1074395730 // If no template image is provided, the target image must
|
||
|
// contain both a contour with extracted points and a fitted
|
||
|
// equation.
|
||
|
#define ERR_CONTOUR_INVALID -1074395729 // Invalid contour image.
|
||
|
#define ERR_INVALID_2D_BARCODE_SEARCH_MODE \
|
||
|
-1074395728 // NI Vision does not support the search mode you provided.
|
||
|
#define ERR_UNSUPPORTED_2D_BARCODE_SEARCH_MODE \
|
||
|
-1074395727 // NI Vision does not support the search mode you provided for
|
||
|
// the type of 2D barcode for which you are searching.
|
||
|
#define ERR_MATCHFACTOR_OBSOLETE \
|
||
|
-1074395726 // matchFactor has been obsoleted. Instead, set the
|
||
|
// initialMatchListLength and matchListReductionFactor in the
|
||
|
// MatchPatternAdvancedOptions structure.
|
||
|
#define ERR_DATA_VERSION \
|
||
|
-1074395725 // The data was stored with a newer version of NI Vision. Upgrade
|
||
|
// to the latest version of NI Vision to read this data.
|
||
|
#define ERR_CUSTOMDATA_INVALID_SIZE \
|
||
|
-1074395724 // The size you specified is out of the valid range.
|
||
|
#define ERR_CUSTOMDATA_KEY_NOT_FOUND \
|
||
|
-1074395723 // The key you specified cannot be found in the image.
|
||
|
#define ERR_CLASSIFIER_CLASSIFY_IMAGE_WITH_CUSTOM_SESSION \
|
||
|
-1074395722 // Custom classifier sessions only classify feature vectors. They
|
||
|
// do not support classifying images.
|
||
|
#define ERR_INVALID_BIT_DEPTH \
|
||
|
-1074395721 // NI Vision does not support the bit depth you supplied for the
|
||
|
// image you supplied.
|
||
|
#define ERR_BAD_ROI -1074395720 // Invalid ROI.
|
||
|
#define ERR_BAD_ROI_BOX -1074395719 // Invalid ROI global rectangle.
|
||
|
#define ERR_LAB_VERSION \
|
||
|
-1074395718 // The version of LabVIEW or BridgeVIEW you are running does not
|
||
|
// support this operation.
|
||
|
#define ERR_INVALID_RANGE -1074395717 // The range you supplied is invalid.
|
||
|
#define ERR_INVALID_SCALING_METHOD \
|
||
|
-1074395716 // NI Vision does not support the scaling method you provided.
|
||
|
#define ERR_INVALID_CALIBRATION_UNIT \
|
||
|
-1074395715 // NI Vision does not support the calibration unit you supplied.
|
||
|
#define ERR_INVALID_AXIS_ORIENTATION \
|
||
|
-1074395714 // NI Vision does not support the axis orientation you supplied.
|
||
|
#define ERR_VALUE_NOT_IN_ENUM -1074395713 // Value not in enumeration.
|
||
|
#define ERR_WRONG_REGION_TYPE \
|
||
|
-1074395712 // You selected a region that is not of the right type.
|
||
|
#define ERR_NOT_ENOUGH_REGIONS \
|
||
|
-1074395711 // You specified a viewer that does not contain enough regions.
|
||
|
#define ERR_TOO_MANY_PARTICLES \
|
||
|
-1074395710 // The image has too many particles for this process.
|
||
|
#define ERR_AVI_UNOPENED_SESSION \
|
||
|
-1074395709 // The AVI session has not been opened.
|
||
|
#define ERR_AVI_READ_SESSION_REQUIRED \
|
||
|
-1074395708 // The AVI session is a write session, but this operation
|
||
|
// requires a read session.
|
||
|
#define ERR_AVI_WRITE_SESSION_REQUIRED \
|
||
|
-1074395707 // The AVI session is a read session, but this operation requires
|
||
|
// a write session.
|
||
|
#define ERR_AVI_SESSION_ALREADY_OPEN \
|
||
|
-1074395706 // This AVI session is already open. You must close it before
|
||
|
// calling the Create or Open functions.
|
||
|
#define ERR_DATA_CORRUPTED \
|
||
|
-1074395705 // The data is corrupted and cannot be read.
|
||
|
#define ERR_INVALID_COMPRESSION_TYPE -1074395704 // Invalid compression type.
|
||
|
#define ERR_INVALID_TYPE_OF_FLATTEN -1074395703 // Invalid type of flatten.
|
||
|
#define ERR_INVALID_LENGTH \
|
||
|
-1074395702 // The length of the edge detection line must be greater than
|
||
|
// zero.
|
||
|
#define ERR_INVALID_MATRIX_SIZE_RANGE \
|
||
|
-1074395701 // The maximum Data Matrix barcode size must be equal to or
|
||
|
// greater than the minimum Data Matrix barcode size.
|
||
|
#define ERR_REQUIRES_WIN2000_OR_NEWER \
|
||
|
-1074395700 // The function requires the operating system to be Microsoft
|
||
|
// Windows 2000 or newer.
|
||
|
#define ERR_INVALID_CALIBRATION_METHOD \
|
||
|
-1074395662 // Invalid calibration method requested
|
||
|
#define ERR_INVALID_OPERATION_ON_COMPACT_CALIBRATION_ATTEMPTED \
|
||
|
-1074395661 // This calibration is compact. Re-Learning calibration and
|
||
|
// retrieving thumbnails are not possible with this calibration
|
||
|
#define ERR_INVALID_POLYNOMIAL_MODEL_K_COUNT \
|
||
|
-1074395660 // Invalid number of K values
|
||
|
#define ERR_INVALID_DISTORTION_MODEL \
|
||
|
-1074395659 // Invalid distortion model type
|
||
|
#define ERR_CAMERA_MODEL_NOT_AVAILABLE \
|
||
|
-1074395658 // Camera Model is not learned
|
||
|
#define ERR_INVALID_THUMBNAIL_INDEX \
|
||
|
-1074395657 // Supplied thumbnail index is invalid
|
||
|
#define ERR_SMOOTH_CONTOURS_MUST_BE_SAME \
|
||
|
-1074395656 // You must specify the same value for the smooth contours
|
||
|
// advanced match option for all templates you want to match.
|
||
|
#define ERR_ENABLE_CALIBRATION_SUPPORT_MUST_BE_SAME \
|
||
|
-1074395655 // You must specify the same value for the enable calibration
|
||
|
// support advanced match option for all templates you want to
|
||
|
// match.
|
||
|
#define ERR_GRADING_INFORMATION_NOT_FOUND \
|
||
|
-1074395654 // The source image does not contain grading information. You
|
||
|
// must prepare the source image for grading when reading the
|
||
|
// Data Matrix, and you cannot change the contents of the source
|
||
|
// image between reading and grading the Data Matrix.
|
||
|
#define ERR_OPENING_NEWER_MULTIPLE_GEOMETRIC_TEMPLATE \
|
||
|
-1074395653 // The multiple geometric matching template you tried to open was
|
||
|
// created with a newer version of NI Vision. Upgrade to the
|
||
|
// latest version of NI Vision to read this file.
|
||
|
#define ERR_OPENING_NEWER_GEOMETRIC_MATCHING_TEMPLATE \
|
||
|
-1074395652 // The geometric matching template you tried to open was created
|
||
|
// with a newer version of NI Vision. Upgrade to the latest
|
||
|
// version of NI Vision to read this file.
|
||
|
#define ERR_EDGE_FILTER_SIZE_MUST_BE_SAME \
|
||
|
-1074395651 // You must specify the same edge filter size for all the
|
||
|
// templates you want to match.
|
||
|
#define ERR_CURVE_EXTRACTION_MODE_MUST_BE_SAME \
|
||
|
-1074395650 // You must specify the same curve extraction mode for all the
|
||
|
// templates you want to match.
|
||
|
#define ERR_INVALID_GEOMETRIC_FEATURE_TYPE \
|
||
|
-1074395649 // The geometric feature type specified is invalid.
|
||
|
#define ERR_TEMPLATE_NOT_LEARNED \
|
||
|
-1074395648 // You supplied a template that was not learned.
|
||
|
#define ERR_INVALID_MULTIPLE_GEOMETRIC_TEMPLATE \
|
||
|
-1074395647 // Invalid multiple geometric template.
|
||
|
#define ERR_NO_TEMPLATE_TO_LEARN \
|
||
|
-1074395646 // Need at least one template to learn.
|
||
|
#define ERR_INVALID_NUMBER_OF_LABELS \
|
||
|
-1074395645 // You supplied an invalid number of labels.
|
||
|
#define ERR_LABEL_TOO_LONG -1074395644 // Labels must be <= 255 characters.
|
||
|
#define ERR_INVALID_NUMBER_OF_MATCH_OPTIONS \
|
||
|
-1074395643 // You supplied an invalid number of match options.
|
||
|
#define ERR_LABEL_NOT_FOUND \
|
||
|
-1074395642 // Cannot find a label that matches the one you specified.
|
||
|
#define ERR_DUPLICATE_LABEL -1074395641 // Duplicate labels are not allowed.
|
||
|
#define ERR_TOO_MANY_ZONES \
|
||
|
-1074395640 // The number of zones found exceeded the capacity of the
|
||
|
// algorithm.
|
||
|
#define ERR_INVALID_HATCH_STYLE \
|
||
|
-1074395639 // The hatch style for the window background is invalid.
|
||
|
#define ERR_INVALID_FILL_STYLE \
|
||
|
-1074395638 // The fill style for the window background is invalid.
|
||
|
#define ERR_HARDWARE_DOESNT_SUPPORT_NONTEARING \
|
||
|
-1074395637 // Your hardware is not supported by DirectX and cannot be put
|
||
|
// into NonTearing mode.
|
||
|
#define ERR_DIRECTX_NOT_FOUND \
|
||
|
-1074395636 // DirectX is required for this feature. Please install the
|
||
|
// latest version..
|
||
|
#define ERR_INVALID_SHAPE_DESCRIPTOR \
|
||
|
-1074395635 // The passed shape descriptor is invalid.
|
||
|
#define ERR_INVALID_MAX_MATCH_OVERLAP \
|
||
|
-1074395634 // Invalid max match overlap. Values must be between -1 and 100.
|
||
|
#define ERR_INVALID_MIN_MATCH_SEPARATION_SCALE \
|
||
|
-1074395633 // Invalid minimum match separation scale. Values must be
|
||
|
// greater than or equal to -1.
|
||
|
#define ERR_INVALID_MIN_MATCH_SEPARATION_ANGLE \
|
||
|
-1074395632 // Invalid minimum match separation angle. Values must be
|
||
|
// between -1 and 360.
|
||
|
#define ERR_INVALID_MIN_MATCH_SEPARATION_DISTANCE \
|
||
|
-1074395631 // Invalid minimum match separation distance. Values must be
|
||
|
// greater than or equal to -1.
|
||
|
#define ERR_INVALID_MAXIMUM_FEATURES_LEARNED \
|
||
|
-1074395630 // Invalid maximum number of features learn. Values must be
|
||
|
// integers greater than zero.
|
||
|
#define ERR_INVALID_MAXIMUM_PIXEL_DISTANCE_FROM_LINE \
|
||
|
-1074395629 // Invalid maximum pixel distance from line. Values must be
|
||
|
// positive real numbers.
|
||
|
#define ERR_INVALID_GEOMETRIC_MATCHING_TEMPLATE \
|
||
|
-1074395628 // Invalid geometric matching template image.
|
||
|
#define ERR_NOT_ENOUGH_TEMPLATE_FEATURES_1 \
|
||
|
-1074395627 // The template does not contain enough features for geometric
|
||
|
// matching.
|
||
|
#define ERR_NOT_ENOUGH_TEMPLATE_FEATURES \
|
||
|
-1074395626 // The template does not contain enough features for geometric
|
||
|
// matching.
|
||
|
#define ERR_INVALID_MATCH_CONSTRAINT_TYPE \
|
||
|
-1074395625 // You specified an invalid value for the match constraint value
|
||
|
// of the range settings.
|
||
|
#define ERR_INVALID_OCCLUSION_RANGE \
|
||
|
-1074395624 // Invalid occlusion range. Valid values for the bounds range
|
||
|
// from 0 to 100 and the upper bound must be greater than or
|
||
|
// equal to the lower bound.
|
||
|
#define ERR_INVALID_SCALE_RANGE \
|
||
|
-1074395623 // Invalid scale range. Values for the lower bound must be a
|
||
|
// positive real numbers and the upper bound must be greater than
|
||
|
// or equal to the lower bound.
|
||
|
#define ERR_INVALID_MATCH_GEOMETRIC_PATTERN_SETUP_DATA \
|
||
|
-1074395622 // Invalid match geometric pattern setup data.
|
||
|
#define ERR_INVALID_LEARN_GEOMETRIC_PATTERN_SETUP_DATA \
|
||
|
-1074395621 // Invalid learn geometric pattern setup data.
|
||
|
#define ERR_INVALID_CURVE_EXTRACTION_MODE \
|
||
|
-1074395620 // Invalid curve extraction mode.
|
||
|
#define ERR_TOO_MANY_OCCLUSION_RANGES \
|
||
|
-1074395619 // You can specify only one occlusion range.
|
||
|
#define ERR_TOO_MANY_SCALE_RANGES \
|
||
|
-1074395618 // You can specify only one scale range.
|
||
|
#define ERR_INVALID_NUMBER_OF_FEATURES_RANGE \
|
||
|
-1074395617 // The minimum number of features must be less than or equal to
|
||
|
// the maximum number of features.
|
||
|
#define ERR_INVALID_EDGE_FILTER_SIZE -1074395616 // Invalid edge filter size.
|
||
|
#define ERR_INVALID_MINIMUM_FEATURE_STRENGTH \
|
||
|
-1074395615 // Invalid minimum strength for features. Values must be positive
|
||
|
// real numbers.
|
||
|
#define ERR_INVALID_MINIMUM_FEATURE_ASPECT_RATIO \
|
||
|
-1074395614 // Invalid aspect ratio for rectangular features. Values must be
|
||
|
// positive real numbers in the range 0.01 to 1.0.
|
||
|
#define ERR_INVALID_MINIMUM_FEATURE_LENGTH \
|
||
|
-1074395613 // Invalid minimum length for linear features. Values must be
|
||
|
// integers greater than 0.
|
||
|
#define ERR_INVALID_MINIMUM_FEATURE_RADIUS \
|
||
|
-1074395612 // Invalid minimum radius for circular features. Values must be
|
||
|
// integers greater than 0.
|
||
|
#define ERR_INVALID_MINIMUM_RECTANGLE_DIMENSION \
|
||
|
-1074395611 // Invalid minimum rectangle dimension. Values must be integers
|
||
|
// greater than 0.
|
||
|
#define ERR_INVALID_INITIAL_MATCH_LIST_LENGTH \
|
||
|
-1074395610 // Invalid initial match list length. Values must be integers
|
||
|
// greater than 5.
|
||
|
#define ERR_INVALID_SUBPIXEL_TOLERANCE \
|
||
|
-1074395609 // Invalid subpixel tolerance. Values must be positive real
|
||
|
// numbers.
|
||
|
#define ERR_INVALID_SUBPIXEL_ITERATIONS \
|
||
|
-1074395608 // Invalid number of subpixel iterations. Values must be integers
|
||
|
// greater 10.
|
||
|
#define ERR_INVALID_MAXIMUM_FEATURES_PER_MATCH \
|
||
|
-1074395607 // Invalid maximum number of features used per match. Values must
|
||
|
// be integers greater than or equal to zero.
|
||
|
#define ERR_INVALID_MINIMUM_FEATURES_TO_MATCH \
|
||
|
-1074395606 // Invalid minimum number of features used for matching. Values
|
||
|
// must be integers greater than zero.
|
||
|
#define ERR_INVALID_MAXIMUM_END_POINT_GAP \
|
||
|
-1074395605 // Invalid maximum end point gap. Valid values range from 0 to
|
||
|
// 32767.
|
||
|
#define ERR_INVALID_COLUMN_STEP \
|
||
|
-1074395604 // Invalid column step. Valid range is 1 to 255.
|
||
|
#define ERR_INVALID_ROW_STEP \
|
||
|
-1074395603 // Invalid row step. Valid range is 1 to 255.
|
||
|
#define ERR_INVALID_MINIMUM_CURVE_LENGTH \
|
||
|
-1074395602 // Invalid minimum length. Valid values must be greater than or
|
||
|
// equal to zero.
|
||
|
#define ERR_INVALID_EDGE_THRESHOLD \
|
||
|
-1074395601 // Invalid edge threshold. Valid values range from 1 to 360.
|
||
|
#define ERR_INFO_NOT_FOUND \
|
||
|
-1074395600 // You must provide information about the subimage within the
|
||
|
// browser.
|
||
|
#define ERR_NIOCR_INVALID_ACCEPTANCE_LEVEL \
|
||
|
-1074395598 // The acceptance level is outside the valid range of 0 to 1000.
|
||
|
#define ERR_NIOCR_NOT_A_VALID_SESSION -1074395597 // Not a valid OCR session.
|
||
|
#define ERR_NIOCR_INVALID_CHARACTER_SIZE \
|
||
|
-1074395596 // Invalid character size. Character size must be >= 1.
|
||
|
#define ERR_NIOCR_INVALID_THRESHOLD_MODE \
|
||
|
-1074395595 // Invalid threshold mode value.
|
||
|
#define ERR_NIOCR_INVALID_SUBSTITUTION_CHARACTER \
|
||
|
-1074395594 // Invalid substitution character. Valid substitution characters
|
||
|
// are ASCII values that range from 1 to 254.
|
||
|
#define ERR_NIOCR_INVALID_NUMBER_OF_BLOCKS \
|
||
|
-1074395593 // Invalid number of blocks. Number of blocks must be >= 4 and <=
|
||
|
// 50.
|
||
|
#define ERR_NIOCR_INVALID_READ_STRATEGY -1074395592 // Invalid read strategy.
|
||
|
#define ERR_NIOCR_INVALID_CHARACTER_INDEX \
|
||
|
-1074395591 // Invalid character index.
|
||
|
#define ERR_NIOCR_INVALID_NUMBER_OF_VALID_CHARACTER_POSITIONS \
|
||
|
-1074395590 // Invalid number of character positions. Valid values range from
|
||
|
// 0 to 255.
|
||
|
#define ERR_NIOCR_INVALID_LOW_THRESHOLD_VALUE \
|
||
|
-1074395589 // Invalid low threshold value. Valid threshold values range from
|
||
|
// 0 to 255.
|
||
|
#define ERR_NIOCR_INVALID_HIGH_THRESHOLD_VALUE \
|
||
|
-1074395588 // Invalid high threshold value. Valid threshold values range
|
||
|
// from 0 to 255.
|
||
|
#define ERR_NIOCR_INVALID_THRESHOLD_RANGE \
|
||
|
-1074395587 // The low threshold must be less than the high threshold.
|
||
|
#define ERR_NIOCR_INVALID_LOWER_THRESHOLD_LIMIT \
|
||
|
-1074395586 // Invalid lower threshold limit. Valid lower threshold limits
|
||
|
// range from 0 to 255.
|
||
|
#define ERR_NIOCR_INVALID_UPPER_THRESHOLD_LIMIT \
|
||
|
-1074395585 // Invalid upper threshold limit. Valid upper threshold limits
|
||
|
// range from 0 to 255.
|
||
|
#define ERR_NIOCR_INVALID_THRESHOLD_LIMITS \
|
||
|
-1074395584 // The lower threshold limit must be less than the upper
|
||
|
// threshold limit.
|
||
|
#define ERR_NIOCR_INVALID_MIN_CHAR_SPACING \
|
||
|
-1074395583 // Invalid minimum character spacing value. Character spacing
|
||
|
// must be >= 1 pixel.
|
||
|
#define ERR_NIOCR_INVALID_MAX_HORIZ_ELEMENT_SPACING \
|
||
|
-1074395582 // Invalid maximum horizontal element spacing value. Maximum
|
||
|
// horizontal element spacing must be >= 0.
|
||
|
#define ERR_NIOCR_INVALID_MAX_VERT_ELEMENT_SPACING \
|
||
|
-1074395581 // Invalid maximum vertical element spacing value. Maximum
|
||
|
// vertical element spacing must be >= 0.
|
||
|
#define ERR_NIOCR_INVALID_MIN_BOUNDING_RECT_WIDTH \
|
||
|
-1074395580 // Invalid minimum bounding rectangle width. Minimum bounding
|
||
|
// rectangle width must be >= 1.
|
||
|
#define ERR_NIOCR_INVALID_ASPECT_RATIO \
|
||
|
-1074395579 // Invalid aspect ratio value. The aspect ratio must be zero or
|
||
|
// >= 100.
|
||
|
#define ERR_NIOCR_INVALID_CHARACTER_SET_FILE \
|
||
|
-1074395578 // Invalid or corrupt character set file.
|
||
|
#define ERR_NIOCR_CHARACTER_VALUE_CANNOT_BE_EMPTYSTRING \
|
||
|
-1074395577 // The character value must not be an empty string.
|
||
|
#define ERR_NIOCR_CHARACTER_VALUE_TOO_LONG \
|
||
|
-1074395576 // Character values must be <=255 characters.
|
||
|
#define ERR_NIOCR_INVALID_NUMBER_OF_EROSIONS \
|
||
|
-1074395575 // Invalid number of erosions. The number of erosions must be >=
|
||
|
// 0.
|
||
|
#define ERR_NIOCR_CHARACTER_SET_DESCRIPTION_TOO_LONG \
|
||
|
-1074395574 // The character set description must be <=255 characters.
|
||
|
#define ERR_NIOCR_INVALID_CHARACTER_SET_FILE_VERSION \
|
||
|
-1074395573 // The character set file was created by a newer version of NI
|
||
|
// Vision. Upgrade to the latest version of NI Vision to read the
|
||
|
// character set file.
|
||
|
#define ERR_NIOCR_INTEGER_VALUE_FOR_STRING_ATTRIBUTE \
|
||
|
-1074395572 // You must specify characters for a string. A string cannot
|
||
|
// contain integers.
|
||
|
#define ERR_NIOCR_GET_ONLY_ATTRIBUTE \
|
||
|
-1074395571 // This attribute is read-only.
|
||
|
#define ERR_NIOCR_INTEGER_VALUE_FOR_BOOLEAN_ATTRIBUTE \
|
||
|
-1074395570 // This attribute requires a Boolean value.
|
||
|
#define ERR_NIOCR_INVALID_ATTRIBUTE -1074395569 // Invalid attribute.
|
||
|
#define ERR_NIOCR_STRING_VALUE_FOR_INTEGER_ATTRIBUTE \
|
||
|
-1074395568 // This attribute requires integer values.
|
||
|
#define ERR_NIOCR_STRING_VALUE_FOR_BOOLEAN_ATTRIBUTE \
|
||
|
-1074395567 // String values are invalid for this attribute. Enter a boolean
|
||
|
// value.
|
||
|
#define ERR_NIOCR_BOOLEAN_VALUE_FOR_INTEGER_ATTRIBUTE \
|
||
|
-1074395566 // Boolean values are not valid for this attribute. Enter an
|
||
|
// integer value.
|
||
|
#define ERR_NIOCR_MUST_BE_SINGLE_CHARACTER \
|
||
|
-1074395565 // Requires a single-character string.
|
||
|
#define ERR_NIOCR_INVALID_PREDEFINED_CHARACTER \
|
||
|
-1074395564 // Invalid predefined character value.
|
||
|
#define ERR_NIOCR_UNLICENSED -1074395563 // This copy of NI OCR is unlicensed.
|
||
|
#define ERR_NIOCR_BOOLEAN_VALUE_FOR_STRING_ATTRIBUTE \
|
||
|
-1074395562 // String values are not valid for this attribute. Enter a
|
||
|
// Boolean value.
|
||
|
#define ERR_NIOCR_INVALID_NUMBER_OF_CHARACTERS \
|
||
|
-1074395561 // The number of characters in the character value must match the
|
||
|
// number of objects in the image.
|
||
|
#define ERR_NIOCR_INVALID_OBJECT_INDEX -1074395560 // Invalid object index.
|
||
|
#define ERR_NIOCR_INVALID_READ_OPTION -1074395559 // Invalid read option.
|
||
|
#define ERR_NIOCR_INVALID_CHARACTER_SIZE_RANGE \
|
||
|
-1074395558 // The minimum character size must be less than the maximum
|
||
|
// character size.
|
||
|
#define ERR_NIOCR_INVALID_BOUNDING_RECT_WIDTH_RANGE \
|
||
|
-1074395557 // The minimum character bounding rectangle width must be less
|
||
|
// than the maximum character bounding rectangle width.
|
||
|
#define ERR_NIOCR_INVALID_BOUNDING_RECT_HEIGHT_RANGE \
|
||
|
-1074395556 // The minimum character bounding rectangle height must be less
|
||
|
// than the maximum character bounding rectangle height.
|
||
|
#define ERR_NIOCR_INVALID_SPACING_RANGE \
|
||
|
-1074395555 // The maximum horizontal element spacing value must not exceed
|
||
|
// the minimum character spacing value.
|
||
|
#define ERR_NIOCR_INVALID_READ_RESOLUTION \
|
||
|
-1074395554 // Invalid read resolution.
|
||
|
#define ERR_NIOCR_INVALID_MIN_BOUNDING_RECT_HEIGHT \
|
||
|
-1074395553 // Invalid minimum bounding rectangle height. The minimum
|
||
|
// bounding rectangle height must be >= 1.
|
||
|
#define ERR_NIOCR_NOT_A_VALID_CHARACTER_SET \
|
||
|
-1074395552 // Not a valid character set.
|
||
|
#define ERR_NIOCR_RENAME_REFCHAR \
|
||
|
-1074395551 // A trained OCR character cannot be renamed while it is a
|
||
|
// reference character.
|
||
|
#define ERR_NIOCR_INVALID_CHARACTER_VALUE \
|
||
|
-1074395550 // A character cannot have an ASCII value of 255.
|
||
|
#define ERR_NIOCR_INVALID_NUMBER_OF_OBJECTS_TO_VERIFY \
|
||
|
-1074395549 // The number of objects found does not match the number of
|
||
|
// expected characters or patterns to verify.
|
||
|
#define ERR_INVALID_STEREO_BLOCKMATCHING_PREFILTER_CAP \
|
||
|
-1074395421 // The specified value for the filter cap for block matching is
|
||
|
// invalid.
|
||
|
#define ERR_INVALID_STEREO_BLOCKMATCHING_PREFILTER_SIZE \
|
||
|
-1074395420 // The specified prefilter size for block matching is invalid.
|
||
|
#define ERR_INVALID_STEREO_BLOCKMATCHING_PREFILTER_TYPE \
|
||
|
-1074395419 // The specified prefilter type for block matching is invalid.
|
||
|
#define ERR_INVALID_STEREO_BLOCKMATCHING_NUMDISPARITIES \
|
||
|
-1074395418 // The specifed value for number of disparities is invalid.
|
||
|
#define ERR_INVALID_STEREO_BLOCKMATCHING_WINDOW_SIZE \
|
||
|
-1074395417 // The specified window size for block matching is invalid.
|
||
|
#define ERR_3DVISION_INVALID_SESSION_TYPE \
|
||
|
-1074395416 // This 3D vision function cannot be called on this type of 3d
|
||
|
// vision session.
|
||
|
#define ERR_TOO_MANY_3DVISION_SESSIONS \
|
||
|
-1074395415 // There are too many 3D vision sessions open. You must close a
|
||
|
// session before you can open another one.
|
||
|
#define ERR_OPENING_NEWER_3DVISION_SESSION \
|
||
|
-1074395414 // The 3D vision session you tried to open was created with a
|
||
|
// newer version of NI Vision. Upgrade to the latest version of
|
||
|
// NI Vision to read this file.
|
||
|
#define ERR_INVALID_STEREO_BLOCKMATCHING_FILTERTYPE \
|
||
|
-1074395413 // You have specified an invalid filter type for block matching.
|
||
|
#define ERR_INVALID_STEREO_CAMERA_POSITION \
|
||
|
-1074395412 // You have requested results at an invalid camera position in
|
||
|
// the stereo setup.
|
||
|
#define ERR_INVALID_3DVISION_SESSION \
|
||
|
-1074395411 // Not a valid 3D Vision session.
|
||
|
#define ERR_INVALID_ICONS_PER_LINE \
|
||
|
-1074395410 // NI Vision does not support less than one icon per line.
|
||
|
#define ERR_INVALID_SUBPIXEL_DIVISIONS \
|
||
|
-1074395409 // Invalid subpixel divisions.
|
||
|
#define ERR_INVALID_DETECTION_MODE -1074395408 // Invalid detection mode.
|
||
|
#define ERR_INVALID_CONTRAST \
|
||
|
-1074395407 // Invalid contrast value. Valid contrast values range from 0 to
|
||
|
// 255.
|
||
|
#define ERR_COORDSYS_NOT_FOUND \
|
||
|
-1074395406 // The coordinate system could not be found on this image.
|
||
|
#define ERR_INVALID_TEXTORIENTATION \
|
||
|
-1074395405 // NI Vision does not support the text orientation value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_INTERPOLATIONMETHOD_FOR_UNWRAP \
|
||
|
-1074395404 // UnwrapImage does not support the interpolation method value
|
||
|
// you supplied. Valid interpolation methods are zero order and
|
||
|
// bilinear.
|
||
|
#define ERR_EXTRAINFO_VERSION \
|
||
|
-1074395403 // The image was created in a newer version of NI Vision. Upgrade
|
||
|
// to the latest version of NI Vision to use this image.
|
||
|
#define ERR_INVALID_MAXPOINTS \
|
||
|
-1074395402 // The function does not support the maximum number of points
|
||
|
// that you specified.
|
||
|
#define ERR_INVALID_MATCHFACTOR \
|
||
|
-1074395401 // The function does not support the matchFactor that you
|
||
|
// specified.
|
||
|
#define ERR_MULTICORE_OPERATION \
|
||
|
-1074395400 // The operation you have given Multicore Options is invalid.
|
||
|
// Please see the available enumeration values for Multicore
|
||
|
// Operation.
|
||
|
#define ERR_MULTICORE_INVALID_ARGUMENT \
|
||
|
-1074395399 // You have given Multicore Options an invalid argument.
|
||
|
#define ERR_COMPLEX_IMAGE_REQUIRED -1074395397 // A complex image is required.
|
||
|
#define ERR_COLOR_IMAGE_REQUIRED \
|
||
|
-1074395395 // The input image must be a color image.
|
||
|
#define ERR_COLOR_SPECTRUM_MASK \
|
||
|
-1074395394 // The color mask removes too much color information.
|
||
|
#define ERR_COLOR_TEMPLATE_IMAGE_TOO_SMALL \
|
||
|
-1074395393 // The color template image is too small.
|
||
|
#define ERR_COLOR_TEMPLATE_IMAGE_TOO_LARGE \
|
||
|
-1074395392 // The color template image is too large.
|
||
|
#define ERR_COLOR_TEMPLATE_IMAGE_HUE_CONTRAST_TOO_LOW \
|
||
|
-1074395391 // The contrast in the hue plane of the image is too low for
|
||
|
// learning shape features.
|
||
|
#define ERR_COLOR_TEMPLATE_IMAGE_LUMINANCE_CONTRAST_TOO_LOW \
|
||
|
-1074395390 // The contrast in the luminance plane of the image is too low to
|
||
|
// learn shape features.
|
||
|
#define ERR_COLOR_LEARN_SETUP_DATA \
|
||
|
-1074395389 // Invalid color learn setup data.
|
||
|
#define ERR_COLOR_LEARN_SETUP_DATA_SHAPE \
|
||
|
-1074395388 // Invalid color learn setup data.
|
||
|
#define ERR_COLOR_MATCH_SETUP_DATA \
|
||
|
-1074395387 // Invalid color match setup data.
|
||
|
#define ERR_COLOR_MATCH_SETUP_DATA_SHAPE \
|
||
|
-1074395386 // Invalid color match setup data.
|
||
|
#define ERR_COLOR_ROTATION_REQUIRES_SHAPE_FEATURE \
|
||
|
-1074395385 // Rotation-invariant color pattern matching requires a feature
|
||
|
// mode including shape.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR \
|
||
|
-1074395384 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_1 \
|
||
|
-1074395383 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_2 \
|
||
|
-1074395382 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_3 \
|
||
|
-1074395381 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_4 \
|
||
|
-1074395380 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_5 \
|
||
|
-1074395379 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_6 \
|
||
|
-1074395378 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_SHIFT \
|
||
|
-1074395377 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_NOSHIFT \
|
||
|
-1074395376 // The color template image does not contain data required for
|
||
|
// shift-invariant color matching.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_SHIFT_1 \
|
||
|
-1074395375 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_SHIFT_2 \
|
||
|
-1074395374 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_ROTATION \
|
||
|
-1074395373 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_NOROTATION \
|
||
|
-1074395372 // The color template image does not contain data required for
|
||
|
// rotation-invariant color matching.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_ROTATION_1 \
|
||
|
-1074395371 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_ROTATION_2 \
|
||
|
-1074395370 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_ROTATION_3 \
|
||
|
-1074395369 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_ROTATION_4 \
|
||
|
-1074395368 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_ROTATION_5 \
|
||
|
-1074395367 // Invalid color template image.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_NOSHAPE \
|
||
|
-1074395366 // The color template image does not contain data required for
|
||
|
// color matching in shape feature mode.
|
||
|
#define ERR_COLOR_TEMPLATE_DESCRIPTOR_NOSPECTRUM \
|
||
|
-1074395365 // The color template image does not contain data required for
|
||
|
// color matching in color feature mode.
|
||
|
#define ERR_IGNORE_COLOR_SPECTRUM_SET \
|
||
|
-1074395364 // The ignore color spectra array is invalid.
|
||
|
#define ERR_INVALID_SUBSAMPLING_RATIO -1074395363 // Invalid subsampling ratio.
|
||
|
#define ERR_INVALID_WIDTH -1074395362 // Invalid pixel width.
|
||
|
#define ERR_INVALID_STEEPNESS -1074395361 // Invalid steepness.
|
||
|
#define ERR_COMPLEX_PLANE -1074395360 // Invalid complex plane.
|
||
|
#define ERR_INVALID_COLOR_IGNORE_MODE -1074395357 // Invalid color ignore mode.
|
||
|
#define ERR_INVALID_MIN_MATCH_SCORE \
|
||
|
-1074395356 // Invalid minimum match score. Acceptable values range from 0 to
|
||
|
// 1000.
|
||
|
#define ERR_INVALID_NUM_MATCHES_REQUESTED \
|
||
|
-1074395355 // Invalid number of matches requested. You must request a
|
||
|
// minimum of one match.
|
||
|
#define ERR_INVALID_COLOR_WEIGHT \
|
||
|
-1074395354 // Invalid color weight. Acceptable values range from 0 to 1000.
|
||
|
#define ERR_INVALID_SEARCH_STRATEGY -1074395353 // Invalid search strategy.
|
||
|
#define ERR_INVALID_FEATURE_MODE -1074395352 // Invalid feature mode.
|
||
|
#define ERR_INVALID_RECT \
|
||
|
-1074395351 // NI Vision does not support rectangles with negative widths or
|
||
|
// negative heights.
|
||
|
#define ERR_INVALID_VISION_INFO \
|
||
|
-1074395350 // NI Vision does not support the vision information type you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_SKELETONMETHOD \
|
||
|
-1074395349 // NI Vision does not support the SkeletonMethod value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_3DPLANE \
|
||
|
-1074395348 // NI Vision does not support the 3DPlane value you supplied.
|
||
|
#define ERR_INVALID_3DDIRECTION \
|
||
|
-1074395347 // NI Vision does not support the 3DDirection value you supplied.
|
||
|
#define ERR_INVALID_INTERPOLATIONMETHOD_FOR_ROTATE \
|
||
|
-1074395346 // imaqRotate does not support the InterpolationMethod value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_FLIPAXIS \
|
||
|
-1074395345 // NI Vision does not support the axis of symmetry you supplied.
|
||
|
#define ERR_FILE_FILENAME_NULL \
|
||
|
-1074395343 // You must pass a valid file name. Do not pass in NULL.
|
||
|
#define ERR_INVALID_SIZETYPE \
|
||
|
-1074395340 // NI Vision does not support the SizeType value you supplied.
|
||
|
#define ERR_UNKNOWN_ALGORITHM \
|
||
|
-1074395336 // You specified the dispatch status of an unknown algorithm.
|
||
|
#define ERR_DISPATCH_STATUS_CONFLICT \
|
||
|
-1074395335 // You are attempting to set the same algorithm to dispatch and
|
||
|
// to not dispatch. Remove one of the conflicting settings.
|
||
|
#define ERR_INVALID_CONVERSIONSTYLE \
|
||
|
-1074395334 // NI Vision does not support the Conversion Method value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_VERTICAL_TEXT_ALIGNMENT \
|
||
|
-1074395333 // NI Vision does not support the VerticalTextAlignment value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_COMPAREFUNCTION \
|
||
|
-1074395332 // NI Vision does not support the CompareFunction value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_BORDERMETHOD \
|
||
|
-1074395331 // NI Vision does not support the BorderMethod value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_BORDER_SIZE \
|
||
|
-1074395330 // Invalid border size. Acceptable values range from 0 to 50.
|
||
|
#define ERR_INVALID_OUTLINEMETHOD \
|
||
|
-1074395329 // NI Vision does not support the OutlineMethod value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_INTERPOLATIONMETHOD \
|
||
|
-1074395328 // NI Vision does not support the InterpolationMethod value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_SCALINGMODE \
|
||
|
-1074395327 // NI Vision does not support the ScalingMode value you supplied.
|
||
|
#define ERR_INVALID_DRAWMODE_FOR_LINE \
|
||
|
-1074395326 // imaqDrawLineOnImage does not support the DrawMode value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_DRAWMODE \
|
||
|
-1074395325 // NI Vision does not support the DrawMode value you supplied.
|
||
|
#define ERR_INVALID_SHAPEMODE \
|
||
|
-1074395324 // NI Vision does not support the ShapeMode value you supplied.
|
||
|
#define ERR_INVALID_FONTCOLOR \
|
||
|
-1074395323 // NI Vision does not support the FontColor value you supplied.
|
||
|
#define ERR_INVALID_TEXTALIGNMENT \
|
||
|
-1074395322 // NI Vision does not support the TextAlignment value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_MORPHOLOGYMETHOD \
|
||
|
-1074395321 // NI Vision does not support the MorphologyMethod value you
|
||
|
// supplied.
|
||
|
#define ERR_TEMPLATE_EMPTY -1074395320 // The template image is empty.
|
||
|
#define ERR_INVALID_SUBPIX_TYPE \
|
||
|
-1074395319 // NI Vision does not support the interpolation type you
|
||
|
// supplied.
|
||
|
#define ERR_INSF_POINTS \
|
||
|
-1074395318 // You supplied an insufficient number of points to perform this
|
||
|
// operation.
|
||
|
#define ERR_UNDEF_POINT \
|
||
|
-1074395317 // You specified a point that lies outside the image.
|
||
|
#define ERR_INVALID_KERNEL_CODE -1074395316 // Invalid kernel code.
|
||
|
#define ERR_INEFFICIENT_POINTS \
|
||
|
-1074395315 // You supplied an inefficient set of points to match the minimum
|
||
|
// score.
|
||
|
#define ERR_WRITE_FILE_NOT_SUPPORTED \
|
||
|
-1074395313 // Writing files is not supported on this device.
|
||
|
#define ERR_LCD_CALIBRATE \
|
||
|
-1074395312 // The input image does not seem to be a valid LCD or LED
|
||
|
// calibration image.
|
||
|
#define ERR_INVALID_COLOR_SPECTRUM \
|
||
|
-1074395311 // The color spectrum array you provided has an invalid number of
|
||
|
// elements or contains an element set to not-a-number (NaN).
|
||
|
#define ERR_INVALID_PALETTE_TYPE \
|
||
|
-1074395310 // NI Vision does not support the PaletteType value you supplied.
|
||
|
#define ERR_INVALID_WINDOW_THREAD_POLICY \
|
||
|
-1074395309 // NI Vision does not support the WindowThreadPolicy value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_COLORSENSITIVITY \
|
||
|
-1074395308 // NI Vision does not support the ColorSensitivity value you
|
||
|
// supplied.
|
||
|
#define ERR_PRECISION_NOT_GTR_THAN_0 \
|
||
|
-1074395307 // The precision parameter must be greater than 0.
|
||
|
#define ERR_INVALID_TOOL \
|
||
|
-1074395306 // NI Vision does not support the Tool value you supplied.
|
||
|
#define ERR_INVALID_REFERENCEMODE \
|
||
|
-1074395305 // NI Vision does not support the ReferenceMode value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_MATHTRANSFORMMETHOD \
|
||
|
-1074395304 // NI Vision does not support the MathTransformMethod value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_NUM_OF_CLASSES \
|
||
|
-1074395303 // Invalid number of classes for auto threshold. Acceptable
|
||
|
// values range from 2 to 256.
|
||
|
#define ERR_INVALID_THRESHOLDMETHOD \
|
||
|
-1074395302 // NI Vision does not support the threshold method value you
|
||
|
// supplied.
|
||
|
#define ERR_ROI_NOT_2_LINES \
|
||
|
-1074395301 // The ROI you passed into imaqGetMeterArc must consist of two
|
||
|
// lines.
|
||
|
#define ERR_INVALID_METERARCMODE \
|
||
|
-1074395300 // NI Vision does not support the MeterArcMode value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_COMPLEXPLANE \
|
||
|
-1074395299 // NI Vision does not support the ComplexPlane value you
|
||
|
// supplied.
|
||
|
#define ERR_COMPLEXPLANE_NOT_REAL_OR_IMAGINARY \
|
||
|
-1074395298 // You can perform this operation on a real or an imaginary
|
||
|
// ComplexPlane only.
|
||
|
#define ERR_INVALID_PARTICLEINFOMODE \
|
||
|
-1074395297 // NI Vision does not support the ParticleInfoMode value you
|
||
|
// supplied.
|
||
|
#define ERR_INVALID_BARCODETYPE \
|
||
|
-1074395296 // NI Vision does not support the BarcodeType value you supplied.
|
||
|
#define ERR_INVALID_INTERPOLATIONMETHOD_INTERPOLATEPOINTS \
|
||
|
-1074395295 // imaqInterpolatePoints does not support the InterpolationMethod
|
||
|
// value you supplied.
|
||
|
#define ERR_CONTOUR_INDEX_OUT_OF_RANGE \
|
||
|
-1074395294 // The contour index you supplied is larger than the number of
|
||
|
// contours in the ROI.
|
||
|
#define ERR_CONTOURID_NOT_FOUND \
|
||
|
-1074395293 // The supplied ContourID did not correlate to a contour inside
|
||
|
// the ROI.
|
||
|
#define ERR_POINTS_ARE_COLLINEAR \
|
||
|
-1074395292 // Do not supply collinear points for this operation.
|
||
|
#define ERR_SHAPEMATCH_BADIMAGEDATA \
|
||
|
-1074395291 // Shape Match requires the image to contain only pixel values of
|
||
|
// 0 or 1.
|
||
|
#define ERR_SHAPEMATCH_BADTEMPLATE \
|
||
|
-1074395290 // The template you supplied for ShapeMatch contains no shape
|
||
|
// information.
|
||
|
#define ERR_CONTAINER_CAPACITY_EXCEEDED_UINT_MAX \
|
||
|
-1074395289 // The operation would have exceeded the capacity of an internal
|
||
|
// container, which is limited to 4294967296 unique elements.
|
||
|
#define ERR_CONTAINER_CAPACITY_EXCEEDED_INT_MAX \
|
||
|
-1074395288 // The operation would have exceeded the capacity of an internal
|
||
|
// container, which is limited to 2147483648 unique elements.
|
||
|
#define ERR_INVALID_LINE \
|
||
|
-1074395287 // The line you provided contains two identical points, or one of
|
||
|
// the coordinate locations for the line is not a number (NaN).
|
||
|
#define ERR_INVALID_CONCENTRIC_RAKE_DIRECTION \
|
||
|
-1074395286 // Invalid concentric rake direction.
|
||
|
#define ERR_INVALID_SPOKE_DIRECTION -1074395285 // Invalid spoke direction.
|
||
|
#define ERR_INVALID_EDGE_PROCESS -1074395284 // Invalid edge process.
|
||
|
#define ERR_INVALID_RAKE_DIRECTION -1074395283 // Invalid rake direction.
|
||
|
#define ERR_CANT_DRAW_INTO_VIEWER \
|
||
|
-1074395282 // Unable to draw to viewer. You must have the latest version of
|
||
|
// the control.
|
||
|
#define ERR_IMAGE_SMALLER_THAN_BORDER \
|
||
|
-1074395281 // Your image must be larger than its border size for this
|
||
|
// operation.
|
||
|
#define ERR_ROI_NOT_RECT \
|
||
|
-1074395280 // The ROI must only have a single Rectangle contour.
|
||
|
#define ERR_ROI_NOT_POLYGON -1074395279 // ROI is not a polygon.
|
||
|
#define ERR_LCD_NOT_NUMERIC -1074395278 // LCD image is not a number.
|
||
|
#define ERR_BARCODE_CHECKSUM \
|
||
|
-1074395277 // The decoded barcode information did not pass the checksum
|
||
|
// test.
|
||
|
#define ERR_LINES_PARALLEL \
|
||
|
-1074395276 // You specified parallel lines for the meter ROI.
|
||
|
#define ERR_INVALID_BROWSER_IMAGE -1074395275 // Invalid browser image.
|
||
|
#define ERR_DIV_BY_ZERO -1074395270 // Cannot divide by zero.
|
||
|
#define ERR_NULL_POINTER -1074395269 // Null pointer.
|
||
|
#define ERR_LINEAR_COEFF \
|
||
|
-1074395268 // The linear equations are not independent.
|
||
|
#define ERR_COMPLEX_ROOT -1074395267 // The roots of the equation are complex.
|
||
|
#define ERR_BARCODE \
|
||
|
-1074395265 // The barcode does not match the type you specified.
|
||
|
#define ERR_LCD_NO_SEGMENTS -1074395263 // No lit segment.
|
||
|
#define ERR_LCD_BAD_MATCH -1074395262 // The LCD does not form a known digit.
|
||
|
#define ERR_GIP_RANGE \
|
||
|
-1074395261 // An internal error occurred while attempting to access an
|
||
|
// invalid coordinate on an image.
|
||
|
#define ERR_HEAP_TRASHED -1074395260 // An internal memory error occurred.
|
||
|
#define ERR_BAD_FILTER_WIDTH \
|
||
|
-1074395258 // The filter width must be odd for the Canny operator.
|
||
|
#define ERR_INVALID_EDGE_DIR \
|
||
|
-1074395257 // You supplied an invalid edge direction in the Canny operator.
|
||
|
#define ERR_EVEN_WINDOW_SIZE \
|
||
|
-1074395256 // The window size must be odd for the Canny operator.
|
||
|
#define ERR_INVALID_LEARN_MODE -1074395253 // Invalid learn mode.
|
||
|
#define ERR_LEARN_SETUP_DATA -1074395252 // Invalid learn setup data.
|
||
|
#define ERR_INVALID_MATCH_MODE -1074395251 // Invalid match mode.
|
||
|
#define ERR_MATCH_SETUP_DATA -1074395250 // Invalid match setup data.
|
||
|
#define ERR_ROTATION_ANGLE_RANGE_TOO_LARGE \
|
||
|
-1074395249 // At least one range in the array of rotation angle ranges
|
||
|
// exceeds 360 degrees.
|
||
|
#define ERR_TOO_MANY_ROTATION_ANGLE_RANGES \
|
||
|
-1074395248 // The array of rotation angle ranges contains too many ranges.
|
||
|
#define ERR_TEMPLATE_DESCRIPTOR -1074395247 // Invalid template descriptor.
|
||
|
#define ERR_TEMPLATE_DESCRIPTOR_1 -1074395246 // Invalid template descriptor.
|
||
|
#define ERR_TEMPLATE_DESCRIPTOR_2 -1074395245 // Invalid template descriptor.
|
||
|
#define ERR_TEMPLATE_DESCRIPTOR_3 -1074395244 // Invalid template descriptor.
|
||
|
#define ERR_TEMPLATE_DESCRIPTOR_4 \
|
||
|
-1074395243 // The template descriptor was created with a newer version of NI
|
||
|
// Vision. Upgrade to the latest version of NI Vision to use this
|
||
|
// template.
|
||
|
#define ERR_TEMPLATE_DESCRIPTOR_ROTATION \
|
||
|
-1074395242 // Invalid template descriptor.
|
||
|
#define ERR_TEMPLATE_DESCRIPTOR_NOROTATION \
|
||
|
-1074395241 // The template descriptor does not contain data required for
|
||
|
// rotation-invariant matching.
|
||
|
#define ERR_TEMPLATE_DESCRIPTOR_ROTATION_1 \
|
||
|
-1074395240 // Invalid template descriptor.
|
||
|
#define ERR_TEMPLATE_DESCRIPTOR_SHIFT \
|
||
|
-1074395239 // Invalid template descriptor.
|
||
|
#define ERR_TEMPLATE_DESCRIPTOR_NOSHIFT \
|
||
|
-1074395238 // The template descriptor does not contain data required for
|
||
|
// shift-invariant matching.
|
||
|
#define ERR_TEMPLATE_DESCRIPTOR_SHIFT_1 \
|
||
|
-1074395237 // Invalid template descriptor.
|
||
|
#define ERR_TEMPLATE_DESCRIPTOR_NOSCALE \
|
||
|
-1074395236 // The template descriptor does not contain data required for
|
||
|
// scale-invariant matching.
|
||
|
#define ERR_TEMPLATE_IMAGE_CONTRAST_TOO_LOW \
|
||
|
-1074395235 // The template image does not contain enough contrast.
|
||
|
#define ERR_TEMPLATE_IMAGE_TOO_SMALL \
|
||
|
-1074395234 // The template image is too small.
|
||
|
#define ERR_TEMPLATE_IMAGE_TOO_LARGE \
|
||
|
-1074395233 // The template image is too large.
|
||
|
#define ERR_TOO_MANY_OCR_SESSIONS \
|
||
|
-1074395214 // There are too many OCR sessions open. You must close a
|
||
|
// session before you can open another one.
|
||
|
#define ERR_OCR_TEMPLATE_WRONG_SIZE \
|
||
|
-1074395212 // The size of the template string must match the size of the
|
||
|
// string you are trying to correct.
|
||
|
#define ERR_OCR_BAD_TEXT_TEMPLATE \
|
||
|
-1074395211 // The supplied text template contains nonstandard characters
|
||
|
// that cannot be generated by OCR.
|
||
|
#define ERR_OCR_CANNOT_MATCH_TEXT_TEMPLATE \
|
||
|
-1074395210 // At least one character in the text template was of a lexical
|
||
|
// class that did not match the supplied character reports.
|
||
|
#define ERR_OCR_LIB_INIT \
|
||
|
-1074395203 // The OCR library cannot be initialized correctly.
|
||
|
#define ERR_OCR_LOAD_LIBRARY \
|
||
|
-1074395201 // There was a failure when loading one of the internal OCR
|
||
|
// engine or LabView libraries.
|
||
|
#define ERR_OCR_INVALID_PARAMETER \
|
||
|
-1074395200 // One of the parameters supplied to the OCR function that
|
||
|
// generated this error is invalid.
|
||
|
#define ERR_MARKER_INFORMATION_NOT_SUPPLIED \
|
||
|
-1074395199 // Marker image and points are not supplied
|
||
|
#define ERR_INCOMPATIBLE_MARKER_IMAGE_SIZE \
|
||
|
-1074395198 // Source Image and Marker Image should be of same size.
|
||
|
#define ERR_BOTH_MARKER_INPUTS_SUPPLIED \
|
||
|
-1074395197 // Both Marker Image and Points are supplied.
|
||
|
#define ERR_INVALID_MORPHOLOGICAL_OPERATION \
|
||
|
-1074395196 // Invalid Morphological Operation.
|
||
|
#define ERR_IMAGE_CONTAINS_NAN_VALUES \
|
||
|
-1074395195 // Float image contains NaN values
|
||
|
#define ERR_OVERLAY_EXTRAINFO_OPENING_NEW_VERSION \
|
||
|
-1074395194 // The overlay information you tried to open was created with a
|
||
|
// newer version of NI Vision. Upgrade to the latest version of
|
||
|
// NI Vision to read this file.
|
||
|
#define ERR_NO_CLAMP_FOUND \
|
||
|
-1074395193 // No valid clamp was found with the current configuration
|
||
|
#define ERR_NO_CLAMP_WITHIN_ANGLE_RANGE \
|
||
|
-1074395192 // Supplied angle range for clamp is insufficient
|
||
|
#define ERR_GHT_INVALID_USE_ALL_CURVES_VALUE \
|
||
|
-1074395188 // The use all curves advanced option specified during learn is
|
||
|
// not supported
|
||
|
#define ERR_INVALID_GAUSS_SIGMA_VALUE \
|
||
|
-1074395187 // The sigma value specified for the Gaussian filter is too
|
||
|
// small.
|
||
|
#define ERR_INVALID_GAUSS_FILTER_TYPE \
|
||
|
-1074395186 // The specified Gaussian filter type is not supported.
|
||
|
#define ERR_INVALID_CONTRAST_REVERSAL_MODE \
|
||
|
-1074395185 // The contrast reversal mode specified during matching is
|
||
|
// invalid.
|
||
|
#define ERR_INVALID_ROTATION_RANGE \
|
||
|
-1074395184 // Invalid roation angle range. The upper bound must be greater
|
||
|
// than or equal to the lower bound.
|
||
|
#define ERR_GHT_INVALID_MINIMUM_LEARN_ANGLE_VALUE \
|
||
|
-1074395183 // The minimum rotation angle value specifed during learning of
|
||
|
// the template is not supported.
|
||
|
#define ERR_GHT_INVALID_MAXIMUM_LEARN_ANGLE_VALUE \
|
||
|
-1074395182 // The maximum rotation angle value specifed during learning of
|
||
|
// the template is not supported.
|
||
|
#define ERR_GHT_INVALID_MAXIMUM_LEARN_SCALE_FACTOR \
|
||
|
-1074395181 // The maximum scale factor specifed during learning of the
|
||
|
// template is not supported.
|
||
|
#define ERR_GHT_INVALID_MINIMUM_LEARN_SCALE_FACTOR \
|
||
|
-1074395180 // The minimum scale factor specifed during learning of the
|
||
|
// template is not supported.
|
||
|
#define ERR_OCR_PREPROCESSING_FAILED \
|
||
|
-1074395179 // The OCR engine failed during the preprocessing stage.
|
||
|
#define ERR_OCR_RECOGNITION_FAILED \
|
||
|
-1074395178 // The OCR engine failed during the recognition stage.
|
||
|
#define ERR_OCR_BAD_USER_DICTIONARY \
|
||
|
-1074395175 // The provided filename is not valid user dictionary filename.
|
||
|
#define ERR_OCR_INVALID_AUTOORIENTMODE \
|
||
|
-1074395174 // NI Vision does not support the AutoOrientMode value you
|
||
|
// supplied.
|
||
|
#define ERR_OCR_INVALID_LANGUAGE \
|
||
|
-1074395173 // NI Vision does not support the Language value you supplied.
|
||
|
#define ERR_OCR_INVALID_CHARACTERSET \
|
||
|
-1074395172 // NI Vision does not support the CharacterSet value you
|
||
|
// supplied.
|
||
|
#define ERR_OCR_INI_FILE_NOT_FOUND \
|
||
|
-1074395171 // The system could not locate the initialization file required
|
||
|
// for OCR initialization.
|
||
|
#define ERR_OCR_INVALID_CHARACTERTYPE \
|
||
|
-1074395170 // NI Vision does not support the CharacterType value you
|
||
|
// supplied.
|
||
|
#define ERR_OCR_INVALID_RECOGNITIONMODE \
|
||
|
-1074395169 // NI Vision does not support the RecognitionMode value you
|
||
|
// supplied.
|
||
|
#define ERR_OCR_INVALID_AUTOCORRECTIONMODE \
|
||
|
-1074395168 // NI Vision does not support the AutoCorrectionMode value you
|
||
|
// supplied.
|
||
|
#define ERR_OCR_INVALID_OUTPUTDELIMITER \
|
||
|
-1074395167 // NI Vision does not support the OutputDelimiter value you
|
||
|
// supplied.
|
||
|
#define ERR_OCR_BIN_DIR_NOT_FOUND \
|
||
|
-1074395166 // The system could not locate the OCR binary directory required
|
||
|
// for OCR initialization.
|
||
|
#define ERR_OCR_WTS_DIR_NOT_FOUND \
|
||
|
-1074395165 // The system could not locate the OCR weights directory required
|
||
|
// for OCR initialization.
|
||
|
#define ERR_OCR_ADD_WORD_FAILED \
|
||
|
-1074395164 // The supplied word could not be added to the user dictionary.
|
||
|
#define ERR_OCR_INVALID_CHARACTERPREFERENCE \
|
||
|
-1074395163 // NI Vision does not support the CharacterPreference value you
|
||
|
// supplied.
|
||
|
#define ERR_OCR_INVALID_CORRECTIONMODE \
|
||
|
-1074395162 // NI Vision does not support the CorrectionMethod value you
|
||
|
// supplied.
|
||
|
#define ERR_OCR_INVALID_CORRECTIONLEVEL \
|
||
|
-1074395161 // NI Vision does not support the CorrectionLevel value you
|
||
|
// supplied.
|
||
|
#define ERR_OCR_INVALID_MAXPOINTSIZE \
|
||
|
-1074395160 // NI Vision does not support the maximum point size you
|
||
|
// supplied. Valid values range from 4 to 72.
|
||
|
#define ERR_OCR_INVALID_TOLERANCE \
|
||
|
-1074395159 // NI Vision does not support the tolerance value you supplied.
|
||
|
// Valid values are non-negative.
|
||
|
#define ERR_OCR_INVALID_CONTRASTMODE \
|
||
|
-1074395158 // NI Vision does not support the ContrastMode value you
|
||
|
// supplied.
|
||
|
#define ERR_OCR_SKEW_DETECT_FAILED \
|
||
|
-1074395156 // The OCR attempted to detected the text skew and failed.
|
||
|
#define ERR_OCR_ORIENT_DETECT_FAILED \
|
||
|
-1074395155 // The OCR attempted to detected the text orientation and failed.
|
||
|
#define ERR_FONT_FILE_FORMAT -1074395153 // Invalid font file format.
|
||
|
#define ERR_FONT_FILE_NOT_FOUND -1074395152 // Font file not found.
|
||
|
#define ERR_OCR_CORRECTION_FAILED \
|
||
|
-1074395151 // The OCR engine failed during the correction stage.
|
||
|
#define ERR_INVALID_ROUNDING_MODE \
|
||
|
-1074395150 // NI Vision does not support the RoundingMode value you
|
||
|
// supplied.
|
||
|
#define ERR_DUPLICATE_TRANSFORM_TYPE \
|
||
|
-1074395149 // Found a duplicate transform type in the properties array. Each
|
||
|
// properties array may only contain one behavior for each
|
||
|
// transform type.
|
||
|
#define ERR_OVERLAY_GROUP_NOT_FOUND -1074395148 // Overlay Group Not Found.
|
||
|
#define ERR_BARCODE_RSSLIMITED \
|
||
|
-1074395147 // The barcode is not a valid RSS Limited symbol
|
||
|
#define ERR_QR_DETECTION_VERSION \
|
||
|
-1074395146 // Couldn't determine the correct version of the QR code.
|
||
|
#define ERR_QR_INVALID_READ -1074395145 // Invalid read of the QR code.
|
||
|
#define ERR_QR_INVALID_BARCODE \
|
||
|
-1074395144 // The barcode that was read contains invalid parameters.
|
||
|
#define ERR_QR_DETECTION_MODE \
|
||
|
-1074395143 // The data stream that was demodulated could not be read because
|
||
|
// the mode was not detected.
|
||
|
#define ERR_QR_DETECTION_MODELTYPE \
|
||
|
-1074395142 // Couldn't determine the correct model of the QR code.
|
||
|
#define ERR_OCR_NO_TEXT_FOUND \
|
||
|
-1074395141 // The OCR engine could not find any text in the supplied region.
|
||
|
#define ERR_OCR_CHAR_REPORT_CORRUPTED \
|
||
|
-1074395140 // One of the character reports is no longer usable by the
|
||
|
// system.
|
||
|
#define ERR_IMAQ_QR_DIMENSION_INVALID -1074395139 // Invalid Dimensions.
|
||
|
#define ERR_OCR_REGION_TOO_SMALL \
|
||
|
-1074395138 // The OCR region provided was too small to have contained any
|
||
|
// characters.
|
||
|
#define _FIRST_ERR ERR_SYSTEM_ERROR
|
||
|
#define _LAST_ERR ERR_OCR_REGION_TOO_SMALL
|
||
|
|
||
|
//============================================================================
|
||
|
// Enumerated Types
|
||
|
//============================================================================
|
||
|
typedef enum PointSymbol_enum {
|
||
|
IMAQ_POINT_AS_PIXEL = 0, // A single pixel represents a point in the overlay.
|
||
|
IMAQ_POINT_AS_CROSS = 1, // A cross represents a point in the overlay.
|
||
|
IMAQ_POINT_USER_DEFINED =
|
||
|
2, // The pattern supplied by the user represents a point in the overlay.
|
||
|
IMAQ_POINT_SYMBOL_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} PointSymbol;
|
||
|
|
||
|
typedef enum MeasurementValue_enum {
|
||
|
IMAQ_AREA = 0, // Surface area of the particle in pixels.
|
||
|
IMAQ_AREA_CALIBRATED =
|
||
|
1, // Surface area of the particle in calibrated units.
|
||
|
IMAQ_NUM_HOLES = 2, // Number of holes in the particle.
|
||
|
IMAQ_AREA_OF_HOLES = 3, // Surface area of the holes in calibrated units.
|
||
|
IMAQ_TOTAL_AREA =
|
||
|
4, // Total surface area (holes and particle) in calibrated units.
|
||
|
IMAQ_IMAGE_AREA = 5, // Surface area of the entire image in calibrated units.
|
||
|
IMAQ_PARTICLE_TO_IMAGE = 6, // Ratio, expressed as a percentage, of the
|
||
|
// surface area of a particle in relation to the
|
||
|
// total area of the particle.
|
||
|
IMAQ_PARTICLE_TO_TOTAL = 7, // Ratio, expressed as a percentage, of the
|
||
|
// surface area of a particle in relation to the
|
||
|
// total area of the particle.
|
||
|
IMAQ_CENTER_MASS_X = 8, // X-coordinate of the center of mass.
|
||
|
IMAQ_CENTER_MASS_Y = 9, // Y-coordinate of the center of mass.
|
||
|
IMAQ_LEFT_COLUMN = 10, // Left edge of the bounding rectangle.
|
||
|
IMAQ_TOP_ROW = 11, // Top edge of the bounding rectangle.
|
||
|
IMAQ_RIGHT_COLUMN = 12, // Right edge of the bounding rectangle.
|
||
|
IMAQ_BOTTOM_ROW = 13, // Bottom edge of bounding rectangle.
|
||
|
IMAQ_WIDTH = 14, // Width of bounding rectangle in calibrated units.
|
||
|
IMAQ_HEIGHT = 15, // Height of bounding rectangle in calibrated units.
|
||
|
IMAQ_MAX_SEGMENT_LENGTH = 16, // Length of longest horizontal line segment.
|
||
|
IMAQ_MAX_SEGMENT_LEFT_COLUMN =
|
||
|
17, // Leftmost x-coordinate of longest horizontal line segment.
|
||
|
IMAQ_MAX_SEGMENT_TOP_ROW =
|
||
|
18, // Y-coordinate of longest horizontal line segment.
|
||
|
IMAQ_PERIMETER = 19, // Outer perimeter of the particle.
|
||
|
IMAQ_PERIMETER_OF_HOLES = 20, // Perimeter of all holes within the particle.
|
||
|
IMAQ_SIGMA_X = 21, // Sum of the particle pixels on the x-axis.
|
||
|
IMAQ_SIGMA_Y = 22, // Sum of the particle pixels on the y-axis.
|
||
|
IMAQ_SIGMA_XX = 23, // Sum of the particle pixels on the x-axis squared.
|
||
|
IMAQ_SIGMA_YY = 24, // Sum of the particle pixels on the y-axis squared.
|
||
|
IMAQ_SIGMA_XY = 25, // Sum of the particle pixels on the x-axis and y-axis.
|
||
|
IMAQ_PROJ_X = 26, // Projection corrected in X.
|
||
|
IMAQ_PROJ_Y = 27, // Projection corrected in Y.
|
||
|
IMAQ_INERTIA_XX = 28, // Inertia matrix coefficient in XX.
|
||
|
IMAQ_INERTIA_YY = 29, // Inertia matrix coefficient in YY.
|
||
|
IMAQ_INERTIA_XY = 30, // Inertia matrix coefficient in XY.
|
||
|
IMAQ_MEAN_H = 31, // Mean length of horizontal segments.
|
||
|
IMAQ_MEAN_V = 32, // Mean length of vertical segments.
|
||
|
IMAQ_MAX_INTERCEPT = 33, // Length of longest segment of the convex hull.
|
||
|
IMAQ_MEAN_INTERCEPT = 34, // Mean length of the chords in an object
|
||
|
// perpendicular to its max intercept.
|
||
|
IMAQ_ORIENTATION = 35, // The orientation based on the inertia of the pixels
|
||
|
// in the particle.
|
||
|
IMAQ_EQUIV_ELLIPSE_MINOR = 36, // Total length of the axis of the ellipse
|
||
|
// having the same area as the particle and a
|
||
|
// major axis equal to half the max intercept.
|
||
|
IMAQ_ELLIPSE_MAJOR = 37, // Total length of major axis having the same area
|
||
|
// and perimeter as the particle in calibrated
|
||
|
// units.
|
||
|
IMAQ_ELLIPSE_MINOR = 38, // Total length of minor axis having the same area
|
||
|
// and perimeter as the particle in calibrated
|
||
|
// units.
|
||
|
IMAQ_ELLIPSE_RATIO = 39, // Fraction of major axis to minor axis.
|
||
|
IMAQ_RECT_LONG_SIDE = 40, // Length of the long side of a rectangle having
|
||
|
// the same area and perimeter as the particle in
|
||
|
// calibrated units.
|
||
|
IMAQ_RECT_SHORT_SIDE = 41, // Length of the short side of a rectangle having
|
||
|
// the same area and perimeter as the particle in
|
||
|
// calibrated units.
|
||
|
IMAQ_RECT_RATIO =
|
||
|
42, // Ratio of rectangle long side to rectangle short side.
|
||
|
IMAQ_ELONGATION = 43, // Max intercept/mean perpendicular intercept.
|
||
|
IMAQ_COMPACTNESS = 44, // Particle area/(height x width).
|
||
|
IMAQ_HEYWOOD = 45, // Particle perimeter/perimeter of the circle having the
|
||
|
// same area as the particle.
|
||
|
IMAQ_TYPE_FACTOR = 46, // A complex factor relating the surface area to the
|
||
|
// moment of inertia.
|
||
|
IMAQ_HYDRAULIC = 47, // Particle area/particle perimeter.
|
||
|
IMAQ_WADDLE_DISK = 48, // Diameter of the disk having the same area as the
|
||
|
// particle in user units.
|
||
|
IMAQ_DIAGONAL = 49, // Diagonal of an equivalent rectangle in user units.
|
||
|
IMAQ_MEASUREMENT_VALUE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} MeasurementValue;
|
||
|
|
||
|
typedef enum ScalingMode_enum {
|
||
|
IMAQ_SCALE_LARGER =
|
||
|
0, // The function duplicates pixels to make the image larger.
|
||
|
IMAQ_SCALE_SMALLER =
|
||
|
1, // The function subsamples pixels to make the image smaller.
|
||
|
IMAQ_SCALING_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ScalingMode;
|
||
|
|
||
|
typedef enum ScalingMethod_enum {
|
||
|
IMAQ_SCALE_TO_PRESERVE_AREA = 0, // Correction functions scale the image such
|
||
|
// that the features in the corrected image
|
||
|
// have the same area as the features in the
|
||
|
// input image.
|
||
|
IMAQ_SCALE_TO_FIT = 1, // Correction functions scale the image such that the
|
||
|
// corrected image is the same size as the input
|
||
|
// image.
|
||
|
IMAQ_SCALING_METHOD_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ScalingMethod;
|
||
|
|
||
|
typedef enum ReferenceMode_enum {
|
||
|
IMAQ_COORD_X_Y =
|
||
|
0, // This method requires three elements in the points array.
|
||
|
IMAQ_COORD_ORIGIN_X =
|
||
|
1, // This method requires two elements in the points array.
|
||
|
IMAQ_REFERENCE_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ReferenceMode;
|
||
|
|
||
|
typedef enum RectOrientation_enum {
|
||
|
IMAQ_BASE_INSIDE = 0, // Specifies that the base of the rectangular image
|
||
|
// lies along the inside edge of the annulus.
|
||
|
IMAQ_BASE_OUTSIDE = 1, // Specifies that the base of the rectangular image
|
||
|
// lies along the outside edge of the annulus.
|
||
|
IMAQ_TEXT_ORIENTATION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} RectOrientation;
|
||
|
|
||
|
typedef enum ShapeMode_enum {
|
||
|
IMAQ_SHAPE_RECT = 1, // The function draws a rectangle.
|
||
|
IMAQ_SHAPE_OVAL = 2, // The function draws an oval.
|
||
|
IMAQ_SHAPE_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ShapeMode;
|
||
|
|
||
|
typedef enum PolarityType_enum {
|
||
|
IMAQ_EDGE_RISING = 1, // The edge is a rising edge.
|
||
|
IMAQ_EDGE_FALLING = -1, // The edge is a falling edge.
|
||
|
IMAQ_POLARITY_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} PolarityType;
|
||
|
|
||
|
typedef enum SizeType_enum {
|
||
|
IMAQ_KEEP_LARGE =
|
||
|
0, // The function keeps large particles remaining after the erosion.
|
||
|
IMAQ_KEEP_SMALL =
|
||
|
1, // The function keeps small particles eliminated by the erosion.
|
||
|
IMAQ_SIZE_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} SizeType;
|
||
|
|
||
|
typedef enum Plane3D_enum {
|
||
|
IMAQ_3D_REAL = 0, // The function shows the real part of complex images.
|
||
|
IMAQ_3D_IMAGINARY =
|
||
|
1, // The function shows the imaginary part of complex images.
|
||
|
IMAQ_3D_MAGNITUDE =
|
||
|
2, // The function shows the magnitude part of complex images.
|
||
|
IMAQ_3D_PHASE = 3, // The function shows the phase part of complex images.
|
||
|
IMAQ_PLANE_3D_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} Plane3D;
|
||
|
|
||
|
typedef enum PhotometricMode_enum {
|
||
|
IMAQ_WHITE_IS_ZERO =
|
||
|
0, // The function interprets zero-value pixels as white.
|
||
|
IMAQ_BLACK_IS_ZERO =
|
||
|
1, // The function interprets zero-value pixels as black.
|
||
|
IMAQ_PHOTOMETRIC_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} PhotometricMode;
|
||
|
|
||
|
typedef enum ParticleInfoMode_enum {
|
||
|
IMAQ_BASIC_INFO = 0, // The function returns only the following elements of
|
||
|
// each report: area, calibratedArea, boundingRect.
|
||
|
IMAQ_ALL_INFO =
|
||
|
1, // The function returns all the information about each particle.
|
||
|
IMAQ_PARTICLE_INFO_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ParticleInfoMode;
|
||
|
|
||
|
typedef enum OutlineMethod_enum {
|
||
|
IMAQ_EDGE_DIFFERENCE = 0, // The function uses a method that produces
|
||
|
// continuous contours by highlighting each pixel
|
||
|
// where an intensity variation occurs between
|
||
|
// itself and its three upper-left neighbors.
|
||
|
IMAQ_EDGE_GRADIENT = 1, // The function uses a method that outlines contours
|
||
|
// where an intensity variation occurs along the
|
||
|
// vertical axis.
|
||
|
IMAQ_EDGE_PREWITT = 2, // The function uses a method that extracts the outer
|
||
|
// contours of objects.
|
||
|
IMAQ_EDGE_ROBERTS = 3, // The function uses a method that outlines the
|
||
|
// contours that highlight pixels where an intensity
|
||
|
// variation occurs along the diagonal axes.
|
||
|
IMAQ_EDGE_SIGMA = 4, // The function uses a method that outlines contours and
|
||
|
// details by setting pixels to the mean value found in
|
||
|
// their neighborhood, if their deviation from this
|
||
|
// value is not significant.
|
||
|
IMAQ_EDGE_SOBEL = 5, // The function uses a method that extracts the outer
|
||
|
// contours of objects.
|
||
|
IMAQ_OUTLINE_METHOD_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} OutlineMethod;
|
||
|
|
||
|
typedef enum MorphologyMethod_enum {
|
||
|
IMAQ_AUTOM = 0, // The function uses a transformation that generates simpler
|
||
|
// particles that contain fewer details.
|
||
|
IMAQ_CLOSE = 1, // The function uses a transformation that fills tiny holes
|
||
|
// and smooths boundaries.
|
||
|
IMAQ_DILATE = 2, // The function uses a transformation that eliminates tiny
|
||
|
// holes isolated in particles and expands the contour of
|
||
|
// the particles according to the template defined by the
|
||
|
// structuring element.
|
||
|
IMAQ_ERODE = 3, // The function uses a transformation that eliminates pixels
|
||
|
// isolated in the background and erodes the contour of
|
||
|
// particles according to the template defined by the
|
||
|
// structuring element.
|
||
|
IMAQ_GRADIENT = 4, // The function uses a transformation that leaves only the
|
||
|
// pixels that would be added by the dilation process or
|
||
|
// eliminated by the erosion process.
|
||
|
IMAQ_GRADIENTOUT = 5, // The function uses a transformation that leaves only
|
||
|
// the pixels that would be added by the dilation
|
||
|
// process.
|
||
|
IMAQ_GRADIENTIN = 6, // The function uses a transformation that leaves only
|
||
|
// the pixels that would be eliminated by the erosion
|
||
|
// process.
|
||
|
IMAQ_HITMISS = 7, // The function uses a transformation that extracts each
|
||
|
// pixel located in a neighborhood exactly matching the
|
||
|
// template defined by the structuring element.
|
||
|
IMAQ_OPEN = 8, // The function uses a transformation that removes small
|
||
|
// particles and smooths boundaries.
|
||
|
IMAQ_PCLOSE = 9, // The function uses a transformation that fills tiny holes
|
||
|
// and smooths the inner contour of particles according to
|
||
|
// the template defined by the structuring element.
|
||
|
IMAQ_POPEN = 10, // The function uses a transformation that removes small
|
||
|
// particles and smooths the contour of particles according
|
||
|
// to the template defined by the structuring element.
|
||
|
IMAQ_THICK = 11, // The function uses a transformation that adds to an image
|
||
|
// those pixels located in a neighborhood that matches a
|
||
|
// template specified by the structuring element.
|
||
|
IMAQ_THIN = 12, // The function uses a transformation that eliminates pixels
|
||
|
// that are located in a neighborhood matching a template
|
||
|
// specified by the structuring element.
|
||
|
IMAQ_MORPHOLOGY_METHOD_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} MorphologyMethod;
|
||
|
|
||
|
typedef enum MeterArcMode_enum {
|
||
|
IMAQ_METER_ARC_ROI = 0, // The function uses the roi parameter and ignores
|
||
|
// the base, start, and end parameters.
|
||
|
IMAQ_METER_ARC_POINTS = 1, // The function uses the base,start, and end
|
||
|
// parameters and ignores the roi parameter.
|
||
|
IMAQ_METER_ARC_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} MeterArcMode;
|
||
|
|
||
|
typedef enum RakeDirection_enum {
|
||
|
IMAQ_LEFT_TO_RIGHT = 0, // The function searches from the left side of the
|
||
|
// search area to the right side of the search area.
|
||
|
IMAQ_RIGHT_TO_LEFT = 1, // The function searches from the right side of the
|
||
|
// search area to the left side of the search area.
|
||
|
IMAQ_TOP_TO_BOTTOM = 2, // The function searches from the top side of the
|
||
|
// search area to the bottom side of the search area.
|
||
|
IMAQ_BOTTOM_TO_TOP = 3, // The function searches from the bottom side of the
|
||
|
// search area to the top side of the search area.
|
||
|
IMAQ_RAKE_DIRECTION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} RakeDirection;
|
||
|
|
||
|
typedef enum TruncateMode_enum {
|
||
|
IMAQ_TRUNCATE_LOW = 0, // The function truncates low frequencies.
|
||
|
IMAQ_TRUNCATE_HIGH = 1, // The function truncates high frequencies.
|
||
|
IMAQ_TRUNCATE_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} TruncateMode;
|
||
|
|
||
|
typedef enum AttenuateMode_enum {
|
||
|
IMAQ_ATTENUATE_LOW = 0, // The function attenuates low frequencies.
|
||
|
IMAQ_ATTENUATE_HIGH = 1, // The function attenuates high frequencies.
|
||
|
IMAQ_ATTENUATE_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} AttenuateMode;
|
||
|
|
||
|
typedef enum WindowThreadPolicy_enum {
|
||
|
IMAQ_CALLING_THREAD = 0, // Using this policy, NI Vision creates windows in
|
||
|
// the thread that makes the first display function
|
||
|
// call for a given window number.
|
||
|
IMAQ_SEPARATE_THREAD = 1, // Using this policy, NI Vision creates windows in
|
||
|
// a separate thread and processes messages for the
|
||
|
// windows automatically.
|
||
|
IMAQ_WINDOW_THREAD_POLICY_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} WindowThreadPolicy;
|
||
|
|
||
|
typedef enum WindowOptions_enum {
|
||
|
IMAQ_WIND_RESIZABLE =
|
||
|
1, // When present, the user may resize the window interactively.
|
||
|
IMAQ_WIND_TITLEBAR =
|
||
|
2, // When present, the title bar on the window is visible.
|
||
|
IMAQ_WIND_CLOSEABLE = 4, // When present, the close box is available.
|
||
|
IMAQ_WIND_TOPMOST = 8, // When present, the window is always on top.
|
||
|
IMAQ_WINDOW_OPTIONS_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} WindowOptions;
|
||
|
|
||
|
typedef enum WindowEventType_enum {
|
||
|
IMAQ_NO_EVENT =
|
||
|
0, // No event occurred since the last call to imaqGetLastEvent().
|
||
|
IMAQ_CLICK_EVENT = 1, // The user clicked on a window.
|
||
|
IMAQ_DRAW_EVENT = 2, // The user drew an ROI in a window.
|
||
|
IMAQ_MOVE_EVENT = 3, // The user moved a window.
|
||
|
IMAQ_SIZE_EVENT = 4, // The user sized a window.
|
||
|
IMAQ_SCROLL_EVENT = 5, // The user scrolled a window.
|
||
|
IMAQ_ACTIVATE_EVENT = 6, // The user activated a window.
|
||
|
IMAQ_CLOSE_EVENT = 7, // The user closed a window.
|
||
|
IMAQ_DOUBLE_CLICK_EVENT = 8, // The user double-clicked in a window.
|
||
|
IMAQ_WINDOW_EVENT_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} WindowEventType;
|
||
|
|
||
|
typedef enum VisionInfoType_enum {
|
||
|
IMAQ_ANY_VISION_INFO = 0, // The function checks if any extra vision
|
||
|
// information is associated with the image.
|
||
|
IMAQ_PATTERN_MATCHING_INFO = 1, // The function checks if any pattern
|
||
|
// matching template information is
|
||
|
// associated with the image.
|
||
|
IMAQ_CALIBRATION_INFO = 2, // The function checks if any calibration
|
||
|
// information is associated with the image.
|
||
|
IMAQ_OVERLAY_INFO = 3, // The function checks if any overlay information is
|
||
|
// associated with the image.
|
||
|
IMAQ_VISION_INFO_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} VisionInfoType;
|
||
|
|
||
|
typedef enum SearchStrategy_enum {
|
||
|
IMAQ_CONSERVATIVE = 1, // Instructs the pattern matching algorithm to use the
|
||
|
// largest possible amount of information from the
|
||
|
// image at the expense of slowing down the speed of
|
||
|
// the algorithm.
|
||
|
IMAQ_BALANCED = 2, // Instructs the pattern matching algorithm to balance the
|
||
|
// amount of information from the image it uses with the
|
||
|
// speed of the algorithm.
|
||
|
IMAQ_AGGRESSIVE = 3, // Instructs the pattern matching algorithm to use a
|
||
|
// lower amount of information from the image, which
|
||
|
// allows the algorithm to run quickly but at the
|
||
|
// expense of accuracy.
|
||
|
IMAQ_VERY_AGGRESSIVE = 4, // Instructs the pattern matching algorithm to use
|
||
|
// the smallest possible amount of information from
|
||
|
// the image, which allows the algorithm to run at
|
||
|
// the highest speed possible but at the expense of
|
||
|
// accuracy.
|
||
|
IMAQ_SEARCH_STRATEGY_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} SearchStrategy;
|
||
|
|
||
|
typedef enum TwoEdgePolarityType_enum {
|
||
|
IMAQ_NONE = 0, // The function ignores the polarity of the edges.
|
||
|
IMAQ_RISING_FALLING = 1, // The polarity of the first edge is rising (dark to
|
||
|
// light) and the polarity of the second edge is
|
||
|
// falling (light to dark).
|
||
|
IMAQ_FALLING_RISING = 2, // The polarity of the first edge is falling (light
|
||
|
// to dark) and the polarity of the second edge is
|
||
|
// rising (dark to light).
|
||
|
IMAQ_RISING_RISING = 3, // The polarity of the first edge is rising (dark to
|
||
|
// light) and the polarity of the second edge is
|
||
|
// rising (dark to light).
|
||
|
IMAQ_FALLING_FALLING = 4, // The polarity of the first edge is falling (light
|
||
|
// to dark) and the polarity of the second edge is
|
||
|
// falling (light to dark).
|
||
|
IMAQ_TWO_EDGE_POLARITY_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} TwoEdgePolarityType;
|
||
|
|
||
|
typedef enum ObjectType_enum {
|
||
|
IMAQ_BRIGHT_OBJECTS = 0, // The function detects bright objects.
|
||
|
IMAQ_DARK_OBJECTS = 1, // The function detects dark objects.
|
||
|
IMAQ_OBJECT_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ObjectType;
|
||
|
|
||
|
typedef enum Tool_enum {
|
||
|
IMAQ_NO_TOOL = -1, // No tool is in the selected state.
|
||
|
IMAQ_SELECTION_TOOL =
|
||
|
0, // The selection tool selects an existing ROI in an image.
|
||
|
IMAQ_POINT_TOOL = 1, // The point tool draws a point on the image.
|
||
|
IMAQ_LINE_TOOL = 2, // The line tool draws a line on the image.
|
||
|
IMAQ_RECTANGLE_TOOL =
|
||
|
3, // The rectangle tool draws a rectangle on the image.
|
||
|
IMAQ_OVAL_TOOL = 4, // The oval tool draws an oval on the image.
|
||
|
IMAQ_POLYGON_TOOL = 5, // The polygon tool draws a polygon on the image.
|
||
|
IMAQ_CLOSED_FREEHAND_TOOL =
|
||
|
6, // The closed freehand tool draws closed freehand shapes on the image.
|
||
|
IMAQ_ANNULUS_TOOL = 7, // The annulus tool draws annuluses on the image.
|
||
|
IMAQ_ZOOM_TOOL = 8, // The zoom tool controls the zoom of an image.
|
||
|
IMAQ_PAN_TOOL = 9, // The pan tool shifts the view of the image.
|
||
|
IMAQ_POLYLINE_TOOL = 10, // The polyline tool draws a series of connected
|
||
|
// straight lines on the image.
|
||
|
IMAQ_FREEHAND_TOOL =
|
||
|
11, // The freehand tool draws freehand lines on the image.
|
||
|
IMAQ_ROTATED_RECT_TOOL =
|
||
|
12, // The rotated rectangle tool draws rotated rectangles on the image.
|
||
|
IMAQ_ZOOM_OUT_TOOL = 13, // The zoom out tool controls the zoom of an image.
|
||
|
IMAQ_TOOL_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} Tool;
|
||
|
|
||
|
typedef enum TIFFCompressionType_enum {
|
||
|
IMAQ_NO_COMPRESSION = 0, // The function does not compress the TIFF file.
|
||
|
IMAQ_JPEG = 1, // The function uses the JPEG compression algorithm to
|
||
|
// compress the TIFF file.
|
||
|
IMAQ_RUN_LENGTH = 2, // The function uses a run length compression algorithm
|
||
|
// to compress the TIFF file.
|
||
|
IMAQ_ZIP = 3, // The function uses the ZIP compression algorithm to compress
|
||
|
// the TIFF file.
|
||
|
IMAQ_TIFF_COMPRESSION_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} TIFFCompressionType;
|
||
|
|
||
|
typedef enum ThresholdMethod_enum {
|
||
|
IMAQ_THRESH_CLUSTERING = 0, // The function uses a method that sorts the
|
||
|
// histogram of the image within a discrete
|
||
|
// number of classes corresponding to the number
|
||
|
// of phases perceived in an image.
|
||
|
IMAQ_THRESH_ENTROPY = 1, // The function uses a method that is best for
|
||
|
// detecting particles that are present in minuscule
|
||
|
// proportions on the image.
|
||
|
IMAQ_THRESH_METRIC = 2, // The function uses a method that is well-suited for
|
||
|
// images in which classes are not too
|
||
|
// disproportionate.
|
||
|
IMAQ_THRESH_MOMENTS = 3, // The function uses a method that is suited for
|
||
|
// images that have poor contrast.
|
||
|
IMAQ_THRESH_INTERCLASS = 4, // The function uses a method that is well-suited
|
||
|
// for images in which classes have well
|
||
|
// separated pixel value distributions.
|
||
|
IMAQ_THRESHOLD_METHOD_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ThresholdMethod;
|
||
|
|
||
|
typedef enum TextAlignment_enum {
|
||
|
IMAQ_LEFT = 0, // Left aligns the text at the reference point.
|
||
|
IMAQ_CENTER = 1, // Centers the text around the reference point.
|
||
|
IMAQ_RIGHT = 2, // Right aligns the text at the reference point.
|
||
|
IMAQ_TEXT_ALIGNMENT_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} TextAlignment;
|
||
|
|
||
|
typedef enum SpokeDirection_enum {
|
||
|
IMAQ_OUTSIDE_TO_INSIDE = 0, // The function searches from the outside of the
|
||
|
// search area to the inside of the search area.
|
||
|
IMAQ_INSIDE_TO_OUTSIDE = 1, // The function searches from the inside of the
|
||
|
// search area to the outside of the search area.
|
||
|
IMAQ_SPOKE_DIRECTION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} SpokeDirection;
|
||
|
|
||
|
typedef enum SkeletonMethod_enum {
|
||
|
IMAQ_SKELETON_L =
|
||
|
0, // Uses an L-shaped structuring element in the skeleton function.
|
||
|
IMAQ_SKELETON_M =
|
||
|
1, // Uses an M-shaped structuring element in the skeleton function.
|
||
|
IMAQ_SKELETON_INVERSE = 2, // Uses an L-shaped structuring element on an
|
||
|
// inverse of the image in the skeleton function.
|
||
|
IMAQ_SKELETON_METHOD_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} SkeletonMethod;
|
||
|
|
||
|
typedef enum VerticalTextAlignment_enum {
|
||
|
IMAQ_BOTTOM = 0, // Aligns the bottom of the text at the reference point.
|
||
|
IMAQ_TOP = 1, // Aligns the top of the text at the reference point.
|
||
|
IMAQ_BASELINE = 2, // Aligns the baseline of the text at the reference point.
|
||
|
IMAQ_VERTICAL_TEXT_ALIGNMENT_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} VerticalTextAlignment;
|
||
|
|
||
|
typedef enum CalibrationROI_enum {
|
||
|
IMAQ_FULL_IMAGE = 0, // The correction function corrects the whole image,
|
||
|
// regardless of the user-defined or calibration-defined
|
||
|
// ROIs.
|
||
|
IMAQ_CALIBRATION_ROI = 1, // The correction function corrects the area
|
||
|
// defined by the calibration ROI.
|
||
|
IMAQ_USER_ROI = 2, // The correction function corrects the area defined by
|
||
|
// the user-defined ROI.
|
||
|
IMAQ_CALIBRATION_AND_USER_ROI =
|
||
|
3, // The correction function corrects the area defined by the
|
||
|
// intersection of the user-defined ROI and the calibration ROI.
|
||
|
IMAQ_CALIBRATION_OR_USER_ROI =
|
||
|
4, // The correction function corrects the area defined by the union of
|
||
|
// the user-defined ROI and the calibration ROI.
|
||
|
IMAQ_CALIBRATION_ROI_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} CalibrationROI;
|
||
|
|
||
|
typedef enum ContourType_enum {
|
||
|
IMAQ_EMPTY_CONTOUR = 0, // The contour is empty.
|
||
|
IMAQ_POINT = 1, // The contour represents a point.
|
||
|
IMAQ_LINE = 2, // The contour represents a line.
|
||
|
IMAQ_RECT = 3, // The contour represents a rectangle.
|
||
|
IMAQ_OVAL = 4, // The contour represents an oval.
|
||
|
IMAQ_CLOSED_CONTOUR = 5, // The contour represents a series of connected
|
||
|
// points where the last point connects to the
|
||
|
// first.
|
||
|
IMAQ_OPEN_CONTOUR = 6, // The contour represents a series of connected points
|
||
|
// where the last point does not connect to the first.
|
||
|
IMAQ_ANNULUS = 7, // The contour represents an annulus.
|
||
|
IMAQ_ROTATED_RECT = 8, // The contour represents a rotated rectangle.
|
||
|
IMAQ_CONTOUR_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ContourType;
|
||
|
|
||
|
typedef enum MathTransformMethod_enum {
|
||
|
IMAQ_TRANSFORM_LINEAR = 0, // The function uses linear remapping.
|
||
|
IMAQ_TRANSFORM_LOG = 1, // The function uses logarithmic remapping.
|
||
|
IMAQ_TRANSFORM_EXP = 2, // The function uses exponential remapping.
|
||
|
IMAQ_TRANSFORM_SQR = 3, // The function uses square remapping.
|
||
|
IMAQ_TRANSFORM_SQRT = 4, // The function uses square root remapping.
|
||
|
IMAQ_TRANSFORM_POWX = 5, // The function uses power X remapping.
|
||
|
IMAQ_TRANSFORM_POW1X = 6, // The function uses power 1/X remapping.
|
||
|
IMAQ_MATH_TRANSFORM_METHOD_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} MathTransformMethod;
|
||
|
|
||
|
typedef enum ComplexPlane_enum {
|
||
|
IMAQ_REAL =
|
||
|
0, // The function operates on the real plane of the complex image.
|
||
|
IMAQ_IMAGINARY =
|
||
|
1, // The function operates on the imaginary plane of the complex image.
|
||
|
IMAQ_MAGNITUDE =
|
||
|
2, // The function operates on the magnitude plane of the complex image.
|
||
|
IMAQ_PHASE =
|
||
|
3, // The function operates on the phase plane of the complex image.
|
||
|
IMAQ_COMPLEX_PLANE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ComplexPlane;
|
||
|
|
||
|
typedef enum PaletteType_enum {
|
||
|
IMAQ_PALETTE_GRAY = 0, // The function uses a palette that has a gradual
|
||
|
// gray-level variation from black to white.
|
||
|
IMAQ_PALETTE_BINARY = 1, // The function uses a palette of 16 cycles of 16
|
||
|
// different colors that is useful with binary
|
||
|
// images.
|
||
|
IMAQ_PALETTE_GRADIENT = 2, // The function uses a palette that has a
|
||
|
// gradation from red to white with a prominent
|
||
|
// range of light blue in the upper value range.
|
||
|
IMAQ_PALETTE_RAINBOW = 3, // The function uses a palette that has a gradation
|
||
|
// from blue to red with a prominent range of
|
||
|
// greens in the middle value range.
|
||
|
IMAQ_PALETTE_TEMPERATURE = 4, // The function uses a palette that has a
|
||
|
// gradation from light brown to dark brown.
|
||
|
IMAQ_PALETTE_USER = 5, // The function uses a palette defined by the user.
|
||
|
IMAQ_PALETTE_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} PaletteType;
|
||
|
|
||
|
typedef enum ColorSensitivity_enum {
|
||
|
IMAQ_SENSITIVITY_LOW = 0, // Instructs the algorithm to divide the hue plane
|
||
|
// into a low number of sectors, allowing for
|
||
|
// simple color analysis.
|
||
|
IMAQ_SENSITIVITY_MED = 1, // Instructs the algorithm to divide the hue plane
|
||
|
// into a medium number of sectors, allowing for
|
||
|
// color analysis that balances sensitivity and
|
||
|
// complexity.
|
||
|
IMAQ_SENSITIVITY_HIGH = 2, // Instructs the algorithm to divide the hue plane
|
||
|
// into a high number of sectors, allowing for
|
||
|
// complex, sensitive color analysis.
|
||
|
IMAQ_COLOR_SENSITIVITY_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ColorSensitivity;
|
||
|
|
||
|
typedef enum ColorMode_enum {
|
||
|
IMAQ_RGB =
|
||
|
0, // The function operates in the RGB (Red, Blue, Green) color space.
|
||
|
IMAQ_HSL = 1, // The function operates in the HSL (Hue, Saturation,
|
||
|
// Luminance) color space.
|
||
|
IMAQ_HSV = 2, // The function operates in the HSV (Hue, Saturation, Value)
|
||
|
// color space.
|
||
|
IMAQ_HSI = 3, // The function operates in the HSI (Hue, Saturation,
|
||
|
// Intensity) color space.
|
||
|
IMAQ_CIE = 4, // The function operates in the CIE L*a*b* color space.
|
||
|
IMAQ_CIEXYZ = 5, // The function operates in the CIE XYZ color space.
|
||
|
IMAQ_COLOR_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ColorMode;
|
||
|
|
||
|
typedef enum DetectionMode_enum {
|
||
|
IMAQ_DETECT_PEAKS = 0, // The function detects peaks.
|
||
|
IMAQ_DETECT_VALLEYS = 1, // The function detects valleys.
|
||
|
IMAQ_DETECTION_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} DetectionMode;
|
||
|
|
||
|
typedef enum CalibrationUnit_enum {
|
||
|
IMAQ_UNDEFINED = 0, // The image does not have a defined unit of measurement.
|
||
|
IMAQ_ANGSTROM = 1, // The unit of measure for the image is angstroms.
|
||
|
IMAQ_MICROMETER = 2, // The unit of measure for the image is micrometers.
|
||
|
IMAQ_MILLIMETER = 3, // The unit of measure for the image is millimeters.
|
||
|
IMAQ_CENTIMETER = 4, // The unit of measure for the image is centimeters.
|
||
|
IMAQ_METER = 5, // The unit of measure for the image is meters.
|
||
|
IMAQ_KILOMETER = 6, // The unit of measure for the image is kilometers.
|
||
|
IMAQ_MICROINCH = 7, // The unit of measure for the image is microinches.
|
||
|
IMAQ_INCH = 8, // The unit of measure for the image is inches.
|
||
|
IMAQ_FOOT = 9, // The unit of measure for the image is feet.
|
||
|
IMAQ_NAUTICMILE = 10, // The unit of measure for the image is nautical miles.
|
||
|
IMAQ_GROUNDMILE = 11, // The unit of measure for the image is ground miles.
|
||
|
IMAQ_STEP = 12, // The unit of measure for the image is steps.
|
||
|
IMAQ_CALIBRATION_UNIT_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} CalibrationUnit;
|
||
|
|
||
|
typedef enum ConcentricRakeDirection_enum {
|
||
|
IMAQ_COUNTER_CLOCKWISE = 0, // The function searches the search area in a
|
||
|
// counter-clockwise direction.
|
||
|
IMAQ_CLOCKWISE =
|
||
|
1, // The function searches the search area in a clockwise direction.
|
||
|
IMAQ_CONCENTRIC_RAKE_DIRECTION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ConcentricRakeDirection;
|
||
|
|
||
|
typedef enum CalibrationMode_enum {
|
||
|
IMAQ_PERSPECTIVE = 0, // Functions correct for distortion caused by the
|
||
|
// camera's perspective.
|
||
|
IMAQ_NONLINEAR =
|
||
|
1, // Functions correct for distortion caused by the camera's lens.
|
||
|
IMAQ_SIMPLE_CALIBRATION = 2, // Functions do not correct for distortion.
|
||
|
IMAQ_CORRECTED_IMAGE = 3, // The image is already corrected.
|
||
|
IMAQ_CALIBRATION_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} CalibrationMode;
|
||
|
|
||
|
typedef enum BrowserLocation_enum {
|
||
|
IMAQ_INSERT_FIRST_FREE =
|
||
|
0, // Inserts the thumbnail in the first available cell.
|
||
|
IMAQ_INSERT_END = 1, // Inserts the thumbnail after the last occupied cell.
|
||
|
IMAQ_BROWSER_LOCATION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} BrowserLocation;
|
||
|
|
||
|
typedef enum BrowserFrameStyle_enum {
|
||
|
IMAQ_RAISED_FRAME = 0, // Each thumbnail has a raised frame.
|
||
|
IMAQ_BEVELLED_FRAME = 1, // Each thumbnail has a beveled frame.
|
||
|
IMAQ_OUTLINE_FRAME = 2, // Each thumbnail has an outlined frame.
|
||
|
IMAQ_HIDDEN_FRAME = 3, // Each thumbnail has a hidden frame.
|
||
|
IMAQ_STEP_FRAME = 4, // Each thumbnail has a stepped frame.
|
||
|
IMAQ_RAISED_OUTLINE_FRAME =
|
||
|
5, // Each thumbnail has a raised, outlined frame.
|
||
|
IMAQ_BROWSER_FRAME_STYLE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} BrowserFrameStyle;
|
||
|
|
||
|
typedef enum BorderMethod_enum {
|
||
|
IMAQ_BORDER_MIRROR =
|
||
|
0, // Symmetrically copies pixel values from the image into the border.
|
||
|
IMAQ_BORDER_COPY = 1, // Copies the value of the pixel closest to the edge of
|
||
|
// the image into the border.
|
||
|
IMAQ_BORDER_CLEAR = 2, // Sets all pixels in the border to 0.
|
||
|
IMAQ_BORDER_METHOD_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} BorderMethod;
|
||
|
|
||
|
typedef enum BarcodeType_enum {
|
||
|
IMAQ_INVALID = -1, // The barcode is not of a type known by NI Vision.
|
||
|
IMAQ_CODABAR = 1, // The barcode is of type Codabar.
|
||
|
IMAQ_CODE39 = 2, // The barcode is of type Code 39.
|
||
|
IMAQ_CODE93 = 4, // The barcode is of type Code 93.
|
||
|
IMAQ_CODE128 = 8, // The barcode is of type Code 128.
|
||
|
IMAQ_EAN8 = 16, // The barcode is of type EAN 8.
|
||
|
IMAQ_EAN13 = 32, // The barcode is of type EAN 13.
|
||
|
IMAQ_I2_OF_5 = 64, // The barcode is of type Code 25.
|
||
|
IMAQ_MSI = 128, // The barcode is of type MSI code.
|
||
|
IMAQ_UPCA = 256, // The barcode is of type UPC A.
|
||
|
IMAQ_PHARMACODE = 512, // The barcode is of type Pharmacode.
|
||
|
IMAQ_RSS_LIMITED = 1024, // The barcode is of type RSS Limited.
|
||
|
IMAQ_BARCODE_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} BarcodeType;
|
||
|
|
||
|
typedef enum AxisOrientation_enum {
|
||
|
IMAQ_DIRECT = 0, // The y-axis direction corresponds to the y-axis direction
|
||
|
// of the Cartesian coordinate system.
|
||
|
IMAQ_INDIRECT = 1, // The y-axis direction corresponds to the y-axis
|
||
|
// direction of an image.
|
||
|
IMAQ_AXIS_ORIENTATION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} AxisOrientation;
|
||
|
|
||
|
typedef enum ColorIgnoreMode_enum {
|
||
|
IMAQ_IGNORE_NONE =
|
||
|
0, // Specifies that the function does not ignore any pixels.
|
||
|
IMAQ_IGNORE_BLACK = 1, // Specifies that the function ignores black pixels.
|
||
|
IMAQ_IGNORE_WHITE = 2, // Specifies that the function ignores white pixels.
|
||
|
IMAQ_IGNORE_BLACK_AND_WHITE =
|
||
|
3, // Specifies that the function ignores black pixels and white pixels.
|
||
|
IMAQ_BLACK_WHITE_IGNORE_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ColorIgnoreMode;
|
||
|
|
||
|
typedef enum LevelType_enum {
|
||
|
IMAQ_ABSOLUTE = 0, // The function evaluates the threshold and hysteresis
|
||
|
// values as absolute values.
|
||
|
IMAQ_RELATIVE = 1, // The function evaluates the threshold and hysteresis
|
||
|
// values relative to the dynamic range of the given path.
|
||
|
IMAQ_LEVEL_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} LevelType;
|
||
|
|
||
|
typedef enum MatchingMode_enum {
|
||
|
IMAQ_MATCH_SHIFT_INVARIANT = 1, // Searches for occurrences of the template
|
||
|
// image anywhere in the searchRect, assuming
|
||
|
// that the pattern is not rotated more than
|
||
|
// plus or minus 4 degrees.
|
||
|
IMAQ_MATCH_ROTATION_INVARIANT = 2, // Searches for occurrences of the pattern
|
||
|
// in the image with no restriction on the
|
||
|
// rotation of the pattern.
|
||
|
IMAQ_MATCHING_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} MatchingMode;
|
||
|
|
||
|
typedef enum MappingMethod_enum {
|
||
|
IMAQ_FULL_DYNAMIC = 0, //(Obsolete) When the image bit depth is 0, the
|
||
|
//function maps the full dynamic range of the 16-bit
|
||
|
//image to an 8-bit scale.
|
||
|
IMAQ_DOWNSHIFT = 1, //(Obsolete) When the image bit depth is 0, the function
|
||
|
//shifts the 16-bit image pixels to the right the number
|
||
|
//of times specified by the shiftCount element of the
|
||
|
//DisplayMapping structure.
|
||
|
IMAQ_RANGE = 2, //(Obsolete) When the image bit depth is 0, the function maps
|
||
|
//the pixel values in the range specified by the minimumValue
|
||
|
//and maximumValue elements of the DisplayMapping structure
|
||
|
//to an 8-bit scale.
|
||
|
IMAQ_90_PCT_DYNAMIC =
|
||
|
3, //(Obsolete) When the image bit depth to 0, the function maps the
|
||
|
//dynamic range containing the middle 90 percent of the cumulated
|
||
|
//histogram of the image to an 8-bit (256 grayscale values) scale.
|
||
|
IMAQ_PERCENT_RANGE = 4, //(Obsolete) When the image bit depth is 0, the
|
||
|
//function maps the pixel values in the relative
|
||
|
//percentage range (0 to 100) of the cumulated
|
||
|
//histogram specified by minimumValue and
|
||
|
//maximumValue to an 8-bit scale.
|
||
|
IMAQ_DEFAULT_MAPPING =
|
||
|
10, // If the bit depth is 0, the function maps the 16-bit image to 8
|
||
|
// bits by following the IMAQ_FULL_DYNAMIC_ALWAYS behavior;
|
||
|
// otherwise, the function shifts the image data to the right
|
||
|
// according to the IMAQ_MOST_SIGNIFICANT behavior.
|
||
|
IMAQ_MOST_SIGNIFICANT = 11, // The function shifts the 16-bit image pixels to
|
||
|
// the right until the 8 most significant bits of
|
||
|
// the image data are remaining.
|
||
|
IMAQ_FULL_DYNAMIC_ALWAYS = 12, // The function maps the full dynamic range of
|
||
|
// the 16-bit image to an 8-bit scale.
|
||
|
IMAQ_DOWNSHIFT_ALWAYS = 13, // The function shifts the 16-bit image pixels to
|
||
|
// the right the number of times specified by the
|
||
|
// shiftCount element of the DisplayMapping
|
||
|
// structure.
|
||
|
IMAQ_RANGE_ALWAYS = 14, // The function maps the pixel values in the range
|
||
|
// specified by the minimumValue and maximumValue
|
||
|
// elements of the DisplayMapping structure to an
|
||
|
// 8-bit scale.
|
||
|
IMAQ_90_PCT_DYNAMIC_ALWAYS = 15, // The function maps the dynamic range
|
||
|
// containing the middle 90 percent of the
|
||
|
// cumulated histogram of the image to an
|
||
|
// 8-bit (256 grayscale values) scale.
|
||
|
IMAQ_PERCENT_RANGE_ALWAYS =
|
||
|
16, // The function maps the pixel values in the relative percentage
|
||
|
// range (0 to 100) of the cumulated histogram specified by
|
||
|
// minimumValue and maximumValue to an 8-bit scale.
|
||
|
IMAQ_MAPPING_METHOD_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} MappingMethod;
|
||
|
|
||
|
typedef enum ComparisonFunction_enum {
|
||
|
IMAQ_CLEAR_LESS = 0, // The comparison is true if the source pixel value is
|
||
|
// less than the comparison image pixel value.
|
||
|
IMAQ_CLEAR_LESS_OR_EQUAL = 1, // The comparison is true if the source pixel
|
||
|
// value is less than or equal to the
|
||
|
// comparison image pixel value.
|
||
|
IMAQ_CLEAR_EQUAL = 2, // The comparison is true if the source pixel value is
|
||
|
// equal to the comparison image pixel value.
|
||
|
IMAQ_CLEAR_GREATER_OR_EQUAL = 3, // The comparison is true if the source
|
||
|
// pixel value is greater than or equal to
|
||
|
// the comparison image pixel value.
|
||
|
IMAQ_CLEAR_GREATER = 4, // The comparison is true if the source pixel value
|
||
|
// is greater than the comparison image pixel value.
|
||
|
IMAQ_COMPARE_FUNCTION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ComparisonFunction;
|
||
|
|
||
|
typedef enum LineGaugeMethod_enum {
|
||
|
IMAQ_EDGE_TO_EDGE = 0, // Measures from the first edge on the line to the
|
||
|
// last edge on the line.
|
||
|
IMAQ_EDGE_TO_POINT = 1, // Measures from the first edge on the line to the
|
||
|
// end point of the line.
|
||
|
IMAQ_POINT_TO_EDGE = 2, // Measures from the start point of the line to the
|
||
|
// first edge on the line.
|
||
|
IMAQ_POINT_TO_POINT = 3, // Measures from the start point of the line to the
|
||
|
// end point of the line.
|
||
|
IMAQ_LINE_GAUGE_METHOD_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} LineGaugeMethod;
|
||
|
|
||
|
typedef enum Direction3D_enum {
|
||
|
IMAQ_3D_NW = 0, // The viewing angle for the 3D image is from the northwest.
|
||
|
IMAQ_3D_SW = 1, // The viewing angle for the 3D image is from the southwest.
|
||
|
IMAQ_3D_SE = 2, // The viewing angle for the 3D image is from the southeast.
|
||
|
IMAQ_3D_NE = 3, // The viewing angle for the 3D image is from the northeast.
|
||
|
IMAQ_DIRECTION_3D_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} Direction3D;
|
||
|
|
||
|
typedef enum LearningMode_enum {
|
||
|
IMAQ_LEARN_ALL = 0, // The function extracts information for shift- and
|
||
|
// rotation-invariant matching.
|
||
|
IMAQ_LEARN_SHIFT_INFORMATION =
|
||
|
1, // The function extracts information for shift-invariant matching.
|
||
|
IMAQ_LEARN_ROTATION_INFORMATION =
|
||
|
2, // The function extracts information for rotation-invariant matching.
|
||
|
IMAQ_LEARNING_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} LearningMode;
|
||
|
|
||
|
typedef enum KernelFamily_enum {
|
||
|
IMAQ_GRADIENT_FAMILY = 0, // The kernel is in the gradient family.
|
||
|
IMAQ_LAPLACIAN_FAMILY = 1, // The kernel is in the Laplacian family.
|
||
|
IMAQ_SMOOTHING_FAMILY = 2, // The kernel is in the smoothing family.
|
||
|
IMAQ_GAUSSIAN_FAMILY = 3, // The kernel is in the Gaussian family.
|
||
|
IMAQ_KERNEL_FAMILY_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} KernelFamily;
|
||
|
|
||
|
typedef enum InterpolationMethod_enum {
|
||
|
IMAQ_ZERO_ORDER = 0, // The function uses an interpolation method that
|
||
|
// interpolates new pixel values using the nearest valid
|
||
|
// neighboring pixel.
|
||
|
IMAQ_BILINEAR = 1, // The function uses an interpolation method that
|
||
|
// interpolates new pixel values using a bidirectional
|
||
|
// average of the neighboring pixels.
|
||
|
IMAQ_QUADRATIC = 2, // The function uses an interpolation method that
|
||
|
// interpolates new pixel values using a quadratic
|
||
|
// approximating polynomial.
|
||
|
IMAQ_CUBIC_SPLINE = 3, // The function uses an interpolation method that
|
||
|
// interpolates new pixel values by fitting them to a
|
||
|
// cubic spline curve, where the curve is based on
|
||
|
// known pixel values from the image.
|
||
|
IMAQ_BILINEAR_FIXED = 4, // The function uses an interpolation method that
|
||
|
// interpolates new pixel values using a
|
||
|
// bidirectional average of the neighboring pixels.
|
||
|
IMAQ_INTERPOLATION_METHOD_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} InterpolationMethod;
|
||
|
|
||
|
typedef enum ImageType_enum {
|
||
|
IMAQ_IMAGE_U8 = 0, // The image type is 8-bit unsigned integer grayscale.
|
||
|
IMAQ_IMAGE_U16 = 7, // The image type is 16-bit unsigned integer grayscale.
|
||
|
IMAQ_IMAGE_I16 = 1, // The image type is 16-bit signed integer grayscale.
|
||
|
IMAQ_IMAGE_SGL = 2, // The image type is 32-bit floating-point grayscale.
|
||
|
IMAQ_IMAGE_COMPLEX = 3, // The image type is complex.
|
||
|
IMAQ_IMAGE_RGB = 4, // The image type is RGB color.
|
||
|
IMAQ_IMAGE_HSL = 5, // The image type is HSL color.
|
||
|
IMAQ_IMAGE_RGB_U64 = 6, // The image type is 64-bit unsigned RGB color.
|
||
|
IMAQ_IMAGE_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ImageType;
|
||
|
|
||
|
typedef enum ImageFeatureMode_enum {
|
||
|
IMAQ_COLOR_AND_SHAPE_FEATURES = 0, // Instructs the function to use the color
|
||
|
// and the shape features of the color
|
||
|
// pattern.
|
||
|
IMAQ_COLOR_FEATURES = 1, // Instructs the function to use the color features
|
||
|
// of the color pattern.
|
||
|
IMAQ_SHAPE_FEATURES = 2, // Instructs the function to use the shape features
|
||
|
// of the color pattern.
|
||
|
IMAQ_FEATURE_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ImageFeatureMode;
|
||
|
|
||
|
typedef enum FontColor_enum {
|
||
|
IMAQ_WHITE = 0, // Draws text in white.
|
||
|
IMAQ_BLACK = 1, // Draws text in black.
|
||
|
IMAQ_INVERT = 2, // Inverts the text pixels.
|
||
|
IMAQ_BLACK_ON_WHITE = 3, // Draws text in black with a white background.
|
||
|
IMAQ_WHITE_ON_BLACK = 4, // Draws text in white with a black background.
|
||
|
IMAQ_FONT_COLOR_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} FontColor;
|
||
|
|
||
|
typedef enum FlipAxis_enum {
|
||
|
IMAQ_HORIZONTAL_AXIS =
|
||
|
0, // Flips the image over the central horizontal axis.
|
||
|
IMAQ_VERTICAL_AXIS = 1, // Flips the image over the central vertical axis.
|
||
|
IMAQ_CENTER_AXIS =
|
||
|
2, // Flips the image over both the central vertical and horizontal axes.
|
||
|
IMAQ_DIAG_L_TO_R_AXIS = 3, // Flips the image over an axis from the upper
|
||
|
// left corner to lower right corner.
|
||
|
IMAQ_DIAG_R_TO_L_AXIS = 4, // Flips the image over an axis from the upper
|
||
|
// right corner to lower left corner.
|
||
|
IMAQ_FLIP_AXIS_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} FlipAxis;
|
||
|
|
||
|
typedef enum EdgeProcess_enum {
|
||
|
IMAQ_FIRST = 0, // The function looks for the first edge.
|
||
|
IMAQ_FIRST_AND_LAST = 1, // The function looks for the first and last edge.
|
||
|
IMAQ_ALL = 2, // The function looks for all edges.
|
||
|
IMAQ_BEST = 3, // The function looks for the best edge.
|
||
|
IMAQ_EDGE_PROCESS_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} EdgeProcess;
|
||
|
|
||
|
typedef enum DrawMode_enum {
|
||
|
IMAQ_DRAW_VALUE =
|
||
|
0, // Draws the boundary of the object with the specified pixel value.
|
||
|
IMAQ_DRAW_INVERT =
|
||
|
2, // Inverts the pixel values of the boundary of the object.
|
||
|
IMAQ_PAINT_VALUE = 1, // Fills the object with the given pixel value.
|
||
|
IMAQ_PAINT_INVERT = 3, // Inverts the pixel values of the object.
|
||
|
IMAQ_HIGHLIGHT_VALUE = 4, // The function fills the object by highlighting
|
||
|
// the enclosed pixels with the color of the
|
||
|
// object.
|
||
|
IMAQ_DRAW_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} DrawMode;
|
||
|
|
||
|
typedef enum NearestNeighborMetric_enum {
|
||
|
IMAQ_METRIC_MAXIMUM = 0, // The maximum metric.
|
||
|
IMAQ_METRIC_SUM = 1, // The sum metric.
|
||
|
IMAQ_METRIC_EUCLIDEAN = 2, // The Euclidean metric.
|
||
|
IMAQ_NEAREST_NEIGHBOR_METRIC_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} NearestNeighborMetric;
|
||
|
|
||
|
typedef enum ReadResolution_enum {
|
||
|
IMAQ_LOW_RESOLUTION =
|
||
|
0, // Configures NI Vision to use low resolution during the read process.
|
||
|
IMAQ_MEDIUM_RESOLUTION = 1, // Configures NI Vision to use medium resolution
|
||
|
// during the read process.
|
||
|
IMAQ_HIGH_RESOLUTION = 2, // Configures NI Vision to use high resolution
|
||
|
// during the read process.
|
||
|
IMAQ_READ_RESOLUTION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ReadResolution;
|
||
|
|
||
|
typedef enum ThresholdMode_enum {
|
||
|
IMAQ_FIXED_RANGE = 0, // Performs thresholding using the values you provide
|
||
|
// in the lowThreshold and highThreshold elements of
|
||
|
// OCRProcessingOptions.
|
||
|
IMAQ_COMPUTED_UNIFORM =
|
||
|
1, // Calculates a single threshold value for the entire ROI.
|
||
|
IMAQ_COMPUTED_LINEAR = 2, // Calculates a value on the left side of the ROI,
|
||
|
// calculates a value on the right side of the ROI,
|
||
|
// and linearly fills the middle values from left
|
||
|
// to right.
|
||
|
IMAQ_COMPUTED_NONLINEAR = 3, // Divides the ROI into the number of blocks
|
||
|
// specified by the blockCount element of
|
||
|
// OCRProcessingOptions and calculates a
|
||
|
// threshold value for each block.
|
||
|
IMAQ_THRESHOLD_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ThresholdMode;
|
||
|
|
||
|
typedef enum ReadStrategy_enum {
|
||
|
IMAQ_READ_AGGRESSIVE = 0, // Configures NI Vision to perform fewer checks
|
||
|
// when analyzing objects to determine if they
|
||
|
// match trained characters.
|
||
|
IMAQ_READ_CONSERVATIVE = 1, // Configures NI Vision to perform more checks to
|
||
|
// determine if an object matches a trained
|
||
|
// character.
|
||
|
IMAQ_READ_STRATEGY_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ReadStrategy;
|
||
|
|
||
|
typedef enum MeasurementType_enum {
|
||
|
IMAQ_MT_CENTER_OF_MASS_X = 0, // X-coordinate of the point representing the
|
||
|
// average position of the total particle mass,
|
||
|
// assuming every point in the particle has a
|
||
|
// constant density.
|
||
|
IMAQ_MT_CENTER_OF_MASS_Y = 1, // Y-coordinate of the point representing the
|
||
|
// average position of the total particle mass,
|
||
|
// assuming every point in the particle has a
|
||
|
// constant density.
|
||
|
IMAQ_MT_FIRST_PIXEL_X =
|
||
|
2, // X-coordinate of the highest, leftmost particle pixel.
|
||
|
IMAQ_MT_FIRST_PIXEL_Y =
|
||
|
3, // Y-coordinate of the highest, leftmost particle pixel.
|
||
|
IMAQ_MT_BOUNDING_RECT_LEFT =
|
||
|
4, // X-coordinate of the leftmost particle point.
|
||
|
IMAQ_MT_BOUNDING_RECT_TOP = 5, // Y-coordinate of highest particle point.
|
||
|
IMAQ_MT_BOUNDING_RECT_RIGHT =
|
||
|
6, // X-coordinate of the rightmost particle point.
|
||
|
IMAQ_MT_BOUNDING_RECT_BOTTOM =
|
||
|
7, // Y-coordinate of the lowest particle point.
|
||
|
IMAQ_MT_MAX_FERET_DIAMETER_START_X =
|
||
|
8, // X-coordinate of the start of the line segment connecting the two
|
||
|
// perimeter points that are the furthest apart.
|
||
|
IMAQ_MT_MAX_FERET_DIAMETER_START_Y =
|
||
|
9, // Y-coordinate of the start of the line segment connecting the two
|
||
|
// perimeter points that are the furthest apart.
|
||
|
IMAQ_MT_MAX_FERET_DIAMETER_END_X =
|
||
|
10, // X-coordinate of the end of the line segment connecting the two
|
||
|
// perimeter points that are the furthest apart.
|
||
|
IMAQ_MT_MAX_FERET_DIAMETER_END_Y =
|
||
|
11, // Y-coordinate of the end of the line segment connecting the two
|
||
|
// perimeter points that are the furthest apart.
|
||
|
IMAQ_MT_MAX_HORIZ_SEGMENT_LENGTH_LEFT =
|
||
|
12, // X-coordinate of the leftmost pixel in the longest row of
|
||
|
// contiguous pixels in the particle.
|
||
|
IMAQ_MT_MAX_HORIZ_SEGMENT_LENGTH_RIGHT =
|
||
|
13, // X-coordinate of the rightmost pixel in the longest row of
|
||
|
// contiguous pixels in the particle.
|
||
|
IMAQ_MT_MAX_HORIZ_SEGMENT_LENGTH_ROW =
|
||
|
14, // Y-coordinate of all of the pixels in the longest row of contiguous
|
||
|
// pixels in the particle.
|
||
|
IMAQ_MT_BOUNDING_RECT_WIDTH =
|
||
|
16, // Distance between the x-coordinate of the leftmost particle point
|
||
|
// and the x-coordinate of the rightmost particle point.
|
||
|
IMAQ_MT_BOUNDING_RECT_HEIGHT =
|
||
|
17, // Distance between the y-coordinate of highest particle point and
|
||
|
// the y-coordinate of the lowest particle point.
|
||
|
IMAQ_MT_BOUNDING_RECT_DIAGONAL =
|
||
|
18, // Distance between opposite corners of the bounding rectangle.
|
||
|
IMAQ_MT_PERIMETER = 19, // Length of the outer boundary of the particle.
|
||
|
IMAQ_MT_CONVEX_HULL_PERIMETER = 20, // Perimeter of the smallest convex
|
||
|
// polygon containing all points in the
|
||
|
// particle.
|
||
|
IMAQ_MT_HOLES_PERIMETER =
|
||
|
21, // Sum of the perimeters of each hole in the particle.
|
||
|
IMAQ_MT_MAX_FERET_DIAMETER = 22, // Distance between the start and end of the
|
||
|
// line segment connecting the two perimeter
|
||
|
// points that are the furthest apart.
|
||
|
IMAQ_MT_EQUIVALENT_ELLIPSE_MAJOR_AXIS =
|
||
|
23, // Length of the major axis of the ellipse with the same perimeter
|
||
|
// and area as the particle.
|
||
|
IMAQ_MT_EQUIVALENT_ELLIPSE_MINOR_AXIS =
|
||
|
24, // Length of the minor axis of the ellipse with the same perimeter
|
||
|
// and area as the particle.
|
||
|
IMAQ_MT_EQUIVALENT_ELLIPSE_MINOR_AXIS_FERET =
|
||
|
25, // Length of the minor axis of the ellipse with the same area as the
|
||
|
// particle, and Major Axis equal in length to the Max Feret
|
||
|
// Diameter.
|
||
|
IMAQ_MT_EQUIVALENT_RECT_LONG_SIDE = 26, // Longest side of the rectangle with
|
||
|
// the same perimeter and area as the
|
||
|
// particle.
|
||
|
IMAQ_MT_EQUIVALENT_RECT_SHORT_SIDE = 27, // Shortest side of the rectangle
|
||
|
// with the same perimeter and area
|
||
|
// as the particle.
|
||
|
IMAQ_MT_EQUIVALENT_RECT_DIAGONAL = 28, // Distance between opposite corners
|
||
|
// of the rectangle with the same
|
||
|
// perimeter and area as the particle.
|
||
|
IMAQ_MT_EQUIVALENT_RECT_SHORT_SIDE_FERET =
|
||
|
29, // Shortest side of the rectangle with the same area as the particle,
|
||
|
// and longest side equal in length to the Max Feret Diameter.
|
||
|
IMAQ_MT_AVERAGE_HORIZ_SEGMENT_LENGTH =
|
||
|
30, // Average length of a horizontal segment in the particle.
|
||
|
IMAQ_MT_AVERAGE_VERT_SEGMENT_LENGTH =
|
||
|
31, // Average length of a vertical segment in the particle.
|
||
|
IMAQ_MT_HYDRAULIC_RADIUS =
|
||
|
32, // The particle area divided by the particle perimeter.
|
||
|
IMAQ_MT_WADDEL_DISK_DIAMETER =
|
||
|
33, // Diameter of a disk with the same area as the particle.
|
||
|
IMAQ_MT_AREA = 35, // Area of the particle.
|
||
|
IMAQ_MT_HOLES_AREA = 36, // Sum of the areas of each hole in the particle.
|
||
|
IMAQ_MT_PARTICLE_AND_HOLES_AREA =
|
||
|
37, // Area of a particle that completely covers the image.
|
||
|
IMAQ_MT_CONVEX_HULL_AREA = 38, // Area of the smallest convex polygon
|
||
|
// containing all points in the particle.
|
||
|
IMAQ_MT_IMAGE_AREA = 39, // Area of the image.
|
||
|
IMAQ_MT_NUMBER_OF_HOLES = 41, // Number of holes in the particle.
|
||
|
IMAQ_MT_NUMBER_OF_HORIZ_SEGMENTS =
|
||
|
42, // Number of horizontal segments in the particle.
|
||
|
IMAQ_MT_NUMBER_OF_VERT_SEGMENTS =
|
||
|
43, // Number of vertical segments in the particle.
|
||
|
IMAQ_MT_ORIENTATION = 45, // The angle of the line that passes through the
|
||
|
// particle Center of Mass about which the particle
|
||
|
// has the lowest moment of inertia.
|
||
|
IMAQ_MT_MAX_FERET_DIAMETER_ORIENTATION =
|
||
|
46, // The angle of the line segment connecting the two perimeter points
|
||
|
// that are the furthest apart.
|
||
|
IMAQ_MT_AREA_BY_IMAGE_AREA =
|
||
|
48, // Percentage of the particle Area covering the Image Area.
|
||
|
IMAQ_MT_AREA_BY_PARTICLE_AND_HOLES_AREA = 49, // Percentage of the particle
|
||
|
// Area in relation to its
|
||
|
// Particle and Holes Area.
|
||
|
IMAQ_MT_RATIO_OF_EQUIVALENT_ELLIPSE_AXES = 50, // Equivalent Ellipse Major
|
||
|
// Axis divided by Equivalent
|
||
|
// Ellipse Minor Axis.
|
||
|
IMAQ_MT_RATIO_OF_EQUIVALENT_RECT_SIDES =
|
||
|
51, // Equivalent Rect Long Side divided by Equivalent Rect Short Side.
|
||
|
IMAQ_MT_ELONGATION_FACTOR =
|
||
|
53, // Max Feret Diameter divided by Equivalent Rect Short Side (Feret).
|
||
|
IMAQ_MT_COMPACTNESS_FACTOR = 54, // Area divided by the product of Bounding
|
||
|
// Rect Width and Bounding Rect Height.
|
||
|
IMAQ_MT_HEYWOOD_CIRCULARITY_FACTOR = 55, // Perimeter divided by the
|
||
|
// circumference of a circle with
|
||
|
// the same area.
|
||
|
IMAQ_MT_TYPE_FACTOR = 56, // Factor relating area to moment of inertia.
|
||
|
IMAQ_MT_SUM_X = 58, // The sum of all x-coordinates in the particle.
|
||
|
IMAQ_MT_SUM_Y = 59, // The sum of all y-coordinates in the particle.
|
||
|
IMAQ_MT_SUM_XX = 60, // The sum of all x-coordinates squared in the particle.
|
||
|
IMAQ_MT_SUM_XY =
|
||
|
61, // The sum of all x-coordinates times y-coordinates in the particle.
|
||
|
IMAQ_MT_SUM_YY = 62, // The sum of all y-coordinates squared in the particle.
|
||
|
IMAQ_MT_SUM_XXX = 63, // The sum of all x-coordinates cubed in the particle.
|
||
|
IMAQ_MT_SUM_XXY = 64, // The sum of all x-coordinates squared times
|
||
|
// y-coordinates in the particle.
|
||
|
IMAQ_MT_SUM_XYY = 65, // The sum of all x-coordinates times y-coordinates
|
||
|
// squared in the particle.
|
||
|
IMAQ_MT_SUM_YYY = 66, // The sum of all y-coordinates cubed in the particle.
|
||
|
IMAQ_MT_MOMENT_OF_INERTIA_XX =
|
||
|
68, // The moment of inertia in the x-direction twice.
|
||
|
IMAQ_MT_MOMENT_OF_INERTIA_XY =
|
||
|
69, // The moment of inertia in the x and y directions.
|
||
|
IMAQ_MT_MOMENT_OF_INERTIA_YY =
|
||
|
70, // The moment of inertia in the y-direction twice.
|
||
|
IMAQ_MT_MOMENT_OF_INERTIA_XXX =
|
||
|
71, // The moment of inertia in the x-direction three times.
|
||
|
IMAQ_MT_MOMENT_OF_INERTIA_XXY = 72, // The moment of inertia in the
|
||
|
// x-direction twice and the y-direction
|
||
|
// once.
|
||
|
IMAQ_MT_MOMENT_OF_INERTIA_XYY = 73, // The moment of inertia in the
|
||
|
// x-direction once and the y-direction
|
||
|
// twice.
|
||
|
IMAQ_MT_MOMENT_OF_INERTIA_YYY =
|
||
|
74, // The moment of inertia in the y-direction three times.
|
||
|
IMAQ_MT_NORM_MOMENT_OF_INERTIA_XX =
|
||
|
75, // The normalized moment of inertia in the x-direction twice.
|
||
|
IMAQ_MT_NORM_MOMENT_OF_INERTIA_XY =
|
||
|
76, // The normalized moment of inertia in the x- and y-directions.
|
||
|
IMAQ_MT_NORM_MOMENT_OF_INERTIA_YY =
|
||
|
77, // The normalized moment of inertia in the y-direction twice.
|
||
|
IMAQ_MT_NORM_MOMENT_OF_INERTIA_XXX =
|
||
|
78, // The normalized moment of inertia in the x-direction three times.
|
||
|
IMAQ_MT_NORM_MOMENT_OF_INERTIA_XXY = 79, // The normalized moment of inertia
|
||
|
// in the x-direction twice and the
|
||
|
// y-direction once.
|
||
|
IMAQ_MT_NORM_MOMENT_OF_INERTIA_XYY = 80, // The normalized moment of inertia
|
||
|
// in the x-direction once and the
|
||
|
// y-direction twice.
|
||
|
IMAQ_MT_NORM_MOMENT_OF_INERTIA_YYY =
|
||
|
81, // The normalized moment of inertia in the y-direction three times.
|
||
|
IMAQ_MT_HU_MOMENT_1 = 82, // The first Hu moment.
|
||
|
IMAQ_MT_HU_MOMENT_2 = 83, // The second Hu moment.
|
||
|
IMAQ_MT_HU_MOMENT_3 = 84, // The third Hu moment.
|
||
|
IMAQ_MT_HU_MOMENT_4 = 85, // The fourth Hu moment.
|
||
|
IMAQ_MT_HU_MOMENT_5 = 86, // The fifth Hu moment.
|
||
|
IMAQ_MT_HU_MOMENT_6 = 87, // The sixth Hu moment.
|
||
|
IMAQ_MT_HU_MOMENT_7 = 88, // The seventh Hu moment.
|
||
|
IMAQ_MEASUREMENT_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} MeasurementType;
|
||
|
|
||
|
typedef enum GeometricMatchingMode_enum {
|
||
|
IMAQ_GEOMETRIC_MATCH_SHIFT_INVARIANT =
|
||
|
0, // Searches for occurrences of the pattern in the image, assuming that
|
||
|
// the pattern is not rotated more than plus or minus 5 degrees.
|
||
|
IMAQ_GEOMETRIC_MATCH_ROTATION_INVARIANT =
|
||
|
1, // Searches for occurrences of the pattern in the image with reduced
|
||
|
// restriction on the rotation of the pattern.
|
||
|
IMAQ_GEOMETRIC_MATCH_SCALE_INVARIANT =
|
||
|
2, // Searches for occurrences of the pattern in the image with reduced
|
||
|
// restriction on the size of the pattern.
|
||
|
IMAQ_GEOMETRIC_MATCH_OCCLUSION_INVARIANT =
|
||
|
4, // Searches for occurrences of the pattern in the image, allowing for
|
||
|
// a specified percentage of the pattern to be occluded.
|
||
|
IMAQ_GEOMETRIC_MATCHING_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} GeometricMatchingMode;
|
||
|
|
||
|
typedef enum ButtonLabel_enum {
|
||
|
IMAQ_BUTTON_OK = 0, // The label "OK".
|
||
|
IMAQ_BUTTON_SAVE = 1, // The label "Save".
|
||
|
IMAQ_BUTTON_SELECT = 2, // The label "Select".
|
||
|
IMAQ_BUTTON_LOAD = 3, // The label "Load".
|
||
|
IMAQ_BUTTON_LABEL_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ButtonLabel;
|
||
|
|
||
|
typedef enum NearestNeighborMethod_enum {
|
||
|
IMAQ_MINIMUM_MEAN_DISTANCE = 0, // The minimum mean distance method.
|
||
|
IMAQ_K_NEAREST_NEIGHBOR = 1, // The k-nearest neighbor method.
|
||
|
IMAQ_NEAREST_PROTOTYPE = 2, // The nearest prototype method.
|
||
|
IMAQ_NEAREST_NEIGHBOR_METHOD_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} NearestNeighborMethod;
|
||
|
|
||
|
typedef enum QRMirrorMode_enum {
|
||
|
IMAQ_QR_MIRROR_MODE_AUTO_DETECT =
|
||
|
-2, // The function should determine if the QR code is mirrored.
|
||
|
IMAQ_QR_MIRROR_MODE_MIRRORED =
|
||
|
1, // The function should expect the QR code to appear mirrored.
|
||
|
IMAQ_QR_MIRROR_MODE_NORMAL =
|
||
|
0, // The function should expect the QR code to appear normal.
|
||
|
IMAQ_QR_MIRROR_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} QRMirrorMode;
|
||
|
|
||
|
typedef enum ColumnProcessingMode_enum {
|
||
|
IMAQ_AVERAGE_COLUMNS = 0, // Averages the data extracted for edge detection.
|
||
|
IMAQ_MEDIAN_COLUMNS =
|
||
|
1, // Takes the median of the data extracted for edge detection.
|
||
|
IMAQ_COLUMN_PROCESSING_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ColumnProcessingMode;
|
||
|
|
||
|
typedef enum FindReferenceDirection_enum {
|
||
|
IMAQ_LEFT_TO_RIGHT_DIRECT = 0, // Searches from the left side of the search
|
||
|
// area to the right side of the search area
|
||
|
// for a direct axis.
|
||
|
IMAQ_LEFT_TO_RIGHT_INDIRECT = 1, // Searches from the left side of the search
|
||
|
// area to the right side of the search area
|
||
|
// for an indirect axis.
|
||
|
IMAQ_TOP_TO_BOTTOM_DIRECT = 2, // Searches from the top of the search area to
|
||
|
// the bottom of the search area for a direct
|
||
|
// axis.
|
||
|
IMAQ_TOP_TO_BOTTOM_INDIRECT = 3, // Searches from the top of the search area
|
||
|
// to the bottom of the search area for an
|
||
|
// indirect axis.
|
||
|
IMAQ_RIGHT_TO_LEFT_DIRECT = 4, // Searches from the right side of the search
|
||
|
// area to the left side of the search area
|
||
|
// for a direct axis.
|
||
|
IMAQ_RIGHT_TO_LEFT_INDIRECT = 5, // Searches from the right side of the
|
||
|
// search area to the left side of the
|
||
|
// search area for an indirect axis.
|
||
|
IMAQ_BOTTOM_TO_TOP_DIRECT = 6, // Searches from the bottom of the search area
|
||
|
// to the top of the search area for a direct
|
||
|
// axis.
|
||
|
IMAQ_BOTTOM_TO_TOP_INDIRECT = 7, // Searches from the bottom of the search
|
||
|
// area to the top of the search area for an
|
||
|
// indirect axis.
|
||
|
IMAQ_FIND_COORD_SYS_DIR_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} FindReferenceDirection;
|
||
|
|
||
|
typedef enum MulticoreOperation_enum {
|
||
|
IMAQ_GET_CORES =
|
||
|
0, // The number of processor cores NI Vision is currently using.
|
||
|
IMAQ_SET_CORES = 1, // The number of processor cores for NI Vision to use.
|
||
|
IMAQ_USE_MAX_AVAILABLE =
|
||
|
2, // Use the maximum number of available processor cores.
|
||
|
IMAQ_MULTICORE_OPERATION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} MulticoreOperation;
|
||
|
|
||
|
typedef enum GroupBehavior_enum {
|
||
|
IMAQ_GROUP_CLEAR = 0, // Sets the behavior of the overlay group to clear the
|
||
|
// current settings when an image is transformed.
|
||
|
IMAQ_GROUP_KEEP = 1, // Sets the behavior of the overlay group to keep the
|
||
|
// current settings when an image is transformed.
|
||
|
IMAQ_GROUP_TRANSFORM =
|
||
|
2, // Sets the behavior of the overlay group to transform with the image.
|
||
|
IMAQ_GROUP_BEHAVIOR_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} GroupBehavior;
|
||
|
|
||
|
typedef enum QRDimensions_enum {
|
||
|
IMAQ_QR_DIMENSIONS_AUTO_DETECT = 0, // The function will automatically
|
||
|
// determine the dimensions of the QR
|
||
|
// code.
|
||
|
IMAQ_QR_DIMENSIONS_11x11 =
|
||
|
11, // Specifies the dimensions of the QR code as 11 x 11.
|
||
|
IMAQ_QR_DIMENSIONS_13x13 =
|
||
|
13, // Specifies the dimensions of the QR code as 13 x 13.
|
||
|
IMAQ_QR_DIMENSIONS_15x15 =
|
||
|
15, // Specifies the dimensions of the QR code as 15 x 15.
|
||
|
IMAQ_QR_DIMENSIONS_17x17 =
|
||
|
17, // Specifies the dimensions of the QR code as 17 x 17.
|
||
|
IMAQ_QR_DIMENSIONS_21x21 =
|
||
|
21, // Specifies the dimensions of the QR code as 21 x 21.
|
||
|
IMAQ_QR_DIMENSIONS_25x25 =
|
||
|
25, // Specifies the dimensions of the QR code as 25 x 25.
|
||
|
IMAQ_QR_DIMENSIONS_29x29 =
|
||
|
29, // Specifies the dimensions of the QR code as 29 x 29.
|
||
|
IMAQ_QR_DIMENSIONS_33x33 =
|
||
|
33, // Specifies the dimensions of the QR code as 33 x 33.
|
||
|
IMAQ_QR_DIMENSIONS_37x37 =
|
||
|
37, // Specifies the dimensions of the QR code as 37 x 37.
|
||
|
IMAQ_QR_DIMENSIONS_41x41 =
|
||
|
41, // Specifies the dimensions of the QR code as 41 x 41.
|
||
|
IMAQ_QR_DIMENSIONS_45x45 =
|
||
|
45, // Specifies the dimensions of the QR code as 45 x 45.
|
||
|
IMAQ_QR_DIMENSIONS_49x49 =
|
||
|
49, // Specifies the dimensions of the QR code as 49 x 49.
|
||
|
IMAQ_QR_DIMENSIONS_53x53 =
|
||
|
53, // Specifies the dimensions of the QR code as 53 x 53.
|
||
|
IMAQ_QR_DIMENSIONS_57x57 =
|
||
|
57, // Specifies the dimensions of the QR code as 57 x 57.
|
||
|
IMAQ_QR_DIMENSIONS_61x61 =
|
||
|
61, // Specifies the dimensions of the QR code as 61 x 61.
|
||
|
IMAQ_QR_DIMENSIONS_65x65 =
|
||
|
65, // Specifies the dimensions of the QR code as 65 x 65.
|
||
|
IMAQ_QR_DIMENSIONS_69x69 =
|
||
|
69, // Specifies the dimensions of the QR code as 69 x 69.
|
||
|
IMAQ_QR_DIMENSIONS_73x73 =
|
||
|
73, // Specifies the dimensions of the QR code as 73 x 73.
|
||
|
IMAQ_QR_DIMENSIONS_77x77 =
|
||
|
77, // Specifies the dimensions of the QR code as 77 x 77.
|
||
|
IMAQ_QR_DIMENSIONS_81x81 =
|
||
|
81, // Specifies the dimensions of the QR code as 81 x 81.
|
||
|
IMAQ_QR_DIMENSIONS_85x85 =
|
||
|
85, // Specifies the dimensions of the QR code as 85 x 85.
|
||
|
IMAQ_QR_DIMENSIONS_89x89 =
|
||
|
89, // Specifies the dimensions of the QR code as 89 x 89.
|
||
|
IMAQ_QR_DIMENSIONS_93x93 =
|
||
|
93, // Specifies the dimensions of the QR code as 93 x 93.
|
||
|
IMAQ_QR_DIMENSIONS_97x97 =
|
||
|
97, // Specifies the dimensions of the QR code as 97 x 97.
|
||
|
IMAQ_QR_DIMENSIONS_101x101 =
|
||
|
101, // Specifies the dimensions of the QR code as 101 x 101.
|
||
|
IMAQ_QR_DIMENSIONS_105x105 =
|
||
|
105, // Specifies the dimensions of the QR code as 105 x 105.
|
||
|
IMAQ_QR_DIMENSIONS_109x109 =
|
||
|
109, // Specifies the dimensions of the QR code as 109 x 109.
|
||
|
IMAQ_QR_DIMENSIONS_113x113 =
|
||
|
113, // Specifies the dimensions of the QR code as 113 x 113.
|
||
|
IMAQ_QR_DIMENSIONS_117x117 =
|
||
|
117, // Specifies the dimensions of the QR code as 117 x 117.
|
||
|
IMAQ_QR_DIMENSIONS_121x121 =
|
||
|
121, // Specifies the dimensions of the QR code as 121 x 121.
|
||
|
IMAQ_QR_DIMENSIONS_125x125 =
|
||
|
125, // Specifies the dimensions of the QR code as 125 x 125.
|
||
|
IMAQ_QR_DIMENSIONS_129x129 =
|
||
|
129, // Specifies the dimensions of the QR code as 129 x 129.
|
||
|
IMAQ_QR_DIMENSIONS_133x133 =
|
||
|
133, // Specifies the dimensions of the QR code as 133 x 133.
|
||
|
IMAQ_QR_DIMENSIONS_137x137 =
|
||
|
137, // Specifies the dimensions of the QR code as 137 x 137.
|
||
|
IMAQ_QR_DIMENSIONS_141x141 =
|
||
|
141, // Specifies the dimensions of the QR code as 141 x 141.
|
||
|
IMAQ_QR_DIMENSIONS_145x145 =
|
||
|
145, // Specifies the dimensions of the QR code as 145 x 145.
|
||
|
IMAQ_QR_DIMENSIONS_149x149 =
|
||
|
149, // Specifies the dimensions of the QR code as 149 x 149.
|
||
|
IMAQ_QR_DIMENSIONS_153x153 =
|
||
|
153, // Specifies the dimensions of the QR code as 153 x 153.
|
||
|
IMAQ_QR_DIMENSIONS_157x157 =
|
||
|
157, // Specifies the dimensions of the QR code as 157 x 1537.
|
||
|
IMAQ_QR_DIMENSIONS_161x161 =
|
||
|
161, // Specifies the dimensions of the QR code as 161 x 161.
|
||
|
IMAQ_QR_DIMENSIONS_165x165 =
|
||
|
165, // Specifies the dimensions of the QR code as 165 x 165.
|
||
|
IMAQ_QR_DIMENSIONS_169x169 =
|
||
|
169, // Specifies the dimensions of the QR code as 169 x 169.
|
||
|
IMAQ_QR_DIMENSIONS_173x173 =
|
||
|
173, // Specifies the dimensions of the QR code as 173 x 173.
|
||
|
IMAQ_QR_DIMENSIONS_177x177 =
|
||
|
177, // Specifies the dimensions of the QR code as 177 x 177.
|
||
|
IMAQ_QR_DIMENSIONS_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} QRDimensions;
|
||
|
|
||
|
typedef enum QRCellFilterMode_enum {
|
||
|
IMAQ_QR_CELL_FILTER_MODE_AUTO_DETECT =
|
||
|
-2, // The function will try all filter modes and uses the one that
|
||
|
// decodes the QR code within the fewest iterations and utilizing the
|
||
|
// least amount of error correction.
|
||
|
IMAQ_QR_CELL_FILTER_MODE_AVERAGE = 0, // The function sets the pixel value
|
||
|
// for the cell to the average of the
|
||
|
// sampled pixels.
|
||
|
IMAQ_QR_CELL_FILTER_MODE_MEDIAN = 1, // The function sets the pixel value for
|
||
|
// the cell to the median of the sampled
|
||
|
// pixels.
|
||
|
IMAQ_QR_CELL_FILTER_MODE_CENTRAL_AVERAGE =
|
||
|
2, // The function sets the pixel value for the cell to the average of
|
||
|
// the pixels in the center of the cell sample.
|
||
|
IMAQ_QR_CELL_FILTER_MODE_HIGH_AVERAGE =
|
||
|
3, // The function sets the pixel value for the cell to the average value
|
||
|
// of the half of the sampled pixels with the highest pixel values.
|
||
|
IMAQ_QR_CELL_FILTER_MODE_LOW_AVERAGE =
|
||
|
4, // The function sets the pixel value for the cell to the average value
|
||
|
// of the half of the sampled pixels with the lowest pixel values.
|
||
|
IMAQ_QR_CELL_FILTER_MODE_VERY_HIGH_AVERAGE =
|
||
|
5, // The function sets the pixel value for the cell to the average value
|
||
|
// of the ninth of the sampled pixels with the highest pixel values.
|
||
|
IMAQ_QR_CELL_FILTER_MODE_VERY_LOW_AVERAGE =
|
||
|
6, // The function sets the pixel value for the cell to the average value
|
||
|
// of the ninth of the sampled pixels with the lowest pixel values.
|
||
|
IMAQ_QR_CELL_FILTER_MODE_ALL =
|
||
|
8, // The function tries each filter mode, starting with
|
||
|
// IMAQ_QR_CELL_FILTER_MODE_AVERAGE and ending with
|
||
|
// IMAQ_QR_CELL_FILTER_MODE_VERY_LOW_AVERAGE, stopping once a filter
|
||
|
// mode decodes correctly.
|
||
|
IMAQ_QR_CELL_FILTER_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} QRCellFilterMode;
|
||
|
|
||
|
typedef enum RoundingMode_enum {
|
||
|
IMAQ_ROUNDING_MODE_OPTIMIZE =
|
||
|
0, // Rounds the result of a division using the best available method.
|
||
|
IMAQ_ROUNDING_MODE_TRUNCATE = 1, // Truncates the result of a division.
|
||
|
IMAQ_ROUNDING_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} RoundingMode;
|
||
|
|
||
|
typedef enum QRDemodulationMode_enum {
|
||
|
IMAQ_QR_DEMODULATION_MODE_AUTO_DETECT =
|
||
|
-2, // The function will try each demodulation mode and use the one which
|
||
|
// decodes the QR code within the fewest iterations and utilizing the
|
||
|
// least amount of error correction.
|
||
|
IMAQ_QR_DEMODULATION_MODE_HISTOGRAM = 0, // The function uses a histogram of
|
||
|
// all of the QR cells to calculate
|
||
|
// a threshold.
|
||
|
IMAQ_QR_DEMODULATION_MODE_LOCAL_CONTRAST =
|
||
|
1, // The function examines each of the cell's neighbors to determine if
|
||
|
// the cell is on or off.
|
||
|
IMAQ_QR_DEMODULATION_MODE_COMBINED = 2, // The function uses the histogram of
|
||
|
// the QR code to calculate a
|
||
|
// threshold.
|
||
|
IMAQ_QR_DEMODULATION_MODE_ALL =
|
||
|
3, // The function tries IMAQ_QR_DEMODULATION_MODE_HISTOGRAM, then
|
||
|
// IMAQ_QR_DEMODULATION_MODE_LOCAL_CONTRAST and then
|
||
|
// IMAQ_QR_DEMODULATION_MODE_COMBINED, stopping once one mode is
|
||
|
// successful.
|
||
|
IMAQ_QR_DEMODULATION_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} QRDemodulationMode;
|
||
|
|
||
|
typedef enum ContrastMode_enum {
|
||
|
IMAQ_ORIGINAL_CONTRAST = 0, // Instructs the geometric matching algorithm to
|
||
|
// find matches with the same contrast as the
|
||
|
// template.
|
||
|
IMAQ_REVERSED_CONTRAST = 1, // Instructs the geometric matching algorithm to
|
||
|
// find matches with the inverted contrast of the
|
||
|
// template.
|
||
|
IMAQ_BOTH_CONTRASTS = 2, // Instructs the geometric matching algorithm to
|
||
|
// find matches with the same and inverted contrast
|
||
|
// of the template.
|
||
|
} ContrastMode;
|
||
|
|
||
|
typedef enum QRPolarities_enum {
|
||
|
IMAQ_QR_POLARITY_AUTO_DETECT =
|
||
|
-2, // The function should determine the polarity of the QR code.
|
||
|
IMAQ_QR_POLARITY_BLACK_ON_WHITE = 0, // The function should search for a QR
|
||
|
// code with dark data on a bright
|
||
|
// background.
|
||
|
IMAQ_QR_POLARITY_WHITE_ON_BLACK = 1, // The function should search for a QR
|
||
|
// code with bright data on a dark
|
||
|
// background.
|
||
|
IMAQ_QR_POLARITY_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} QRPolarities;
|
||
|
|
||
|
typedef enum QRRotationMode_enum {
|
||
|
IMAQ_QR_ROTATION_MODE_UNLIMITED =
|
||
|
0, // The function allows for unlimited rotation.
|
||
|
IMAQ_QR_ROTATION_MODE_0_DEGREES =
|
||
|
1, // The function allows for ??? 5 degrees of rotation.
|
||
|
IMAQ_QR_ROTATION_MODE_90_DEGREES =
|
||
|
2, // The function allows for between 85 and 95 degrees of rotation.
|
||
|
IMAQ_QR_ROTATION_MODE_180_DEGREES =
|
||
|
3, // The function allows for between 175 and 185 degrees of rotation.
|
||
|
IMAQ_QR_ROTATION_MODE_270_DEGREES =
|
||
|
4, // The function allows for between 265 and 275 degrees of rotation.
|
||
|
IMAQ_QR_ROTATION_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} QRRotationMode;
|
||
|
|
||
|
typedef enum QRGradingMode_enum {
|
||
|
IMAQ_QR_NO_GRADING =
|
||
|
0, // The function does not make any preparatory calculations.
|
||
|
IMAQ_QR_GRADING_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} QRGradingMode;
|
||
|
|
||
|
typedef enum StraightEdgeSearchMode_enum {
|
||
|
IMAQ_USE_FIRST_RAKE_EDGES =
|
||
|
0, // Fits a straight edge on the first points detected using a rake.
|
||
|
IMAQ_USE_BEST_RAKE_EDGES =
|
||
|
1, // Fits a straight edge on the best points detected using a rake.
|
||
|
IMAQ_USE_BEST_HOUGH_LINE = 2, // Finds the strongest straight edge using all
|
||
|
// points detected on a rake.
|
||
|
IMAQ_USE_FIRST_PROJECTION_EDGE =
|
||
|
3, // Uses the location of the first projected edge as the straight edge.
|
||
|
IMAQ_USE_BEST_PROJECTION_EDGE = 4, // Finds the strongest projected edge
|
||
|
// location to determine the straight
|
||
|
// edge.
|
||
|
IMAQ_STRAIGHT_EDGE_SEARCH_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} StraightEdgeSearchMode;
|
||
|
|
||
|
typedef enum SearchDirection_enum {
|
||
|
IMAQ_SEARCH_DIRECTION_LEFT_TO_RIGHT = 0, // Searches from the left side of
|
||
|
// the search area to the right side
|
||
|
// of the search area.
|
||
|
IMAQ_SEARCH_DIRECTION_RIGHT_TO_LEFT = 1, // Searches from the right side of
|
||
|
// the search area to the left side
|
||
|
// of the search area.
|
||
|
IMAQ_SEARCH_DIRECTION_TOP_TO_BOTTOM = 2, // Searches from the top side of the
|
||
|
// search area to the bottom side of
|
||
|
// the search area.
|
||
|
IMAQ_SEARCH_DIRECTION_BOTTOM_TO_TOP = 3, // Searches from the bottom side of
|
||
|
// the search area to the top side
|
||
|
// of the search area.
|
||
|
IMAQ_SEARCH_DIRECTION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} SearchDirection;
|
||
|
|
||
|
typedef enum QRStreamMode_enum {
|
||
|
IMAQ_QR_MODE_NUMERIC =
|
||
|
0, // Specifies that the data was encoded using numeric mode.
|
||
|
IMAQ_QR_MODE_ALPHANUMERIC =
|
||
|
1, // Specifies that the data was encoded using alpha-numeric mode.
|
||
|
IMAQ_QR_MODE_RAW_BYTE = 2, // Specifies that the data was not encoded but is
|
||
|
// only raw binary bytes, or encoded in JIS-8.
|
||
|
IMAQ_QR_MODE_EAN128_TOKEN = 3, // Specifies that the data has a special
|
||
|
// meaning represented by the application ID.
|
||
|
IMAQ_QR_MODE_EAN128_DATA = 4, // Specifies that the data has a special
|
||
|
// meaning represented by the application ID.
|
||
|
IMAQ_QR_MODE_ECI = 5, // Specifies that the data was meant to be read using
|
||
|
// the language represented in the language ID.
|
||
|
IMAQ_QR_MODE_KANJI =
|
||
|
6, // Specifies that the data was encoded in Shift-JIS16 Japanese.
|
||
|
IMAQ_QR_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} QRStreamMode;
|
||
|
|
||
|
typedef enum ParticleClassifierType_enum {
|
||
|
IMAQ_PARTICLE_LARGEST = 0, // Use only the largest particle in the image.
|
||
|
IMAQ_PARTICLE_ALL = 1, // Use all particles in the image.
|
||
|
IMAQ_PARTICLE_CLASSIFIER_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ParticleClassifierType;
|
||
|
|
||
|
typedef enum QRCellSampleSize_enum {
|
||
|
IMAQ_QR_CELL_SAMPLE_SIZE_AUTO_DETECT =
|
||
|
-2, // The function will try each sample size and use the one which
|
||
|
// decodes the QR code within the fewest iterations and utilizing the
|
||
|
// least amount of error correction.
|
||
|
IMAQ_QR_CELL_SAMPLE_SIZE1X1 =
|
||
|
1, // The function will use a 1x1 sized sample from each cell.
|
||
|
IMAQ_QR_CELL_SAMPLE_SIZE2X2 =
|
||
|
2, // The function will use a 2x2 sized sample from each cell.
|
||
|
IMAQ_QR_CELL_SAMPLE_SIZE3X3 =
|
||
|
3, // The function will use a 3x3 sized sample from each cell.
|
||
|
IMAQ_QR_CELL_SAMPLE_SIZE4X4 =
|
||
|
4, // The function will use a 4x4 sized sample from each cell.
|
||
|
IMAQ_QR_CELL_SAMPLE_SIZE5X5 =
|
||
|
5, // The function will use a 5x5 sized sample from each cell.
|
||
|
IMAQ_QR_CELL_SAMPLE_SIZE6X6 =
|
||
|
6, // The function will use a 6x6 sized sample from each cell.
|
||
|
IMAQ_QR_CELL_SAMPLE_SIZE7X7 =
|
||
|
7, // The function will use a 7x7 sized sample from each cell.
|
||
|
IMAQ_QR_CELL_SAMPLE_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} QRCellSampleSize;
|
||
|
|
||
|
typedef enum RakeProcessType_enum {
|
||
|
IMAQ_GET_FIRST_EDGES = 0,
|
||
|
IMAQ_GET_FIRST_AND_LAST_EDGES = 1,
|
||
|
IMAQ_GET_ALL_EDGES = 2,
|
||
|
IMAQ_GET_BEST_EDGES = 3,
|
||
|
IMAQ_RAKE_PROCESS_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} RakeProcessType;
|
||
|
|
||
|
typedef enum GeometricSetupDataItem_enum {
|
||
|
IMAQ_CURVE_EXTRACTION_MODE =
|
||
|
0, // Specifies how the function identifies curves in the image.
|
||
|
IMAQ_CURVE_EDGE_THRSHOLD = 1, // Specifies the minimum contrast an edge pixel
|
||
|
// must have for it to be considered part of a
|
||
|
// curve.
|
||
|
IMAQ_CURVE_EDGE_FILTER = 2, // Specifies the width of the edge filter that
|
||
|
// the function uses to identify curves in the
|
||
|
// image.
|
||
|
IMAQ_MINIMUM_CURVE_LENGTH = 3, // Specifies the length, in pixels, of the
|
||
|
// smallest curve that you want the function
|
||
|
// to identify.
|
||
|
IMAQ_CURVE_ROW_SEARCH_STEP_SIZE =
|
||
|
4, // Specifies the distance, in the y direction, between the image rows
|
||
|
// that the algorithm inspects for curve seed points.
|
||
|
IMAQ_CURVE_COL_SEARCH_STEP_SIZE =
|
||
|
5, // Specifies the distance, in the x direction, between the image
|
||
|
// columns that the algorithm inspects for curve seed points.
|
||
|
IMAQ_CURVE_MAX_END_POINT_GAP =
|
||
|
6, // Specifies the maximum gap, in pixels, between the endpoints of a
|
||
|
// curve that the function identifies as a closed curve.
|
||
|
IMAQ_EXTRACT_CLOSED_CURVES =
|
||
|
7, // Specifies whether to identify only closed curves in the image.
|
||
|
IMAQ_ENABLE_SUBPIXEL_CURVE_EXTRACTION =
|
||
|
8, // The function ignores this option.
|
||
|
IMAQ_ENABLE_CORRELATION_SCORE = 9, // Specifies that the function should
|
||
|
// calculate the Correlation Score and
|
||
|
// return it for each match result.
|
||
|
IMAQ_ENABLE_SUBPIXEL_ACCURACY = 10, // Determines whether to return the match
|
||
|
// results with subpixel accuracy.
|
||
|
IMAQ_SUBPIXEL_ITERATIONS = 11, // Specifies the maximum number of incremental
|
||
|
// improvements used to refine matches using
|
||
|
// subpixel information.
|
||
|
IMAQ_SUBPIXEL_TOLERANCE =
|
||
|
12, // Specifies the maximum amount of change, in pixels, between
|
||
|
// consecutive incremental improvements in the match position before
|
||
|
// the function stops refining the match position.
|
||
|
IMAQ_INITIAL_MATCH_LIST_LENGTH =
|
||
|
13, // Specifies the maximum size of the match list.
|
||
|
IMAQ_ENABLE_TARGET_TEMPLATE_CURVESCORE =
|
||
|
14, // Specifies whether the function should calculate the match curve to
|
||
|
// template curve score and return it for each match result.
|
||
|
IMAQ_MINIMUM_MATCH_SEPARATION_DISTANCE =
|
||
|
15, // Specifies the minimum separation distance, in pixels, between the
|
||
|
// origins of two matches that have unique positions.
|
||
|
IMAQ_MINIMUM_MATCH_SEPARATION_ANGLE =
|
||
|
16, // Specifies the minimum angular difference, in degrees, between two
|
||
|
// matches that have unique angles.
|
||
|
IMAQ_MINIMUM_MATCH_SEPARATION_SCALE =
|
||
|
17, // Specifies the minimum difference in scale, expressed as a
|
||
|
// percentage, between two matches that have unique scales.
|
||
|
IMAQ_MAXIMUM_MATCH_OVERLAP = 18, // Specifies whether you want the algorithm
|
||
|
// to spend less time accurately estimating
|
||
|
// the location of a match.
|
||
|
IMAQ_ENABLE_COARSE_RESULT = 19, // Specifies whether you want the algorithm
|
||
|
// to spend less time accurately estimating
|
||
|
// the location of a match.
|
||
|
IMAQ_ENABLE_CALIBRATION_SUPPORT = 20, // Specifies whether or not the
|
||
|
// algorithm treat the inspection image
|
||
|
// as a calibrated image.
|
||
|
IMAQ_ENABLE_CONTRAST_REVERSAL =
|
||
|
21, // Specifies the contrast of the matches to search for.
|
||
|
IMAQ_SEARCH_STRATEGY = 22, // Specifies the aggressiveness of the strategy
|
||
|
// used to find matches in the image.
|
||
|
IMAQ_REFINEMENT_MATCH_FACTOR =
|
||
|
23, // Specifies the factor applied to the number of matches requested to
|
||
|
// determine how many matches are refined in the pyramid stage.
|
||
|
IMAQ_SUBPIXEL_MATCH_FACTOR = 24, // Specifies the factor applied to the
|
||
|
// number for matches requested to determine
|
||
|
// how many matches are used for the final
|
||
|
// (subpixel) stage.
|
||
|
IMAQ_MAX_REFINEMENT_ITERATIONS =
|
||
|
25, // Specifies maximum refinement iteration.
|
||
|
} GeometricSetupDataItem;
|
||
|
|
||
|
typedef enum DistortionModel_enum {
|
||
|
IMAQ_POLYNOMIAL_MODEL = 0, // Polynomial model.
|
||
|
IMAQ_DIVISION_MODEL = 1, // Division Model.
|
||
|
IMAQ_NO_DISTORTION_MODEL = -1, // Not a distortion model.
|
||
|
} DistortionModel;
|
||
|
|
||
|
typedef enum CalibrationThumbnailType_enum {
|
||
|
IMAQ_CAMARA_MODEL_TYPE = 0, // Camara model thumbnail type.
|
||
|
IMAQ_PERSPECTIVE_TYPE = 1, // Perspective thumbnail type.
|
||
|
IMAQ_MICRO_PLANE_TYPE = 2, // Micro Plane thumbnail type.
|
||
|
IMAQ_CALIBRATION_THUMBNAIL_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} CalibrationThumbnailType;
|
||
|
|
||
|
typedef enum SettingType_enum {
|
||
|
IMAQ_ROTATION_ANGLE_RANGE = 0, // Set a range for this option to specify the
|
||
|
// angles at which you expect the Function to
|
||
|
// find template matches in the inspection
|
||
|
// image.
|
||
|
IMAQ_SCALE_RANGE = 1, // Set a range for this option to specify the sizes at
|
||
|
// which you expect the Function to find template
|
||
|
// matches in the inspection image.
|
||
|
IMAQ_OCCLUSION_RANGE = 2, // Set a range for this option to specify the
|
||
|
// amount of occlusion you expect for a match in
|
||
|
// the inspection image.
|
||
|
IMAQ_SETTING_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} SettingType;
|
||
|
|
||
|
typedef enum SegmentationDistanceLevel_enum {
|
||
|
IMAQ_SEGMENTATION_LEVEL_CONSERVATIVE =
|
||
|
0, // Uses extensive criteria to determine the Maximum Distance.
|
||
|
IMAQ_SEGMENTATION_LEVEL_AGGRESSIVE =
|
||
|
1, // Uses few criteria to determine the Maximum Distance.
|
||
|
IMAQ_SEGMENTATION_LEVEL_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} SegmentationDistanceLevel;
|
||
|
|
||
|
typedef enum ExtractContourSelection_enum {
|
||
|
IMAQ_CLOSEST = 0, // Selects the curve closest to the ROI.
|
||
|
IMAQ_LONGEST = 1, // Selects the longest curve.
|
||
|
IMAQ_STRONGEST = 2, // Selects the curve with the highest edge strength
|
||
|
// averaged from each point on the curve.
|
||
|
IMAQ_EXTRACT_CONTOUR_SELECTION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ExtractContourSelection;
|
||
|
|
||
|
typedef enum FindTransformMode_enum {
|
||
|
IMAQ_FIND_REFERENCE = 0, // Update both parts of the coordinate system.
|
||
|
IMAQ_UPDATE_TRANSFORM = 1, // Update only the new reference system.
|
||
|
IMAQ_FIND_TRANSFORM_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} FindTransformMode;
|
||
|
|
||
|
typedef enum ExtractContourDirection_enum {
|
||
|
IMAQ_RECT_LEFT_RIGHT = 0, // Searches the ROI from left to right.
|
||
|
IMAQ_RECT_RIGHT_LEFT = 1, // Searches the ROI from right to left.
|
||
|
IMAQ_RECT_TOP_BOTTOM = 2, // Searches the ROI from top to bottom.
|
||
|
IMAQ_RECT_BOTTOM_TOP = 3, // Searches the ROI from bottom to top.
|
||
|
IMAQ_ANNULUS_INNER_OUTER =
|
||
|
4, // Searches the ROI from the inner radius to the outer radius.
|
||
|
IMAQ_ANNULUS_OUTER_INNER =
|
||
|
5, // Searches the ROI from the outer radius to the inner radius.
|
||
|
IMAQ_ANNULUS_START_STOP =
|
||
|
6, // Searches the ROI from start angle to end angle.
|
||
|
IMAQ_ANNULUS_STOP_START =
|
||
|
7, // Searches the ROI from end angle to start angle.
|
||
|
IMAQ_EXTRACT_CONTOUR_DIRECTION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ExtractContourDirection;
|
||
|
|
||
|
typedef enum EdgePolaritySearchMode_enum {
|
||
|
IMAQ_SEARCH_FOR_ALL_EDGES = 0, // Searches for all edges.
|
||
|
IMAQ_SEARCH_FOR_RISING_EDGES = 1, // Searches for rising edges only.
|
||
|
IMAQ_SEARCH_FOR_FALLING_EDGES = 2, // Searches for falling edges only.
|
||
|
IMAQ_EDGE_POLARITY_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} EdgePolaritySearchMode;
|
||
|
|
||
|
typedef enum Connectivity_enum {
|
||
|
IMAQ_FOUR_CONNECTED =
|
||
|
0, // Morphological reconstruction is performed in connectivity mode 4.
|
||
|
IMAQ_EIGHT_CONNECTED =
|
||
|
1, // Morphological reconstruction is performed in connectivity mode 8.
|
||
|
IMAQ_CONNECTIVITY_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} Connectivity;
|
||
|
|
||
|
typedef enum MorphologyReconstructOperation_enum {
|
||
|
IMAQ_DILATE_RECONSTRUCT = 0, // Performs Reconstruction by dilation.
|
||
|
IMAQ_ERODE_RECONSTRUCT = 1, // Performs Reconstruction by erosion.
|
||
|
IMAQ_MORPHOLOGY_RECONSTRUCT_OPERATION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} MorphologyReconstructOperation;
|
||
|
|
||
|
typedef enum WaveletType_enum {
|
||
|
IMAQ_DB02 = 0,
|
||
|
IMAQ_DB03 = 1,
|
||
|
IMAQ_DB04 = 2, // Specifies the Wavelet Type as DB02.
|
||
|
IMAQ_DB05 = 3,
|
||
|
IMAQ_DB06 = 4,
|
||
|
IMAQ_DB07 = 5,
|
||
|
IMAQ_DB08 = 6,
|
||
|
IMAQ_DB09 = 7,
|
||
|
IMAQ_DB10 = 8,
|
||
|
IMAQ_DB11 = 9,
|
||
|
IMAQ_DB12 = 10,
|
||
|
IMAQ_DB13 = 11,
|
||
|
IMAQ_DB14 = 12,
|
||
|
IMAQ_HAAR = 13,
|
||
|
IMAQ_BIOR1_3 = 14,
|
||
|
IMAQ_BIOR1_5 = 15,
|
||
|
IMAQ_BIOR2_2 = 16,
|
||
|
IMAQ_BIOR2_4 = 17,
|
||
|
IMAQ_BIOR2_6 = 18,
|
||
|
IMAQ_BIOR2_8 = 19,
|
||
|
IMAQ_BIOR3_1 = 20,
|
||
|
IMAQ_BIOR3_3 = 21,
|
||
|
IMAQ_BIOR3_5 = 22,
|
||
|
IMAQ_BIOR3_7 = 23,
|
||
|
IMAQ_BIOR3_9 = 24,
|
||
|
IMAQ_BIOR4_4 = 25,
|
||
|
IMAQ_COIF1 = 26,
|
||
|
IMAQ_COIF2 = 27,
|
||
|
IMAQ_COIF3 = 28,
|
||
|
IMAQ_COIF4 = 29,
|
||
|
IMAQ_COIF5 = 30,
|
||
|
IMAQ_SYM2 = 31,
|
||
|
IMAQ_SYM3 = 32,
|
||
|
IMAQ_SYM4 = 33,
|
||
|
IMAQ_SYM5 = 34,
|
||
|
IMAQ_SYM6 = 35,
|
||
|
IMAQ_SYM7 = 36,
|
||
|
IMAQ_SYM8 = 37,
|
||
|
IMAQ_BIOR5_5 = 38,
|
||
|
IMAQ_BIOR6_8 = 39,
|
||
|
IMAQ_WAVE_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} WaveletType;
|
||
|
|
||
|
typedef enum ParticleClassifierThresholdType_enum {
|
||
|
IMAQ_THRESHOLD_MANUAL = 0, // The classifier performs a manual threshold on
|
||
|
// the image during preprocessing.
|
||
|
IMAQ_THRESHOLD_AUTO = 1, // The classifier performs an auto threshold on the
|
||
|
// image during preprocessing.
|
||
|
IMAQ_THRESHOLD_LOCAL = 2, // The classifier performs a local threshold on the
|
||
|
// image during preprocessing.
|
||
|
} ParticleClassifierThresholdType;
|
||
|
|
||
|
typedef enum MeasureParticlesCalibrationMode_enum {
|
||
|
IMAQ_CALIBRATION_MODE_PIXEL = 0, // The function takes only pixel
|
||
|
// measurements on the particles in the
|
||
|
// image.
|
||
|
IMAQ_CALIBRATION_MODE_CALIBRATED = 1, // The function takes only calibrated
|
||
|
// measurements on the particles in the
|
||
|
// image.
|
||
|
IMAQ_CALIBRATION_MODE_BOTH = 2, // The function takes both pixel and
|
||
|
// calibrated measurements on the particles
|
||
|
// in the image.
|
||
|
IMAQ_MEASURE_PARTICLES_CALIBRATION_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} MeasureParticlesCalibrationMode;
|
||
|
|
||
|
typedef enum GeometricMatchingSearchStrategy_enum {
|
||
|
IMAQ_GEOMETRIC_MATCHING_CONSERVATIVE =
|
||
|
0, // Instructs the pattern matching algorithm to use the largest
|
||
|
// possible amount of information from the image at the expense of
|
||
|
// slowing down the speed of the algorithm.
|
||
|
IMAQ_GEOMETRIC_MATCHING_BALANCED =
|
||
|
1, // Instructs the pattern matching algorithm to balance the amount of
|
||
|
// information from the image it uses with the speed of the algorithm.
|
||
|
IMAQ_GEOMETRIC_MATCHING_AGGRESSIVE =
|
||
|
2, // Instructs the pattern matching algorithm to use a lower amount of
|
||
|
// information from the image, which allows the algorithm to run
|
||
|
// quickly but at the expense of accuracy.
|
||
|
IMAQ_GEOMETRIC_MATCHING_SEARCH_STRATEGY_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} GeometricMatchingSearchStrategy;
|
||
|
|
||
|
typedef enum ColorClassificationResolution_enum {
|
||
|
IMAQ_CLASSIFIER_LOW_RESOLUTION =
|
||
|
0, // Low resolution version of the color classifier.
|
||
|
IMAQ_CLASSIFIER_MEDIUM_RESOLUTION =
|
||
|
1, // Medium resolution version of the color classifier.
|
||
|
IMAQ_CLASSIFIER_HIGH_RESOLUTION =
|
||
|
2, // High resolution version of the color classifier.
|
||
|
IMAQ_CLASSIFIER_RESOLUTION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ColorClassificationResolution;
|
||
|
|
||
|
typedef enum ConnectionConstraintType_enum {
|
||
|
IMAQ_DISTANCE_CONSTRAINT = 0, // Specifies the distance, in pixels, within
|
||
|
// which the end points of two curves must lie
|
||
|
// in order to be considered part of a contour.
|
||
|
IMAQ_ANGLE_CONSTRAINT =
|
||
|
1, // Specifies the range, in degrees, within which the difference
|
||
|
// between the angle of two curves, measured at the end points, must
|
||
|
// lie in order for the two curves to be considered part of a contour.
|
||
|
IMAQ_CONNECTIVITY_CONSTRAINT =
|
||
|
2, // Specifies the distance, in pixels, within which a line extended
|
||
|
// from the end point of a curve must pass the end point of another
|
||
|
// curve in order for the two curves to be considered part of a
|
||
|
// contour.
|
||
|
IMAQ_GRADIENT_CONSTRAINT =
|
||
|
3, // Specifies the range, in degrees, within which the gradient angles
|
||
|
// of two curves, measured at the end points, must lie in order for
|
||
|
// the two curves to be considered part of a contour.
|
||
|
IMAQ_NUM_CONNECTION_CONSTRAINT_TYPES = 4, //.
|
||
|
IMAQ_CONNECTION_CONSTRAINT_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ConnectionConstraintType;
|
||
|
|
||
|
typedef enum Barcode2DContrast_enum {
|
||
|
IMAQ_ALL_BARCODE_2D_CONTRASTS =
|
||
|
0, // The function searches for barcodes of each contrast type.
|
||
|
IMAQ_BLACK_ON_WHITE_BARCODE_2D = 1, // The function searches for 2D barcodes
|
||
|
// containing black data on a white
|
||
|
// background.
|
||
|
IMAQ_WHITE_ON_BLACK_BARCODE_2D = 2, // The function searches for 2D barcodes
|
||
|
// containing white data on a black
|
||
|
// background.
|
||
|
IMAQ_BARCODE_2D_CONTRAST_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} Barcode2DContrast;
|
||
|
|
||
|
typedef enum QRModelType_enum {
|
||
|
IMAQ_QR_MODELTYPE_AUTO_DETECT =
|
||
|
0, // Specifies that the function will auto-detect the type of QR code.
|
||
|
IMAQ_QR_MODELTYPE_MICRO = 1, // Specifies the QR code is of a micro type.
|
||
|
IMAQ_QR_MODELTYPE_MODEL1 = 2, // Specifies the QR code is of a model1 type.
|
||
|
IMAQ_QR_MODELTYPE_MODEL2 = 3, // Specifies the QR code is of a model2 type.
|
||
|
IMAQ_QR_MODEL_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} QRModelType;
|
||
|
|
||
|
typedef enum WindowBackgroundFillStyle_enum {
|
||
|
IMAQ_FILL_STYLE_SOLID = 0, // Fill the display window with a solid color.
|
||
|
IMAQ_FILL_STYLE_HATCH = 2, // Fill the display window with a pattern defined
|
||
|
// by WindowBackgroundHatchStyle.
|
||
|
IMAQ_FILL_STYLE_DEFAULT =
|
||
|
3, // Fill the display window with the NI Vision default pattern.
|
||
|
IMAQ_FILL_STYLE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} WindowBackgroundFillStyle;
|
||
|
|
||
|
typedef enum ExtractionMode_enum {
|
||
|
IMAQ_NORMAL_IMAGE = 0, // Specifies that the function makes no assumptions
|
||
|
// about the uniformity of objects in the image or the
|
||
|
// image background.
|
||
|
IMAQ_UNIFORM_REGIONS = 1, // Specifies that the function assumes that either
|
||
|
// the objects in the image or the image background
|
||
|
// consists of uniform pixel values.
|
||
|
IMAQ_EXTRACTION_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ExtractionMode;
|
||
|
|
||
|
typedef enum EdgeFilterSize_enum {
|
||
|
IMAQ_FINE =
|
||
|
0, // Specifies that the function uses a fine (narrow) edge filter.
|
||
|
IMAQ_NORMAL = 1, // Specifies that the function uses a normal edge filter.
|
||
|
IMAQ_CONTOUR_TRACING = 2, // Sets the Edge Filter Size to contour tracing,
|
||
|
// which provides the best results for contour
|
||
|
// extraction but increases the time required to
|
||
|
// process the image.
|
||
|
IMAQ_EDGE_FILTER_SIZE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} EdgeFilterSize;
|
||
|
|
||
|
typedef enum Barcode2DSearchMode_enum {
|
||
|
IMAQ_SEARCH_MULTIPLE = 0, // The function searches for multiple 2D barcodes.
|
||
|
IMAQ_SEARCH_SINGLE_CONSERVATIVE =
|
||
|
1, // The function searches for 2D barcodes using the same searching
|
||
|
// algorithm as IMAQ_SEARCH_MULTIPLE but stops searching after
|
||
|
// locating one valid barcode.
|
||
|
IMAQ_SEARCH_SINGLE_AGGRESSIVE =
|
||
|
2, // The function searches for a single 2D barcode using a method that
|
||
|
// assumes the barcode occupies a majority of the search region.
|
||
|
IMAQ_BARCODE_2D_SEARCH_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} Barcode2DSearchMode;
|
||
|
|
||
|
typedef enum DataMatrixSubtype_enum {
|
||
|
IMAQ_ALL_DATA_MATRIX_SUBTYPES =
|
||
|
0, // The function searches for Data Matrix barcodes of all subtypes.
|
||
|
IMAQ_DATA_MATRIX_SUBTYPES_ECC_000_ECC_140 =
|
||
|
1, // The function searches for Data Matrix barcodes of subtypes ECC 000,
|
||
|
// ECC 050, ECC 080, ECC 100 and ECC 140.
|
||
|
IMAQ_DATA_MATRIX_SUBTYPE_ECC_200 =
|
||
|
2, // The function searches for Data Matrix ECC 200 barcodes.
|
||
|
IMAQ_DATA_MATRIX_SUBTYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} DataMatrixSubtype;
|
||
|
|
||
|
typedef enum FeatureType_enum {
|
||
|
IMAQ_NOT_FOUND_FEATURE = 0, // Specifies the feature is not found.
|
||
|
IMAQ_CIRCLE_FEATURE = 1, // Specifies the feature is a circle.
|
||
|
IMAQ_ELLIPSE_FEATURE = 2, // Specifies the feature is an ellipse.
|
||
|
IMAQ_CONST_CURVE_FEATURE = 3, // Specifies the features is a constant curve.
|
||
|
IMAQ_RECTANGLE_FEATURE = 4, // Specifies the feature is a rectangle.
|
||
|
IMAQ_LEG_FEATURE = 5, // Specifies the feature is a leg.
|
||
|
IMAQ_CORNER_FEATURE = 6, // Specifies the feature is a corner.
|
||
|
IMAQ_PARALLEL_LINE_PAIR_FEATURE =
|
||
|
7, // Specifies the feature is a parallel line pair.
|
||
|
IMAQ_PAIR_OF_PARALLEL_LINE_PAIRS_FEATURE =
|
||
|
8, // Specifies the feature is a pair of parallel line pairs.
|
||
|
IMAQ_LINE_FEATURE = 9, // Specifies the feature is a line.
|
||
|
IMAQ_CLOSED_CURVE_FEATURE = 10, // Specifies the feature is a closed curve.
|
||
|
IMAQ_FEATURE_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} FeatureType;
|
||
|
|
||
|
typedef enum Barcode2DCellShape_enum {
|
||
|
IMAQ_SQUARE_CELLS = 0, // The function uses an algorithm for decoding the 2D
|
||
|
// barcode that works with square data cells.
|
||
|
IMAQ_ROUND_CELLS = 1, // The function uses an algorithm for decoding the 2D
|
||
|
// barcode that works with round data cells.
|
||
|
IMAQ_BARCODE_2D_CELL_SHAPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} Barcode2DCellShape;
|
||
|
|
||
|
typedef enum LocalThresholdMethod_enum {
|
||
|
IMAQ_NIBLACK = 0, // The function computes thresholds for each pixel based on
|
||
|
// its local statistics using the Niblack local
|
||
|
// thresholding algorithm.
|
||
|
IMAQ_BACKGROUND_CORRECTION =
|
||
|
1, // The function performs background correction first to eliminate
|
||
|
// non-uniform lighting effects, then performs thresholding using the
|
||
|
// Otsu thresholding algorithm.
|
||
|
IMAQ_LOCAL_THRESHOLD_METHOD_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} LocalThresholdMethod;
|
||
|
|
||
|
typedef enum Barcode2DType_enum {
|
||
|
IMAQ_PDF417 = 0, // The 2D barcode is of type PDF417.
|
||
|
IMAQ_DATA_MATRIX_ECC_000 =
|
||
|
1, // The 2D barcode is of type Data Matrix ECC 000.
|
||
|
IMAQ_DATA_MATRIX_ECC_050 =
|
||
|
2, // The 2D barcode is of type Data Matrix ECC 050.
|
||
|
IMAQ_DATA_MATRIX_ECC_080 =
|
||
|
3, // The 2D barcode is of type Data Matrix ECC 080.
|
||
|
IMAQ_DATA_MATRIX_ECC_100 =
|
||
|
4, // The 2D barcode is of type Data Matrix ECC 100.
|
||
|
IMAQ_DATA_MATRIX_ECC_140 =
|
||
|
5, // The 2D barcode is of type Data Matrix ECC 140.
|
||
|
IMAQ_DATA_MATRIX_ECC_200 =
|
||
|
6, // The 2D barcode is of type Data Matrix ECC 200.
|
||
|
IMAQ_BARCODE_2D_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} Barcode2DType;
|
||
|
|
||
|
typedef enum ClassifierEngineType_enum {
|
||
|
IMAQ_ENGINE_NONE = 0, // No engine has been set on this classifier session.
|
||
|
IMAQ_ENGINE_NEAREST_NEIGHBOR = 1, // Nearest neighbor engine.
|
||
|
IMAQ_ENGINE_SUPPORT_VECTOR_MACHINE = 2,
|
||
|
IMAQ_CLASSIFIER_ENGINE_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ClassifierEngineType;
|
||
|
|
||
|
typedef enum ClassifierType_enum {
|
||
|
IMAQ_CLASSIFIER_CUSTOM =
|
||
|
0, // The classifier session classifies vectors of doubles.
|
||
|
IMAQ_CLASSIFIER_PARTICLE =
|
||
|
1, // The classifier session classifies particles in binary images.
|
||
|
IMAQ_CLASSIFIER_COLOR =
|
||
|
2, // The classifier session classifies an image based on its color.
|
||
|
IMAQ_CLASSIFIER_TEXTURE =
|
||
|
3, // The classifier session classifies an image based on its texture.
|
||
|
IMAQ_CLASSIFIER_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ClassifierType;
|
||
|
|
||
|
typedef enum ParticleType_enum {
|
||
|
IMAQ_PARTICLE_BRIGHT = 0, // Bright particles.
|
||
|
IMAQ_PARTICLE_DARK = 1, // Dark particles.
|
||
|
IMAQ_PARTICLE_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ParticleType;
|
||
|
|
||
|
typedef enum VisionInfoType2_enum {
|
||
|
IMAQ_VISIONINFO_CALIBRATION = 0x01, // Used to indicate interaction with the
|
||
|
// Calibration information in an image.
|
||
|
IMAQ_VISIONINFO_OVERLAY = 0x02, // Used to indicate interaction with the
|
||
|
// Overlay information in an image.
|
||
|
IMAQ_VISIONINFO_GRAYTEMPLATE = 0x04, // Used to indicate interaction with the
|
||
|
// grayscale template information in an
|
||
|
// image.
|
||
|
IMAQ_VISIONINFO_COLORTEMPLATE = 0x08, // Used to indicate interaction with
|
||
|
// the color template information in an
|
||
|
// image.
|
||
|
IMAQ_VISIONINFO_GEOMETRICTEMPLATE = 0x10, // Used to indicate interaction
|
||
|
// with the geometric template
|
||
|
// information in an image.
|
||
|
IMAQ_VISIONINFO_CUSTOMDATA = 0x20, // Used to indicate interaction with the
|
||
|
// binary or text Custom Data in an image.
|
||
|
IMAQ_VISIONINFO_GOLDENTEMPLATE = 0x40, // Used to indicate interaction with
|
||
|
// the golden template information in
|
||
|
// an image.
|
||
|
IMAQ_VISIONINFO_GEOMETRICTEMPLATE2 = 0x80, // Used to indicate interaction
|
||
|
// with the geometric template 2
|
||
|
// information in an image.
|
||
|
IMAQ_VISIONINFO_ALL = 0xFFFFFFFF, // Removes, checks for, or indicates the
|
||
|
// presence of all types of extra
|
||
|
// information in an image.
|
||
|
} VisionInfoType2;
|
||
|
|
||
|
typedef enum ReadClassifierFileMode_enum {
|
||
|
IMAQ_CLASSIFIER_READ_ALL =
|
||
|
0, // Read all information from the classifier file.
|
||
|
IMAQ_CLASSIFIER_READ_SAMPLES =
|
||
|
1, // Read only the samples from the classifier file.
|
||
|
IMAQ_CLASSIFIER_READ_PROPERTIES =
|
||
|
2, // Read only the properties from the classifier file.
|
||
|
IMAQ_READ_CLASSIFIER_FILE_MODES_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} ReadClassifierFileMode;
|
||
|
|
||
|
typedef enum WriteClassifierFileMode_enum {
|
||
|
IMAQ_CLASSIFIER_WRITE_ALL =
|
||
|
0, // Writes all information to the classifier file.
|
||
|
IMAQ_CLASSIFIER_WRITE_CLASSIFY_ONLY = 1, // Write only the information needed
|
||
|
// to classify to the classifier
|
||
|
// file.
|
||
|
IMAQ_WRITE_CLASSIFIER_FILE_MODES_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} WriteClassifierFileMode;
|
||
|
|
||
|
typedef enum Barcode2DShape_enum {
|
||
|
IMAQ_SQUARE_BARCODE_2D = 0, // The function searches for square 2D barcodes.
|
||
|
IMAQ_RECTANGULAR_BARCODE_2D =
|
||
|
1, // The function searches for rectangular 2D barcodes.
|
||
|
IMAQ_BARCODE_2D_SHAPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} Barcode2DShape;
|
||
|
|
||
|
typedef enum DataMatrixRotationMode_enum {
|
||
|
IMAQ_UNLIMITED_ROTATION = 0, // The function allows for unlimited rotation.
|
||
|
IMAQ_0_DEGREES =
|
||
|
1, // The function allows for between -5 and 5 degrees of rotation.
|
||
|
IMAQ_90_DEGREES =
|
||
|
2, // The function allows for between 85 and 95 degrees of rotation.
|
||
|
IMAQ_180_DEGREES =
|
||
|
3, // The function allows for between 175 and 185 degrees of rotation.
|
||
|
IMAQ_270_DEGREES =
|
||
|
4, // The function allows for between 265 and 275 degrees of rotation.
|
||
|
IMAQ_DATA_MATRIX_ROTATION_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} DataMatrixRotationMode;
|
||
|
|
||
|
typedef enum AIMGrade_enum {
|
||
|
IMAQ_AIM_GRADE_F = 0, // The Data Matrix barcode received a grade of F.
|
||
|
IMAQ_AIM_GRADE_D = 1, // The Data Matrix barcode received a grade of D.
|
||
|
IMAQ_AIM_GRADE_C = 2, // The Data Matrix barcode received a grade of C.
|
||
|
IMAQ_AIM_GRADE_B = 3, // The Data Matrix barcode received a grade of B.
|
||
|
IMAQ_AIM_GRADE_A = 4, // The Data Matrix barcode received a grade of A.
|
||
|
IMAQ_DATA_MATRIX_AIM_GRADE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} AIMGrade;
|
||
|
|
||
|
typedef enum DataMatrixCellFillMode_enum {
|
||
|
IMAQ_AUTO_DETECT_CELL_FILL_MODE = -2, // Sets the function to determine the
|
||
|
// Data Matrix barcode cell fill
|
||
|
// percentage automatically.
|
||
|
IMAQ_LOW_FILL = 0, // Sets the function to read Data Matrix barcodes with a
|
||
|
// cell fill percentage of less than 30 percent.
|
||
|
IMAQ_NORMAL_FILL = 1, // Sets the function to read Data Matrix barcodes with
|
||
|
// a cell fill percentage greater than or equal to 30
|
||
|
// percent.
|
||
|
IMAQ_DATA_MATRIX_CELL_FILL_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} DataMatrixCellFillMode;
|
||
|
|
||
|
typedef enum DataMatrixDemodulationMode_enum {
|
||
|
IMAQ_AUTO_DETECT_DEMODULATION_MODE =
|
||
|
-2, // The function will try each demodulation mode and use the one which
|
||
|
// decodes the Data Matrix barcode within the fewest iterations and
|
||
|
// utilizing the least amount of error correction.
|
||
|
IMAQ_HISTOGRAM = 0, // The function uses a histogram of all of the Data
|
||
|
// Matrix cells to calculate a threshold.
|
||
|
IMAQ_LOCAL_CONTRAST = 1, // The function examines each of the cell's
|
||
|
// neighbors to determine if the cell is on or off.
|
||
|
IMAQ_COMBINED = 2, // The function uses the histogram of the Data Matrix
|
||
|
// barcode to calculate a threshold.
|
||
|
IMAQ_ALL_DEMODULATION_MODES =
|
||
|
3, // The function tries IMAQ_HISTOGRAM, then IMAQ_LOCAL_CONTRAST and
|
||
|
// then IMAQ_COMBINATION, stopping once one mode is successful.
|
||
|
IMAQ_DATA_MATRIX_DEMODULATION_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} DataMatrixDemodulationMode;
|
||
|
|
||
|
typedef enum DataMatrixECC_enum {
|
||
|
IMAQ_AUTO_DETECT_ECC = -2, // Sets the function to determine the Data Matrix
|
||
|
// barcode ECC automatically.
|
||
|
IMAQ_ECC_000 =
|
||
|
0, // Sets the function to read Data Matrix barcodes of ECC 000 only.
|
||
|
IMAQ_ECC_050 =
|
||
|
50, // Sets the function to read Data Matrix barcodes of ECC 050 only.
|
||
|
IMAQ_ECC_080 =
|
||
|
80, // Sets the function to read Data Matrix barcodes of ECC 080 only.
|
||
|
IMAQ_ECC_100 =
|
||
|
100, // Sets the function to read Data Matrix barcodes of ECC 100 only.
|
||
|
IMAQ_ECC_140 =
|
||
|
140, // Sets the function to read Data Matrix barcodes of ECC 140 only.
|
||
|
IMAQ_ECC_000_140 = 190, // Sets the function to read Data Matrix barcodes of
|
||
|
// ECC 000, ECC 050, ECC 080, ECC 100, and ECC 140
|
||
|
// only.
|
||
|
IMAQ_ECC_200 =
|
||
|
200, // Sets the function to read Data Matrix barcodes of ECC 200 only.
|
||
|
IMAQ_DATA_MATRIX_ECC_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} DataMatrixECC;
|
||
|
|
||
|
typedef enum DataMatrixPolarity_enum {
|
||
|
IMAQ_AUTO_DETECT_POLARITY = -2, // Sets the function to determine the Data
|
||
|
// Matrix barcode polarity automatically.
|
||
|
IMAQ_BLACK_DATA_ON_WHITE_BACKGROUND = 0, // Sets the function to read Data
|
||
|
// Matrix barcodes with dark data on
|
||
|
// a bright background.
|
||
|
IMAQ_WHITE_DATA_ON_BLACK_BACKGROUND = 1, // Sets the function to read Data
|
||
|
// Matrix barcodes with bright data
|
||
|
// on a dark background.
|
||
|
IMAQ_DATA_MATRIX_POLARITY_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} DataMatrixPolarity;
|
||
|
|
||
|
typedef enum DataMatrixCellFilterMode_enum {
|
||
|
IMAQ_AUTO_DETECT_CELL_FILTER_MODE =
|
||
|
-2, // The function will try all filter modes and uses the one that
|
||
|
// decodes the Data Matrix barcode within the fewest iterations and
|
||
|
// utilizing the least amount of error correction.
|
||
|
IMAQ_AVERAGE_FILTER = 0, // The function sets the pixel value for the cell to
|
||
|
// the average of the sampled pixels.
|
||
|
IMAQ_MEDIAN_FILTER = 1, // The function sets the pixel value for the cell to
|
||
|
// the median of the sampled pixels.
|
||
|
IMAQ_CENTRAL_AVERAGE_FILTER = 2, // The function sets the pixel value for the
|
||
|
// cell to the average of the pixels in the
|
||
|
// center of the cell sample.
|
||
|
IMAQ_HIGH_AVERAGE_FILTER =
|
||
|
3, // The function sets the pixel value for the cell to the average value
|
||
|
// of the half of the sampled pixels with the highest pixel values.
|
||
|
IMAQ_LOW_AVERAGE_FILTER = 4, // The function sets the pixel value for the
|
||
|
// cell to the average value of the half of the
|
||
|
// sampled pixels with the lowest pixel values.
|
||
|
IMAQ_VERY_HIGH_AVERAGE_FILTER =
|
||
|
5, // The function sets the pixel value for the cell to the average value
|
||
|
// of the ninth of the sampled pixels with the highest pixel values.
|
||
|
IMAQ_VERY_LOW_AVERAGE_FILTER =
|
||
|
6, // The function sets the pixel value for the cell to the average value
|
||
|
// of the ninth of the sampled pixels with the lowest pixel values.
|
||
|
IMAQ_ALL_CELL_FILTERS = 8, // The function tries each filter mode, starting
|
||
|
// with IMAQ_AVERAGE_FILTER and ending with
|
||
|
// IMAQ_VERY_LOW_AVERAGE_FILTER, stopping once a
|
||
|
// filter mode decodes correctly.
|
||
|
IMAQ_DATA_MATRIX_CELL_FILTER_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} DataMatrixCellFilterMode;
|
||
|
|
||
|
typedef enum WindowBackgroundHatchStyle_enum {
|
||
|
IMAQ_HATCH_STYLE_HORIZONTAL =
|
||
|
0, // The background of the display window will be horizontal bars.
|
||
|
IMAQ_HATCH_STYLE_VERTICAL =
|
||
|
1, // The background of the display window will be vertical bars.
|
||
|
IMAQ_HATCH_STYLE_FORWARD_DIAGONAL =
|
||
|
2, // The background of the display window will be diagonal bars.
|
||
|
IMAQ_HATCH_STYLE_BACKWARD_DIAGONAL =
|
||
|
3, // The background of the display window will be diagonal bars.
|
||
|
IMAQ_HATCH_STYLE_CROSS = 4, // The background of the display window will be
|
||
|
// intersecting horizontal and vertical bars.
|
||
|
IMAQ_HATCH_STYLE_CROSS_HATCH = 5, // The background of the display window
|
||
|
// will be intersecting forward and
|
||
|
// backward diagonal bars.
|
||
|
IMAQ_HATCH_STYLE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} WindowBackgroundHatchStyle;
|
||
|
|
||
|
typedef enum DataMatrixMirrorMode_enum {
|
||
|
IMAQ_AUTO_DETECT_MIRROR = -2, // Specifies that the function should determine
|
||
|
// if the Data Matrix barcode is mirrored.
|
||
|
IMAQ_APPEARS_NORMAL = 0, // Specifies that the function should expect the
|
||
|
// Data Matrix barcode to appear normal.
|
||
|
IMAQ_APPEARS_MIRRORED = 1, // Specifies that the function should expect the
|
||
|
// Data Matrix barcode to appear mirrored.
|
||
|
IMAQ_DATA_MATRIX_MIRROR_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} DataMatrixMirrorMode;
|
||
|
|
||
|
typedef enum CalibrationMode2_enum {
|
||
|
IMAQ_PERSPECTIVE_MODE = 0, // Functions correct for distortion caused by the
|
||
|
// camera's perspective.
|
||
|
IMAQ_MICROPLANE_MODE =
|
||
|
1, // Functions correct for distortion caused by the camera's lens.
|
||
|
IMAQ_SIMPLE_CALIBRATION_MODE = 2, // Functions do not correct for distortion.
|
||
|
IMAQ_CORRECTED_IMAGE_MODE = 3, // The image is already corrected.
|
||
|
IMAQ_NO_CALIBRATION_MODE = 4, // Image with No calibration.
|
||
|
IMAQ_CALIBRATION_MODE2_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} CalibrationMode2;
|
||
|
|
||
|
typedef enum DataMatrixGradingMode_enum {
|
||
|
IMAQ_NO_GRADING =
|
||
|
0, // The function does not make any preparatory calculations.
|
||
|
IMAQ_PREPARE_FOR_AIM = 1, // The function prepares the image for grading
|
||
|
// using the AIM Print Quality metrics.
|
||
|
IMAQ_DATA_MATRIX_GRADING_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} DataMatrixGradingMode;
|
||
|
|
||
|
typedef enum WaveletTransformMode_enum {
|
||
|
IMAQ_WAVELET_TRANSFORM_INTEGER =
|
||
|
0, // Uses a 5-3 reversible integer transform.
|
||
|
IMAQ_WAVELET_TRANSFORM_FLOATING_POINT =
|
||
|
1, // Performs a 9-7 irreversible floating-point transform.
|
||
|
IMAQ_WAVELET_TRANSFORM_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} WaveletTransformMode;
|
||
|
|
||
|
typedef enum NormalizationMethod_enum {
|
||
|
IMAQ_NORMALIZATION_NONE = 0, // No normalization.
|
||
|
IMAQ_NORMALIZATION_HISTOGRAM_MATCHING = 1, // Adjust image so its histogram
|
||
|
// is similar to the golden
|
||
|
// template's histogram.
|
||
|
IMAQ_NORMALIZATION_AVERAGE_MATCHING = 2, // Adjust image so its mean pixel
|
||
|
// value equals the golden
|
||
|
// template's mean pixel value.
|
||
|
IMAQ_NORMALIZATION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} NormalizationMethod;
|
||
|
|
||
|
typedef enum RegistrationMethod_enum {
|
||
|
IMAQ_REGISTRATION_NONE = 0, // No registration.
|
||
|
IMAQ_REGISTRATION_PERSPECTIVE = 1, // Adjust image to correct for minor
|
||
|
// variations in alignment or perspective.
|
||
|
IMAQ_REGISTRATION_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} RegistrationMethod;
|
||
|
|
||
|
typedef enum LinearAveragesMode_enum {
|
||
|
IMAQ_COLUMN_AVERAGES = 1, // Specifies that the function calculates the mean
|
||
|
// pixel value of each column.
|
||
|
IMAQ_ROW_AVERAGES = 2, // Specifies that the function calculates the mean
|
||
|
// pixel value of each row.
|
||
|
IMAQ_RISING_DIAGONAL_AVERAGES =
|
||
|
4, // Specifies that the function calculates the mean pixel value of each
|
||
|
// diagonal running from the lower left to the upper right of the
|
||
|
// inspected area of the image.
|
||
|
IMAQ_FALLING_DIAGONAL_AVERAGES =
|
||
|
8, // Specifies that the function calculates the mean pixel value of each
|
||
|
// diagonal running from the upper left to the lower right of the
|
||
|
// inspected area of the image.
|
||
|
IMAQ_ALL_LINEAR_AVERAGES = 15, // Specifies that the function calculates all
|
||
|
// four linear mean pixel values.
|
||
|
IMAQ_LINEAR_AVERAGES_MODE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} LinearAveragesMode;
|
||
|
|
||
|
typedef enum CompressionType_enum {
|
||
|
IMAQ_COMPRESSION_NONE =
|
||
|
0, // Specifies that the function should not compress the image.
|
||
|
IMAQ_COMPRESSION_JPEG = 1, // Specifies that the function should use lossy
|
||
|
// JPEG compression on the image.
|
||
|
IMAQ_COMPRESSION_PACKED_BINARY = 2, // Specifies that the function should use
|
||
|
// lossless binary packing on the image.
|
||
|
IMAQ_COMPRESSION_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} CompressionType;
|
||
|
|
||
|
typedef enum FlattenType_enum {
|
||
|
IMAQ_FLATTEN_IMAGE = 0, // Flattens just the image data.
|
||
|
IMAQ_FLATTEN_IMAGE_AND_VISION_INFO = 1, // Flattens the image data and any
|
||
|
// Vision information associated with
|
||
|
// the image.
|
||
|
IMAQ_FLATTEN_TYPE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} FlattenType;
|
||
|
|
||
|
typedef enum DataMatrixCellSampleSize_enum {
|
||
|
IMAQ_AUTO_DETECT_CELL_SAMPLE_SIZE =
|
||
|
-2, // The function will try each sample size and use the one which
|
||
|
// decodes the Data Matrix barcode within the fewest iterations and
|
||
|
// utilizing the least amount of error correction.
|
||
|
IMAQ_1x1 = 1, // The function will use a 1x1 sized sample from each cell.
|
||
|
IMAQ_2x2 = 2, // The function will use a 2x2 sized sample from each cell.
|
||
|
IMAQ_3x3 = 3, // The function will use a 3x3 sized sample from each cell.
|
||
|
IMAQ_4x4 = 4, // The function will use a 4x4 sized sample from each cell.
|
||
|
IMAQ_5x5 = 5, // The function will use a 5x5 sized sample from each cell.
|
||
|
IMAQ_6x6 = 6, // The function will use a 6x6 sized sample from each cell.
|
||
|
IMAQ_7x7 = 7, // The function will use a 7x7 sized sample from each cell.
|
||
|
IMAQ_DATA_MATRIX_CELL_SAMPLE_SIZE_SIZE_GUARD = 0xFFFFFFFF
|
||
|
} DataMatrixCellSampleSize;
|
||
|
|
||
|
//============================================================================
|
||
|
// Forward Declare Data Structures
|
||
|
//============================================================================
|
||
|
typedef struct Image_struct Image;
|
||
|
typedef struct ROI_struct ROI;
|
||
|
typedef struct Overlay_struct Overlay;
|
||
|
typedef struct ClassifierSession_struct ClassifierSession;
|
||
|
typedef struct MultipleGeometricPattern_struct MultipleGeometricPattern;
|
||
|
typedef int ContourID;
|
||
|
typedef unsigned long SESSION_ID;
|
||
|
typedef int AVISession;
|
||
|
typedef char* FilterName;
|
||
|
typedef char String255[256];
|
||
|
typedef struct CharSet_struct CharSet;
|
||
|
typedef struct OCRSpacingOptions_struct OCRSpacingOptions;
|
||
|
typedef struct OCRProcessingOptions_struct OCRProcessingOptions;
|
||
|
typedef struct ReadTextOptions_struct ReadTextOptions;
|
||
|
typedef struct CharInfo_struct CharInfo;
|
||
|
typedef struct CharReport_struct CharReport;
|
||
|
typedef struct ReadTextReport_struct ReadTextReport;
|
||
|
typedef struct DivisionModel_struct DivisionModel;
|
||
|
typedef struct FocalLength_struct FocalLength;
|
||
|
typedef struct PolyModel_struct PolyModel;
|
||
|
typedef struct DistortionModelParams_struct DistortionModelParams;
|
||
|
typedef struct PointFloat_struct PointFloat;
|
||
|
typedef struct InternalParameters_struct InternalParameters;
|
||
|
typedef struct MaxGridSize_struct MaxGridSize;
|
||
|
typedef struct ImageSize_struct ImageSize;
|
||
|
typedef struct CalibrationReferencePoints_struct CalibrationReferencePoints;
|
||
|
typedef struct GetCameraParametersReport_struct GetCameraParametersReport;
|
||
|
typedef struct CalibrationAxisInfo_struct CalibrationAxisInfo;
|
||
|
typedef struct CalibrationLearnSetupInfo_struct CalibrationLearnSetupInfo;
|
||
|
typedef struct GridDescriptor_struct GridDescriptor;
|
||
|
typedef struct ErrorStatistics_struct ErrorStatistics;
|
||
|
typedef struct GetCalibrationInfoReport_struct GetCalibrationInfoReport;
|
||
|
typedef struct EdgePolarity_struct EdgePolarity;
|
||
|
typedef struct ClampSettings_struct ClampSettings;
|
||
|
typedef struct PointDouble_struct PointDouble;
|
||
|
typedef struct PointDoublePair_struct PointDoublePair;
|
||
|
typedef struct ClampResults_struct ClampResults;
|
||
|
typedef struct ClampPoints_struct ClampPoints;
|
||
|
typedef struct RGBValue_struct RGBValue;
|
||
|
typedef struct ClampOverlaySettings_struct ClampOverlaySettings;
|
||
|
typedef struct ClampMax2Report_struct ClampMax2Report;
|
||
|
typedef struct ContourFitSplineReport_struct ContourFitSplineReport;
|
||
|
typedef struct LineFloat_struct LineFloat;
|
||
|
typedef struct LineEquation_struct LineEquation;
|
||
|
typedef struct ContourFitLineReport_struct ContourFitLineReport;
|
||
|
typedef struct ContourFitPolynomialReport_struct ContourFitPolynomialReport;
|
||
|
typedef struct PartialCircle_struct PartialCircle;
|
||
|
typedef struct PartialEllipse_struct PartialEllipse;
|
||
|
typedef struct SetupMatchPatternData_struct SetupMatchPatternData;
|
||
|
typedef struct RangeSettingDouble_struct RangeSettingDouble;
|
||
|
typedef struct GeometricAdvancedSetupDataOption_struct
|
||
|
GeometricAdvancedSetupDataOption;
|
||
|
typedef struct ContourInfoReport_struct ContourInfoReport;
|
||
|
typedef struct ROILabel_struct ROILabel;
|
||
|
typedef struct SupervisedColorSegmentationReport_struct
|
||
|
SupervisedColorSegmentationReport;
|
||
|
typedef struct LabelToROIReport_struct LabelToROIReport;
|
||
|
typedef struct ColorSegmenationOptions_struct ColorSegmenationOptions;
|
||
|
typedef struct ClassifiedCurve_struct ClassifiedCurve;
|
||
|
typedef struct RangeDouble_struct RangeDouble;
|
||
|
typedef struct RangeLabel_struct RangeLabel;
|
||
|
typedef struct CurvatureAnalysisReport_struct CurvatureAnalysisReport;
|
||
|
typedef struct Disparity_struct Disparity;
|
||
|
typedef struct ComputeDistancesReport_struct ComputeDistancesReport;
|
||
|
typedef struct MatchMode_struct MatchMode;
|
||
|
typedef struct ClassifiedDisparity_struct ClassifiedDisparity;
|
||
|
typedef struct ClassifyDistancesReport_struct ClassifyDistancesReport;
|
||
|
typedef struct ContourComputeCurvatureReport_struct
|
||
|
ContourComputeCurvatureReport;
|
||
|
typedef struct ContourOverlaySettings_struct ContourOverlaySettings;
|
||
|
typedef struct CurveParameters_struct CurveParameters;
|
||
|
typedef struct ExtractContourReport_struct ExtractContourReport;
|
||
|
typedef struct ConnectionConstraint_struct ConnectionConstraint;
|
||
|
typedef struct ExtractTextureFeaturesReport_struct ExtractTextureFeaturesReport;
|
||
|
typedef struct WaveletBandsReport_struct WaveletBandsReport;
|
||
|
typedef struct CircleFitOptions_struct CircleFitOptions;
|
||
|
typedef struct EdgeOptions2_struct EdgeOptions2;
|
||
|
typedef struct FindCircularEdgeOptions_struct FindCircularEdgeOptions;
|
||
|
typedef struct FindConcentricEdgeOptions_struct FindConcentricEdgeOptions;
|
||
|
typedef struct ConcentricEdgeFitOptions_struct ConcentricEdgeFitOptions;
|
||
|
typedef struct FindConcentricEdgeReport_struct FindConcentricEdgeReport;
|
||
|
typedef struct FindCircularEdgeReport_struct FindCircularEdgeReport;
|
||
|
typedef struct WindowSize_struct WindowSize;
|
||
|
typedef struct DisplacementVector_struct DisplacementVector;
|
||
|
typedef struct WaveletOptions_struct WaveletOptions;
|
||
|
typedef struct CooccurrenceOptions_struct CooccurrenceOptions;
|
||
|
typedef struct ParticleClassifierLocalThresholdOptions_struct
|
||
|
ParticleClassifierLocalThresholdOptions;
|
||
|
typedef struct RangeFloat_struct RangeFloat;
|
||
|
typedef struct ParticleClassifierAutoThresholdOptions_struct
|
||
|
ParticleClassifierAutoThresholdOptions;
|
||
|
typedef struct ParticleClassifierPreprocessingOptions2_struct
|
||
|
ParticleClassifierPreprocessingOptions2;
|
||
|
typedef struct MeasureParticlesReport_struct MeasureParticlesReport;
|
||
|
typedef struct GeometricPatternMatch3_struct GeometricPatternMatch3;
|
||
|
typedef struct MatchGeometricPatternAdvancedOptions3_struct
|
||
|
MatchGeometricPatternAdvancedOptions3;
|
||
|
typedef struct ColorOptions_struct ColorOptions;
|
||
|
typedef struct SampleScore_struct SampleScore;
|
||
|
typedef struct ClassifierReportAdvanced_struct ClassifierReportAdvanced;
|
||
|
typedef struct LearnGeometricPatternAdvancedOptions2_struct
|
||
|
LearnGeometricPatternAdvancedOptions2;
|
||
|
typedef struct ParticleFilterOptions2_struct ParticleFilterOptions2;
|
||
|
typedef struct FindEdgeOptions2_struct FindEdgeOptions2;
|
||
|
typedef struct FindEdgeReport_struct FindEdgeReport;
|
||
|
typedef struct FindTransformRectOptions2_struct FindTransformRectOptions2;
|
||
|
typedef struct FindTransformRectsOptions2_struct FindTransformRectsOptions2;
|
||
|
typedef struct ReadTextReport3_struct ReadTextReport3;
|
||
|
typedef struct CharacterStatistics_struct CharacterStatistics;
|
||
|
typedef struct CharReport3_struct CharReport3;
|
||
|
typedef struct ArcInfo2_struct ArcInfo2;
|
||
|
typedef struct EdgeReport2_struct EdgeReport2;
|
||
|
typedef struct SearchArcInfo_struct SearchArcInfo;
|
||
|
typedef struct ConcentricRakeReport2_struct ConcentricRakeReport2;
|
||
|
typedef struct SpokeReport2_struct SpokeReport2;
|
||
|
typedef struct EdgeInfo_struct EdgeInfo;
|
||
|
typedef struct SearchLineInfo_struct SearchLineInfo;
|
||
|
typedef struct RakeReport2_struct RakeReport2;
|
||
|
typedef struct TransformBehaviors_struct TransformBehaviors;
|
||
|
typedef struct QRCodeDataToken_struct QRCodeDataToken;
|
||
|
typedef struct ParticleFilterOptions_struct ParticleFilterOptions;
|
||
|
typedef struct StraightEdgeReport2_struct StraightEdgeReport2;
|
||
|
typedef struct StraightEdgeOptions_struct StraightEdgeOptions;
|
||
|
typedef struct StraightEdge_struct StraightEdge;
|
||
|
typedef struct QRCodeSearchOptions_struct QRCodeSearchOptions;
|
||
|
typedef struct QRCodeSizeOptions_struct QRCodeSizeOptions;
|
||
|
typedef struct QRCodeDescriptionOptions_struct QRCodeDescriptionOptions;
|
||
|
typedef struct QRCodeReport_struct QRCodeReport;
|
||
|
typedef struct AIMGradeReport_struct AIMGradeReport;
|
||
|
typedef struct DataMatrixSizeOptions_struct DataMatrixSizeOptions;
|
||
|
typedef struct DataMatrixDescriptionOptions_struct DataMatrixDescriptionOptions;
|
||
|
typedef struct DataMatrixSearchOptions_struct DataMatrixSearchOptions;
|
||
|
typedef struct DataMatrixReport_struct DataMatrixReport;
|
||
|
typedef struct JPEG2000FileAdvancedOptions_struct JPEG2000FileAdvancedOptions;
|
||
|
typedef struct MatchGeometricPatternAdvancedOptions2_struct
|
||
|
MatchGeometricPatternAdvancedOptions2;
|
||
|
typedef struct InspectionAlignment_struct InspectionAlignment;
|
||
|
typedef struct InspectionOptions_struct InspectionOptions;
|
||
|
typedef struct CharReport2_struct CharReport2;
|
||
|
typedef struct CharInfo2_struct CharInfo2;
|
||
|
typedef struct ReadTextReport2_struct ReadTextReport2;
|
||
|
typedef struct EllipseFeature_struct EllipseFeature;
|
||
|
typedef struct CircleFeature_struct CircleFeature;
|
||
|
typedef struct ConstCurveFeature_struct ConstCurveFeature;
|
||
|
typedef struct RectangleFeature_struct RectangleFeature;
|
||
|
typedef struct LegFeature_struct LegFeature;
|
||
|
typedef struct CornerFeature_struct CornerFeature;
|
||
|
typedef struct LineFeature_struct LineFeature;
|
||
|
typedef struct ParallelLinePairFeature_struct ParallelLinePairFeature;
|
||
|
typedef struct PairOfParallelLinePairsFeature_struct
|
||
|
PairOfParallelLinePairsFeature;
|
||
|
typedef union GeometricFeature_union GeometricFeature;
|
||
|
typedef struct FeatureData_struct FeatureData;
|
||
|
typedef struct GeometricPatternMatch2_struct GeometricPatternMatch2;
|
||
|
typedef struct ClosedCurveFeature_struct ClosedCurveFeature;
|
||
|
typedef struct LineMatch_struct LineMatch;
|
||
|
typedef struct LineDescriptor_struct LineDescriptor;
|
||
|
typedef struct RectangleDescriptor_struct RectangleDescriptor;
|
||
|
typedef struct RectangleMatch_struct RectangleMatch;
|
||
|
typedef struct EllipseDescriptor_struct EllipseDescriptor;
|
||
|
typedef struct EllipseMatch_struct EllipseMatch;
|
||
|
typedef struct CircleMatch_struct CircleMatch;
|
||
|
typedef struct CircleDescriptor_struct CircleDescriptor;
|
||
|
typedef struct ShapeDetectionOptions_struct ShapeDetectionOptions;
|
||
|
typedef struct Curve_struct Curve;
|
||
|
typedef struct CurveOptions_struct CurveOptions;
|
||
|
typedef struct Barcode2DInfo_struct Barcode2DInfo;
|
||
|
typedef struct DataMatrixOptions_struct DataMatrixOptions;
|
||
|
typedef struct ClassifierAccuracyReport_struct ClassifierAccuracyReport;
|
||
|
typedef struct NearestNeighborClassResult_struct NearestNeighborClassResult;
|
||
|
typedef struct NearestNeighborTrainingReport_struct
|
||
|
NearestNeighborTrainingReport;
|
||
|
typedef struct ParticleClassifierPreprocessingOptions_struct
|
||
|
ParticleClassifierPreprocessingOptions;
|
||
|
typedef struct ClassifierSampleInfo_struct ClassifierSampleInfo;
|
||
|
typedef struct ClassScore_struct ClassScore;
|
||
|
typedef struct ClassifierReport_struct ClassifierReport;
|
||
|
typedef struct NearestNeighborOptions_struct NearestNeighborOptions;
|
||
|
typedef struct ParticleClassifierOptions_struct ParticleClassifierOptions;
|
||
|
typedef struct RGBU64Value_struct RGBU64Value;
|
||
|
typedef struct GeometricPatternMatch_struct GeometricPatternMatch;
|
||
|
typedef struct MatchGeometricPatternAdvancedOptions_struct
|
||
|
MatchGeometricPatternAdvancedOptions;
|
||
|
typedef struct MatchGeometricPatternOptions_struct MatchGeometricPatternOptions;
|
||
|
typedef struct LearnGeometricPatternAdvancedOptions_struct
|
||
|
LearnGeometricPatternAdvancedOptions;
|
||
|
typedef struct FitEllipseOptions_struct FitEllipseOptions;
|
||
|
typedef struct FitCircleOptions_struct FitCircleOptions;
|
||
|
typedef struct ConstructROIOptions2_struct ConstructROIOptions2;
|
||
|
typedef struct HSLValue_struct HSLValue;
|
||
|
typedef struct HSVValue_struct HSVValue;
|
||
|
typedef struct HSIValue_struct HSIValue;
|
||
|
typedef struct CIELabValue_struct CIELabValue;
|
||
|
typedef struct CIEXYZValue_struct CIEXYZValue;
|
||
|
typedef union Color2_union Color2;
|
||
|
typedef struct BestEllipse2_struct BestEllipse2;
|
||
|
typedef struct LearnPatternAdvancedOptions_struct LearnPatternAdvancedOptions;
|
||
|
typedef struct AVIInfo_struct AVIInfo;
|
||
|
typedef struct LearnPatternAdvancedShiftOptions_struct
|
||
|
LearnPatternAdvancedShiftOptions;
|
||
|
typedef struct LearnPatternAdvancedRotationOptions_struct
|
||
|
LearnPatternAdvancedRotationOptions;
|
||
|
typedef struct MatchPatternAdvancedOptions_struct MatchPatternAdvancedOptions;
|
||
|
typedef struct ParticleFilterCriteria2_struct ParticleFilterCriteria2;
|
||
|
typedef struct BestCircle2_struct BestCircle2;
|
||
|
typedef struct OCRSpacingOptions_struct OCRSpacingOptions;
|
||
|
typedef struct OCRProcessingOptions_struct OCRProcessingOptions;
|
||
|
typedef struct ReadTextOptions_struct ReadTextOptions;
|
||
|
typedef struct CharInfo_struct CharInfo;
|
||
|
#if !defined(USERINT_HEADER) && !defined(_CVI_RECT_DEFINED)
|
||
|
typedef struct Rect_struct Rect;
|
||
|
#endif
|
||
|
typedef struct CharReport_struct CharReport;
|
||
|
typedef struct ReadTextReport_struct ReadTextReport;
|
||
|
#if !defined(USERINT_HEADER) && !defined(_CVI_POINT_DEFINED)
|
||
|
typedef struct Point_struct Point;
|
||
|
#endif
|
||
|
typedef struct Annulus_struct Annulus;
|
||
|
typedef struct EdgeLocationReport_struct EdgeLocationReport;
|
||
|
typedef struct EdgeOptions_struct EdgeOptions;
|
||
|
typedef struct EdgeReport_struct EdgeReport;
|
||
|
typedef struct ExtremeReport_struct ExtremeReport;
|
||
|
typedef struct FitLineOptions_struct FitLineOptions;
|
||
|
typedef struct DisplayMapping_struct DisplayMapping;
|
||
|
typedef struct DetectExtremesOptions_struct DetectExtremesOptions;
|
||
|
typedef struct ImageInfo_struct ImageInfo;
|
||
|
typedef struct LCDOptions_struct LCDOptions;
|
||
|
typedef struct LCDReport_struct LCDReport;
|
||
|
typedef struct LCDSegments_struct LCDSegments;
|
||
|
typedef struct LearnCalibrationOptions_struct LearnCalibrationOptions;
|
||
|
typedef struct LearnColorPatternOptions_struct LearnColorPatternOptions;
|
||
|
typedef struct Line_struct Line;
|
||
|
typedef struct LinearAverages_struct LinearAverages;
|
||
|
typedef struct LineProfile_struct LineProfile;
|
||
|
typedef struct MatchColorPatternOptions_struct MatchColorPatternOptions;
|
||
|
typedef struct HistogramReport_struct HistogramReport;
|
||
|
typedef struct ArcInfo_struct ArcInfo;
|
||
|
typedef struct AxisReport_struct AxisReport;
|
||
|
typedef struct BarcodeInfo_struct BarcodeInfo;
|
||
|
typedef struct BCGOptions_struct BCGOptions;
|
||
|
typedef struct BestCircle_struct BestCircle;
|
||
|
typedef struct BestEllipse_struct BestEllipse;
|
||
|
typedef struct BestLine_struct BestLine;
|
||
|
typedef struct BrowserOptions_struct BrowserOptions;
|
||
|
typedef struct CoordinateSystem_struct CoordinateSystem;
|
||
|
typedef struct CalibrationInfo_struct CalibrationInfo;
|
||
|
typedef struct CalibrationPoints_struct CalibrationPoints;
|
||
|
typedef struct CaliperOptions_struct CaliperOptions;
|
||
|
typedef struct CaliperReport_struct CaliperReport;
|
||
|
typedef struct DrawTextOptions_struct DrawTextOptions;
|
||
|
typedef struct CircleReport_struct CircleReport;
|
||
|
typedef struct ClosedContour_struct ClosedContour;
|
||
|
typedef struct ColorHistogramReport_struct ColorHistogramReport;
|
||
|
typedef struct ColorInformation_struct ColorInformation;
|
||
|
typedef struct Complex_struct Complex;
|
||
|
typedef struct ConcentricRakeReport_struct ConcentricRakeReport;
|
||
|
typedef struct ConstructROIOptions_struct ConstructROIOptions;
|
||
|
typedef struct ContourInfo_struct ContourInfo;
|
||
|
typedef union ContourUnion_union ContourUnion;
|
||
|
typedef struct ContourInfo2_struct ContourInfo2;
|
||
|
typedef struct ContourPoint_struct ContourPoint;
|
||
|
typedef struct CoordinateTransform_struct CoordinateTransform;
|
||
|
typedef struct CoordinateTransform2_struct CoordinateTransform2;
|
||
|
typedef struct CannyOptions_struct CannyOptions;
|
||
|
typedef struct Range_struct Range;
|
||
|
typedef struct UserPointSymbol_struct UserPointSymbol;
|
||
|
typedef struct View3DOptions_struct View3DOptions;
|
||
|
typedef struct MatchPatternOptions_struct MatchPatternOptions;
|
||
|
typedef struct TIFFFileOptions_struct TIFFFileOptions;
|
||
|
typedef union Color_union Color;
|
||
|
typedef union PixelValue_union PixelValue;
|
||
|
typedef struct OpenContour_struct OpenContour;
|
||
|
typedef struct OverlayTextOptions_struct OverlayTextOptions;
|
||
|
typedef struct ParticleFilterCriteria_struct ParticleFilterCriteria;
|
||
|
typedef struct ParticleReport_struct ParticleReport;
|
||
|
typedef struct PatternMatch_struct PatternMatch;
|
||
|
typedef struct QuantifyData_struct QuantifyData;
|
||
|
typedef struct QuantifyReport_struct QuantifyReport;
|
||
|
typedef struct RakeOptions_struct RakeOptions;
|
||
|
typedef struct RakeReport_struct RakeReport;
|
||
|
typedef struct TransformReport_struct TransformReport;
|
||
|
typedef struct ShapeReport_struct ShapeReport;
|
||
|
typedef struct MeterArc_struct MeterArc;
|
||
|
typedef struct ThresholdData_struct ThresholdData;
|
||
|
typedef struct StructuringElement_struct StructuringElement;
|
||
|
typedef struct SpokeReport_struct SpokeReport;
|
||
|
typedef struct SimpleEdgeOptions_struct SimpleEdgeOptions;
|
||
|
typedef struct SelectParticleCriteria_struct SelectParticleCriteria;
|
||
|
typedef struct SegmentInfo_struct SegmentInfo;
|
||
|
typedef struct RotationAngleRange_struct RotationAngleRange;
|
||
|
typedef struct RotatedRect_struct RotatedRect;
|
||
|
typedef struct ROIProfile_struct ROIProfile;
|
||
|
typedef struct ToolWindowOptions_struct ToolWindowOptions;
|
||
|
typedef struct SpokeOptions_struct SpokeOptions;
|
||
|
|
||
|
//============================================================================
|
||
|
// Data Structures
|
||
|
//============================================================================
|
||
|
#if !defined __GNUC__ && !defined _M_X64
|
||
|
#pragma pack(push, 1)
|
||
|
#endif
|
||
|
typedef struct DivisionModel_struct {
|
||
|
float kappa; // The learned kappa coefficient of division model.
|
||
|
} DivisionModel;
|
||
|
|
||
|
typedef struct FocalLength_struct {
|
||
|
float fx; // Focal length in X direction.
|
||
|
float fy; // Focal length in Y direction.
|
||
|
} FocalLength;
|
||
|
|
||
|
typedef struct PolyModel_struct {
|
||
|
float* kCoeffs; // The learned radial coefficients of polynomial model.
|
||
|
unsigned int numKCoeffs; // Number of K coefficients.
|
||
|
float p1; // The P1(learned tangential coefficients of polynomial model).
|
||
|
float p2; // The P2(learned tangential coefficients of polynomial model).
|
||
|
} PolyModel;
|
||
|
|
||
|
typedef struct DistortionModelParams_struct {
|
||
|
DistortionModel distortionModel; // Type of learned distortion model.
|
||
|
PolyModel polyModel; // The learned coefficients of polynomial model.
|
||
|
DivisionModel divisionModel; // The learned coefficient of division model.
|
||
|
} DistortionModelParams;
|
||
|
|
||
|
typedef struct PointFloat_struct {
|
||
|
float x; // The x-coordinate of the point.
|
||
|
float y; // The y-coordinate of the point.
|
||
|
} PointFloat;
|
||
|
|
||
|
typedef struct InternalParameters_struct {
|
||
|
char isInsufficientData;
|
||
|
FocalLength focalLength;
|
||
|
PointFloat opticalCenter;
|
||
|
} InternalParameters;
|
||
|
|
||
|
typedef struct MaxGridSize_struct {
|
||
|
unsigned int xMax; // Maximum x limit for the grid size.
|
||
|
unsigned int yMax; // Maximum y limit for the grid size.
|
||
|
} MaxGridSize;
|
||
|
|
||
|
typedef struct ImageSize_struct {
|
||
|
unsigned int xRes; // X resolution of the image.
|
||
|
unsigned int yRes; // Y resolution of the image.
|
||
|
} ImageSize;
|
||
|
|
||
|
typedef struct CalibrationReferencePoints_struct {
|
||
|
PointDouble*
|
||
|
pixelCoords; // Specifies the coordinates of the pixel reference points.
|
||
|
unsigned int numPixelCoords; // Number of pixel coordinates.
|
||
|
PointDouble*
|
||
|
realCoords; // Specifies the measuring unit associated with the image.
|
||
|
unsigned int numRealCoords; // Number of real coordinates.
|
||
|
CalibrationUnit units; // Specifies the units of X Step and Y Step.
|
||
|
ImageSize imageSize; // Specifies the size of calibration template image.
|
||
|
} CalibrationReferencePoints;
|
||
|
|
||
|
typedef struct GetCameraParametersReport_struct {
|
||
|
double*
|
||
|
projectionMatrix; // The projection(homography) matrix of working plane.
|
||
|
unsigned int projectionMatrixRows; // Number of rows in projection matrix.
|
||
|
unsigned int projectionMatrixCols; // Number of columns in projection matrix.
|
||
|
DistortionModelParams distortion; // Distortion model Coefficients.
|
||
|
InternalParameters internalParams; // The learned internal paramters of
|
||
|
// camera model such as focal length and
|
||
|
// optical center.
|
||
|
} GetCameraParametersReport;
|
||
|
|
||
|
typedef struct CalibrationAxisInfo_struct {
|
||
|
PointFloat center; // The origin of the reference coordinate system,
|
||
|
// expressed in pixel units.
|
||
|
float rotationAngle; // The angle of the x-axis of the real-world coordinate
|
||
|
// system, in relation to the horizontal.
|
||
|
AxisOrientation axisDirection; // Specifies the direction of the calibraiton
|
||
|
// axis which is either Direct or Indirect.
|
||
|
} CalibrationAxisInfo;
|
||
|
|
||
|
typedef struct CalibrationLearnSetupInfo_struct {
|
||
|
CalibrationMode2 calibrationMethod; // Type of calibration method used.
|
||
|
DistortionModel distortionModel; // Type of learned distortion model.
|
||
|
ScalingMethod
|
||
|
scaleMode; // The aspect scaling to use when correcting an image.
|
||
|
CalibrationROI roiMode; // The ROI to use when correcting an image.
|
||
|
char learnCorrectionTable; // Set this input to true value if you want the
|
||
|
// correction table to be determined and stored.
|
||
|
} CalibrationLearnSetupInfo;
|
||
|
|
||
|
typedef struct GridDescriptor_struct {
|
||
|
float xStep; // The distance in the x direction between two adjacent pixels
|
||
|
// in units specified by unit.
|
||
|
float yStep; // The distance in the y direction between two adjacent pixels
|
||
|
// in units specified by unit.
|
||
|
CalibrationUnit unit; // The unit of measure for the image.
|
||
|
} GridDescriptor;
|
||
|
|
||
|
typedef struct ErrorStatistics_struct {
|
||
|
double mean; // Mean error statistics value.
|
||
|
double maximum; // Maximum value of error.
|
||
|
double standardDeviation; // The standard deviation error statistiscs value.
|
||
|
double distortion; // The distortion error statistics value.
|
||
|
} ErrorStatistics;
|
||
|
|
||
|
typedef struct GetCalibrationInfoReport_struct {
|
||
|
ROI* userRoi; // Specifies the ROI the user provided when learning the
|
||
|
// calibration.
|
||
|
ROI* calibrationRoi; // Specifies the ROI that corresponds to the region of
|
||
|
// the image where the calibration information is
|
||
|
// accurate.
|
||
|
CalibrationAxisInfo
|
||
|
axisInfo; // Reference Coordinate System for the real-world coordinates.
|
||
|
CalibrationLearnSetupInfo
|
||
|
learnSetupInfo; // Calibration learn setup information.
|
||
|
GridDescriptor gridDescriptor; // Specifies scaling constants used to
|
||
|
// calibrate the image.
|
||
|
float* errorMap; // The the error map of calibration template image.
|
||
|
unsigned int errorMapRows; // Number of rows in error map.
|
||
|
unsigned int errorMapCols; // Number of Columns in error map.
|
||
|
ErrorStatistics errorStatistics; // Error statistics of the calibration.
|
||
|
} GetCalibrationInfoReport;
|
||
|
|
||
|
typedef struct EdgePolarity_struct {
|
||
|
EdgePolaritySearchMode start;
|
||
|
EdgePolaritySearchMode end;
|
||
|
} EdgePolarity;
|
||
|
|
||
|
typedef struct ClampSettings_struct {
|
||
|
double angleRange; // Specifies the angle range.
|
||
|
EdgePolarity edgePolarity; // Specifies the edge polarity.
|
||
|
} ClampSettings;
|
||
|
|
||
|
typedef struct PointDouble_struct {
|
||
|
double x; // The x-coordinate of the point.
|
||
|
double y; // The y-coordinate of the point.
|
||
|
} PointDouble;
|
||
|
|
||
|
typedef struct PointDoublePair_struct {
|
||
|
PointDouble start; // The Start co-ordinate of the pair.
|
||
|
PointDouble end; // The End co-ordinate of the pair.
|
||
|
} PointDoublePair;
|
||
|
|
||
|
typedef struct ClampResults_struct {
|
||
|
double distancePix; // Defines the Pixel world distance.
|
||
|
double distanceRealWorld; // Defines the real world distance.
|
||
|
double angleAbs; // Defines the absolute angle.
|
||
|
double angleRelative; // Defines the relative angle.
|
||
|
} ClampResults;
|
||
|
|
||
|
typedef struct ClampPoints_struct {
|
||
|
PointDoublePair pixel; // Specifies the pixel world point pair for clamp.
|
||
|
PointDoublePair realWorld; // Specifies the real world point pair for clamp.
|
||
|
} ClampPoints;
|
||
|
|
||
|
typedef struct RGBValue_struct {
|
||
|
unsigned char B; // The blue value of the color.
|
||
|
unsigned char G; // The green value of the color.
|
||
|
unsigned char R; // The red value of the color.
|
||
|
unsigned char alpha; // The alpha value of the color, which represents extra
|
||
|
// information about a color image, such as gamma
|
||
|
// correction.
|
||
|
} RGBValue;
|
||
|
|
||
|
typedef struct ClampOverlaySettings_struct {
|
||
|
int showSearchArea; // If TRUE, the function overlays the search area on the
|
||
|
// image.
|
||
|
int showCurves; // If TRUE, the function overlays the curves on the image.
|
||
|
int showClampLocation; // If TRUE, the function overlays the clamp location
|
||
|
// on the image.
|
||
|
int showResult; // If TRUE, the function overlays the hit lines to the object
|
||
|
// and the edge used to generate the hit line on the result
|
||
|
// image.
|
||
|
RGBValue searchAreaColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search area.
|
||
|
RGBValue curvesColor; // Specifies the RGB color value to use to overlay the
|
||
|
// curves.
|
||
|
RGBValue clampLocationsColor; // Specifies the RGB color value to use to
|
||
|
// overlay the clamp locations.
|
||
|
RGBValue resultColor; // Specifies the RGB color value to use to overlay the
|
||
|
// results.
|
||
|
char* overlayGroupName; // Specifies the group overlay name for the step
|
||
|
// overlays.
|
||
|
} ClampOverlaySettings;
|
||
|
|
||
|
typedef struct ClampMax2Report_struct {
|
||
|
ClampResults clampResults; // Specifies the Clamp results information
|
||
|
// returned by the function.
|
||
|
ClampPoints clampPoints; // Specifies the clamp points information returned
|
||
|
// by the function.
|
||
|
unsigned int calibrationValid; // Specifies if the calibration information is
|
||
|
// valid or not.
|
||
|
} ClampMax2Report;
|
||
|
|
||
|
typedef struct ContourFitSplineReport_struct {
|
||
|
PointDouble* points; // It returns the points of the best-fit B-spline curve.
|
||
|
int numberOfPoints; // Number of Best fit points returned.
|
||
|
} ContourFitSplineReport;
|
||
|
|
||
|
typedef struct LineFloat_struct {
|
||
|
PointFloat start; // The coordinate location of the start of the line.
|
||
|
PointFloat end; // The coordinate location of the end of the line.
|
||
|
} LineFloat;
|
||
|
|
||
|
typedef struct LineEquation_struct {
|
||
|
double a; // The a coefficient of the line equation.
|
||
|
double b; // The b coefficient of the line equation.
|
||
|
double c; // The c coefficient of the line equation.
|
||
|
} LineEquation;
|
||
|
|
||
|
typedef struct ContourFitLineReport_struct {
|
||
|
LineFloat lineSegment; // Line Segment represents the intersection of the
|
||
|
// line equation and the contour.
|
||
|
LineEquation lineEquation; // Line Equation is a structure of three
|
||
|
// coefficients A, B, and C of the equation in the
|
||
|
// normal form (Ax + By + C=0) of the best fit
|
||
|
// line.
|
||
|
} ContourFitLineReport;
|
||
|
|
||
|
typedef struct ContourFitPolynomialReport_struct {
|
||
|
PointDouble* bestFit; // It returns the points of the best-fit polynomial.
|
||
|
int numberOfPoints; // Number of Best fit points returned.
|
||
|
double* polynomialCoefficients; // Polynomial Coefficients returns the
|
||
|
// coefficients of the polynomial equation.
|
||
|
int numberOfCoefficients; // Number of Coefficients returned in the
|
||
|
// polynomial coefficients array.
|
||
|
} ContourFitPolynomialReport;
|
||
|
|
||
|
typedef struct PartialCircle_struct {
|
||
|
PointFloat center; // Center of the circle.
|
||
|
double radius; // Radius of the circle.
|
||
|
double startAngle; // Start angle of the fitted structure.
|
||
|
double endAngle; // End angle of the fitted structure.
|
||
|
} PartialCircle;
|
||
|
|
||
|
typedef struct PartialEllipse_struct {
|
||
|
PointFloat center; // Center of the Ellipse.
|
||
|
double angle; // Angle of the ellipse.
|
||
|
double majorRadius; // The length of the semi-major axis of the ellipse.
|
||
|
double minorRadius; // The length of the semi-minor axis of the ellipse.
|
||
|
double startAngle; // Start angle of the fitted structure.
|
||
|
double endAngle; // End angle of the fitted structure.
|
||
|
} PartialEllipse;
|
||
|
|
||
|
typedef struct SetupMatchPatternData_struct {
|
||
|
unsigned char* matchSetupData; // String containing the match setup data.
|
||
|
int numMatchSetupData; // Number of match setup data.
|
||
|
} SetupMatchPatternData;
|
||
|
|
||
|
typedef struct RangeSettingDouble_struct {
|
||
|
SettingType settingType; // Match Constraints specifies the match option
|
||
|
// whose values you want to constrain by the given
|
||
|
// range.
|
||
|
double min; // Min is the minimum value of the range for a given Match
|
||
|
// Constraint.
|
||
|
double max; // Max is the maximum value of the range for a given Match
|
||
|
// Constraint.
|
||
|
} RangeSettingDouble;
|
||
|
|
||
|
typedef struct GeometricAdvancedSetupDataOption_struct {
|
||
|
GeometricSetupDataItem type; // It determines the option you want to use
|
||
|
// during the matching phase.
|
||
|
double value; // Value is the value for the option you want to use during the
|
||
|
// matching phase.
|
||
|
} GeometricAdvancedSetupDataOption;
|
||
|
|
||
|
typedef struct ContourInfoReport_struct {
|
||
|
PointDouble* pointsPixel; // Points (pixel) specifies the location of every
|
||
|
// point detected on the curve, in pixels.
|
||
|
unsigned int numPointsPixel; // Number of points pixel elements.
|
||
|
PointDouble* pointsReal; // Points (real) specifies the location of every
|
||
|
// point detected on the curve, in calibrated units.
|
||
|
unsigned int numPointsReal; // Number of points real elements.
|
||
|
double* curvaturePixel; // Curvature Pixel displays the curvature profile for
|
||
|
// the selected contour, in pixels.
|
||
|
unsigned int numCurvaturePixel; // Number of curvature pixels.
|
||
|
double* curvatureReal; // Curvature Real displays the curvature profile for
|
||
|
// the selected contour, in calibrated units.
|
||
|
unsigned int numCurvatureReal; // Number of curvature Real elements.
|
||
|
double length; // Length (pixel) specifies the length, in pixels, of the
|
||
|
// curves in the image.
|
||
|
double lengthReal; // Length (real) specifies the length, in calibrated
|
||
|
// units, of the curves within the curvature range.
|
||
|
unsigned int hasEquation; // Has Equation specifies whether the contour has a
|
||
|
// fitted equation.
|
||
|
} ContourInfoReport;
|
||
|
|
||
|
typedef struct ROILabel_struct {
|
||
|
char* className; // Specifies the classname you want to segment.
|
||
|
unsigned int
|
||
|
label; // Label is the label number associated with the Class Name.
|
||
|
} ROILabel;
|
||
|
|
||
|
typedef struct SupervisedColorSegmentationReport_struct {
|
||
|
ROILabel* labelOut; // The Roi labels array.
|
||
|
unsigned int numLabelOut; // The number of elements in labelOut array.
|
||
|
} SupervisedColorSegmentationReport;
|
||
|
|
||
|
typedef struct LabelToROIReport_struct {
|
||
|
ROI** roiArray; // Array of ROIs.
|
||
|
unsigned int numOfROIs; // Number of ROIs in the roiArray.
|
||
|
unsigned int* labelsOutArray; // Array of labels.
|
||
|
unsigned int numOfLabels; // Number of labels.
|
||
|
int* isTooManyVectorsArray; // isTooManyVectorsArray array.
|
||
|
unsigned int isTooManyVectorsArraySize; // Number of elements in
|
||
|
// isTooManyVectorsArray.
|
||
|
} LabelToROIReport;
|
||
|
|
||
|
typedef struct ColorSegmenationOptions_struct {
|
||
|
unsigned int windowX; // X is the window size in x direction.
|
||
|
unsigned int windowY; // Y is the window size in y direction.
|
||
|
unsigned int stepSize; // Step Size is the distance between two windows.
|
||
|
unsigned int minParticleArea; // Min Particle Area is the minimum number of
|
||
|
// allowed pixels.
|
||
|
unsigned int maxParticleArea; // Max Particle Area is the maximum number of
|
||
|
// allowed pixels.
|
||
|
short isFineSegment; // When enabled, the step processes the boundary pixels
|
||
|
// of each segmentation cluster using a step size of 1.
|
||
|
} ColorSegmenationOptions;
|
||
|
|
||
|
typedef struct ClassifiedCurve_struct {
|
||
|
double length; // Specifies the length, in pixels, of the curves within the
|
||
|
// curvature range.
|
||
|
double lengthReal; // specifies the length, in calibrated units, of the
|
||
|
// curves within the curvature range.
|
||
|
double maxCurvature; // specifies the maximum curvature, in pixels, for the
|
||
|
// selected curvature range.
|
||
|
double maxCurvatureReal; // specifies the maximum curvature, in calibrated
|
||
|
// units, for the selected curvature range.
|
||
|
unsigned int label; // specifies the class to which the the sample belongs.
|
||
|
PointDouble* curvePoints; // Curve Points is a point-coordinate cluster that
|
||
|
// defines the points of the curve.
|
||
|
unsigned int numCurvePoints; // Number of curve points.
|
||
|
} ClassifiedCurve;
|
||
|
|
||
|
typedef struct RangeDouble_struct {
|
||
|
double minValue; // The minimum value of the range.
|
||
|
double maxValue; // The maximum value of the range.
|
||
|
} RangeDouble;
|
||
|
|
||
|
typedef struct RangeLabel_struct {
|
||
|
RangeDouble range; // Specifies the range of curvature values.
|
||
|
unsigned int label; // Class Label specifies the class to which the the
|
||
|
// sample belongs.
|
||
|
} RangeLabel;
|
||
|
|
||
|
typedef struct CurvatureAnalysisReport_struct {
|
||
|
ClassifiedCurve* curves;
|
||
|
unsigned int numCurves;
|
||
|
} CurvatureAnalysisReport;
|
||
|
|
||
|
typedef struct Disparity_struct {
|
||
|
PointDouble
|
||
|
current; // Current is a array of points that defines the target contour.
|
||
|
PointDouble reference; // reference is a array of points that defines the
|
||
|
// template contour.
|
||
|
double distance; // Specifies the distance, in pixels, between the template
|
||
|
// contour point and the target contour point.
|
||
|
} Disparity;
|
||
|
|
||
|
typedef struct ComputeDistancesReport_struct {
|
||
|
Disparity*
|
||
|
distances; // Distances is an array containing the computed distances.
|
||
|
unsigned int numDistances; // Number elements in the distances array.
|
||
|
Disparity* distancesReal; // Distances Real is an array containing the
|
||
|
// computed distances in calibrated units.
|
||
|
unsigned int numDistancesReal; // Number of elements in real distances array.
|
||
|
} ComputeDistancesReport;
|
||
|
|
||
|
typedef struct MatchMode_struct {
|
||
|
unsigned int rotation; // Rotation When enabled, the Function searches for
|
||
|
// occurrences of the template in the inspection
|
||
|
// image, allowing for template matches to be rotated.
|
||
|
unsigned int scale; // Rotation When enabled, the Function searches for
|
||
|
// occurrences of the template in the inspection image,
|
||
|
// allowing for template matches to be rotated.
|
||
|
unsigned int occlusion; // Occlusion specifies whether or not to search for
|
||
|
// occluded versions of the shape.
|
||
|
} MatchMode;
|
||
|
|
||
|
typedef struct ClassifiedDisparity_struct {
|
||
|
double length; // Length (pixel) specifies the length, in pixels, of the
|
||
|
// curves within the curvature range.
|
||
|
double lengthReal; // Length (real) specifies the length, in calibrated
|
||
|
// units, of the curves within the curvature range.
|
||
|
double maxDistance; // Maximum Distance (pixel) specifies the maximum
|
||
|
// distance, in pixels, between points along the selected
|
||
|
// contour and the template contour.
|
||
|
double maxDistanceReal; // Maximum Distance (real) specifies the maximum
|
||
|
// distance, in calibrated units, between points
|
||
|
// along the selected contour and the template
|
||
|
// contour.
|
||
|
unsigned int label; // Class Label specifies the class to which the the
|
||
|
// sample belongs.
|
||
|
PointDouble* templateSubsection; // Template subsection points is an array of
|
||
|
// points that defines the boundary of the
|
||
|
// template.
|
||
|
unsigned int numTemplateSubsection; // Number of reference points.
|
||
|
PointDouble* targetSubsection; // Current Points(Target subsection points) is
|
||
|
// an array of points that defines the
|
||
|
// boundary of the target.
|
||
|
unsigned int numTargetSubsection; // Number of current points.
|
||
|
} ClassifiedDisparity;
|
||
|
|
||
|
typedef struct ClassifyDistancesReport_struct {
|
||
|
ClassifiedDisparity* classifiedDistances; // Disparity array containing the
|
||
|
// classified distances.
|
||
|
unsigned int
|
||
|
numClassifiedDistances; // Number of elements in the disparity array.
|
||
|
} ClassifyDistancesReport;
|
||
|
|
||
|
typedef struct ContourComputeCurvatureReport_struct {
|
||
|
double* curvaturePixel; // Curvature Pixel displays the curvature profile for
|
||
|
// the selected contour, in pixels.
|
||
|
unsigned int numCurvaturePixel; // Number of curvature pixels.
|
||
|
double* curvatureReal; // Curvature Real displays the curvature profile for
|
||
|
// the selected contour, in calibrated units.
|
||
|
unsigned int numCurvatureReal; // Number of curvature Real elements.
|
||
|
} ContourComputeCurvatureReport;
|
||
|
|
||
|
typedef struct ContourOverlaySettings_struct {
|
||
|
unsigned int overlay; // Overlay specifies whether to display the overlay on
|
||
|
// the image.
|
||
|
RGBValue color; // Color is the color of the overlay.
|
||
|
unsigned int width; // Width specifies the width of the overlay in pixels.
|
||
|
unsigned int maintainWidth; // Maintain Width? specifies whether you want the
|
||
|
// overlay measured in screen pixels or image
|
||
|
// pixels.
|
||
|
} ContourOverlaySettings;
|
||
|
|
||
|
typedef struct CurveParameters_struct {
|
||
|
ExtractionMode extractionMode; // Specifies the method the function uses to
|
||
|
// identify curves in the image.
|
||
|
int threshold; // Specifies the minimum contrast a seed point must have in
|
||
|
// order to begin a curve.
|
||
|
EdgeFilterSize filterSize; // Specifies the width of the edge filter the
|
||
|
// function uses to identify curves in the image.
|
||
|
int minLength; // Specifies the length, in pixels, of the smallest curve the
|
||
|
// function will extract.
|
||
|
int searchStep; // Search Step Size specifies the distance, in the y
|
||
|
// direction, between the image rows that the algorithm
|
||
|
// inspects for curve seed points.
|
||
|
int maxEndPointGap; // Specifies the maximum gap, in pixels, between the
|
||
|
// endpoints of a curve that the function identifies as a
|
||
|
// closed curve.
|
||
|
int subpixel; // Subpixel specifies whether to detect curve points with
|
||
|
// subpixel accuracy.
|
||
|
} CurveParameters;
|
||
|
|
||
|
typedef struct ExtractContourReport_struct {
|
||
|
PointDouble* contourPoints; // Contour Points specifies every point found on
|
||
|
// the contour.
|
||
|
int numContourPoints; // Number of contour points.
|
||
|
PointDouble* sourcePoints; // Source Image Points specifies every point found
|
||
|
// on the contour in the source image.
|
||
|
int numSourcePoints; // Number of source points.
|
||
|
} ExtractContourReport;
|
||
|
|
||
|
typedef struct ConnectionConstraint_struct {
|
||
|
ConnectionConstraintType constraintType; // Constraint Type specifies what
|
||
|
// criteria to use to consider two
|
||
|
// curves part of a contour.
|
||
|
RangeDouble range; // Specifies range for a given Match Constraint.
|
||
|
} ConnectionConstraint;
|
||
|
|
||
|
typedef struct ExtractTextureFeaturesReport_struct {
|
||
|
int* waveletBands; // The array having all the Wavelet Banks used for
|
||
|
// extraction.
|
||
|
int numWaveletBands; // Number of wavelet banks in the Array.
|
||
|
double** textureFeatures; // 2-D array to store all the Texture features
|
||
|
// extracted.
|
||
|
int textureFeaturesRows; // Number of Rows in the Texture Features array.
|
||
|
int textureFeaturesCols; // Number of Cols in Texture Features array.
|
||
|
} ExtractTextureFeaturesReport;
|
||
|
|
||
|
typedef struct WaveletBandsReport_struct {
|
||
|
float** LLBand; // 2-D array for LL Band.
|
||
|
float** LHBand; // 2-D array for LH Band.
|
||
|
float** HLBand; // 2-D array for HL Band.
|
||
|
float** HHBand; // 2-D array for HH Band.
|
||
|
float** LLLBand; // 2-D array for LLL Band.
|
||
|
float** LLHBand; // 2-D array for LLH Band.
|
||
|
float LHLBand; // 2-D array for LHL Band.
|
||
|
float** LHHBand; // 2-D array for LHH Band.
|
||
|
int rows; // Number of Rows for each of the 2-D arrays.
|
||
|
int cols; // Number of Columns for each of the 2-D arrays.
|
||
|
} WaveletBandsReport;
|
||
|
|
||
|
typedef struct CircleFitOptions_struct {
|
||
|
int maxRadius; // Specifies the acceptable distance, in pixels, that a point
|
||
|
// determined to belong to the circle can be from the
|
||
|
// perimeter of the circle.
|
||
|
double stepSize; // Step Size is the angle, in degrees, between each radial
|
||
|
// line in the annular region.
|
||
|
RakeProcessType processType; // Method used to process the data extracted for
|
||
|
// edge detection.
|
||
|
} CircleFitOptions;
|
||
|
|
||
|
typedef struct EdgeOptions2_struct {
|
||
|
EdgePolaritySearchMode
|
||
|
polarity; // Specifies the polarity of the edges to be found.
|
||
|
unsigned int kernelSize; // Specifies the size of the edge detection kernel.
|
||
|
unsigned int width; // Specifies the number of pixels averaged perpendicular
|
||
|
// to the search direction to compute the edge profile
|
||
|
// strength at each point along the search ROI.
|
||
|
float minThreshold; // Specifies the minimum edge strength (gradient
|
||
|
// magnitude) required for a detected edge.
|
||
|
InterpolationMethod interpolationType; // Specifies the interpolation method
|
||
|
// used to locate the edge position.
|
||
|
ColumnProcessingMode columnProcessingMode; // Specifies the method used to
|
||
|
// find the straight edge.
|
||
|
} EdgeOptions2;
|
||
|
|
||
|
typedef struct FindCircularEdgeOptions_struct {
|
||
|
SpokeDirection
|
||
|
direction; // Specifies the Spoke direction to search in the ROI.
|
||
|
int showSearchArea; // If TRUE, the function overlays the search area on the
|
||
|
// image.
|
||
|
int showSearchLines; // If TRUE, the function overlays the search lines used
|
||
|
// to locate the edges on the image.
|
||
|
int showEdgesFound; // If TRUE, the function overlays the locations of the
|
||
|
// edges found on the image.
|
||
|
int showResult; // If TRUE, the function overlays the hit lines to the object
|
||
|
// and the edge used to generate the hit line on the result
|
||
|
// image.
|
||
|
RGBValue searchAreaColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search area.
|
||
|
RGBValue searchLinesColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search lines.
|
||
|
RGBValue searchEdgesColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search edges.
|
||
|
RGBValue resultColor; // Specifies the RGB color value to use to overlay the
|
||
|
// results.
|
||
|
char* overlayGroupName; // Specifies the overlay group name to assign to the
|
||
|
// overlays.
|
||
|
EdgeOptions2 edgeOptions; // Specifies the edge detection options along a
|
||
|
// single search line.
|
||
|
} FindCircularEdgeOptions;
|
||
|
|
||
|
typedef struct FindConcentricEdgeOptions_struct {
|
||
|
ConcentricRakeDirection direction; // Specifies the Concentric Rake
|
||
|
// direction.
|
||
|
int showSearchArea; // If TRUE, the function overlays the search area on the
|
||
|
// image.
|
||
|
int showSearchLines; // If TRUE, the function overlays the search lines used
|
||
|
// to locate the edges on the image.
|
||
|
int showEdgesFound; // If TRUE, the function overlays the locations of the
|
||
|
// edges found on the image.
|
||
|
int showResult; // If TRUE, the function overlays the hit lines to the object
|
||
|
// and the edge used to generate the hit line on the result
|
||
|
// image.
|
||
|
RGBValue searchAreaColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search area.
|
||
|
RGBValue searchLinesColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search lines.
|
||
|
RGBValue searchEdgesColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search edges.
|
||
|
RGBValue resultColor; // Specifies the RGB color value to use to overlay the
|
||
|
// results.
|
||
|
char* overlayGroupName; // Specifies the overlay group name to assign to the
|
||
|
// overlays.
|
||
|
EdgeOptions2 edgeOptions; // Specifies the edge detection options along a
|
||
|
// single search line.
|
||
|
} FindConcentricEdgeOptions;
|
||
|
|
||
|
typedef struct ConcentricEdgeFitOptions_struct {
|
||
|
int maxRadius; // Specifies the acceptable distance, in pixels, that a point
|
||
|
// determined to belong to the circle can be from the
|
||
|
// perimeter of the circle.
|
||
|
double stepSize; // The sampling factor that determines the gap between the
|
||
|
// rake lines.
|
||
|
RakeProcessType processType; // Method used to process the data extracted for
|
||
|
// edge detection.
|
||
|
} ConcentricEdgeFitOptions;
|
||
|
|
||
|
typedef struct FindConcentricEdgeReport_struct {
|
||
|
PointFloat startPt; // Pixel Coordinates for starting point of the edge.
|
||
|
PointFloat endPt; // Pixel Coordinates for end point of the edge.
|
||
|
PointFloat startPtCalibrated; // Real world Coordinates for starting point of
|
||
|
// the edge.
|
||
|
PointFloat
|
||
|
endPtCalibrated; // Real world Coordinates for end point of the edge.
|
||
|
double angle; // Angle of the edge found.
|
||
|
double angleCalibrated; // Calibrated angle of the edge found.
|
||
|
double straightness; // The straightness value of the detected straight edge.
|
||
|
double avgStrength; // Average strength of the egde found.
|
||
|
double avgSNR; // Average SNR(Signal to Noise Ratio) for the edge found.
|
||
|
int lineFound; // If the edge is found or not.
|
||
|
} FindConcentricEdgeReport;
|
||
|
|
||
|
typedef struct FindCircularEdgeReport_struct {
|
||
|
PointFloat centerCalibrated; // Real world Coordinates of the Center.
|
||
|
double radiusCalibrated; // Real world radius of the Circular Edge found.
|
||
|
PointFloat center; // Pixel Coordinates of the Center.
|
||
|
double radius; // Radius in pixels of the Circular Edge found.
|
||
|
double roundness; // The roundness of the calculated circular edge.
|
||
|
double avgStrength; // Average strength of the egde found.
|
||
|
double avgSNR; // Average SNR(Signal to Noise Ratio) for the edge found.
|
||
|
int circleFound; // If the circlular edge is found or not.
|
||
|
} FindCircularEdgeReport;
|
||
|
|
||
|
typedef struct WindowSize_struct {
|
||
|
int x; // Window lenght on X direction.
|
||
|
int y; // Window lenght on Y direction.
|
||
|
int stepSize; // Distance between windows.
|
||
|
} WindowSize;
|
||
|
|
||
|
typedef struct DisplacementVector_struct {
|
||
|
int x; // length on X direction.
|
||
|
int y; // length on Y direction.
|
||
|
} DisplacementVector;
|
||
|
|
||
|
typedef struct WaveletOptions_struct {
|
||
|
WaveletType typeOfWavelet; // Type of wavelet(db, bior.
|
||
|
float minEnergy; // Minimum Energy in the bands to consider for texture
|
||
|
// defect detection.
|
||
|
} WaveletOptions;
|
||
|
|
||
|
typedef struct CooccurrenceOptions_struct {
|
||
|
int level; // Level/size of matrix.
|
||
|
DisplacementVector
|
||
|
displacement; // Displacemnet between pixels to accumulate the matrix.
|
||
|
} CooccurrenceOptions;
|
||
|
|
||
|
typedef struct ParticleClassifierLocalThresholdOptions_struct {
|
||
|
LocalThresholdMethod
|
||
|
method; // Specifies the local thresholding method the function uses.
|
||
|
ParticleType particleType; // Specifies what kind of particles to look for.
|
||
|
unsigned int windowWidth; // The width of the rectangular window around the
|
||
|
// pixel on which the function performs the local
|
||
|
// threshold.
|
||
|
unsigned int windowHeight; // The height of the rectangular window around the
|
||
|
// pixel on which the function performs the local
|
||
|
// threshold.
|
||
|
double deviationWeight; // Specifies the k constant used in the Niblack local
|
||
|
// thresholding algorithm, which determines the
|
||
|
// weight applied to the variance calculation.
|
||
|
} ParticleClassifierLocalThresholdOptions;
|
||
|
|
||
|
typedef struct RangeFloat_struct {
|
||
|
float minValue; // The minimum value of the range.
|
||
|
float maxValue; // The maximum value of the range.
|
||
|
} RangeFloat;
|
||
|
|
||
|
typedef struct ParticleClassifierAutoThresholdOptions_struct {
|
||
|
ThresholdMethod method; // The method for binary thresholding, which
|
||
|
// specifies how to calculate the classes.
|
||
|
ParticleType particleType; // Specifies what kind of particles to look for.
|
||
|
RangeFloat limits; // The limits on the automatic threshold range.
|
||
|
} ParticleClassifierAutoThresholdOptions;
|
||
|
|
||
|
typedef struct ParticleClassifierPreprocessingOptions2_struct {
|
||
|
ParticleClassifierThresholdType
|
||
|
thresholdType; // The type of threshold to perform on the image.
|
||
|
RangeFloat manualThresholdRange; // The range of pixels to keep if manually
|
||
|
// thresholding the image.
|
||
|
ParticleClassifierAutoThresholdOptions
|
||
|
autoThresholdOptions; // The options used to auto threshold the image.
|
||
|
ParticleClassifierLocalThresholdOptions
|
||
|
localThresholdOptions; // The options used to local threshold the image.
|
||
|
int rejectBorder; // Set this element to TRUE to reject border particles.
|
||
|
int numErosions; // The number of erosions to perform.
|
||
|
} ParticleClassifierPreprocessingOptions2;
|
||
|
|
||
|
typedef struct MeasureParticlesReport_struct {
|
||
|
double** pixelMeasurements; // The measurements on the particles in the
|
||
|
// image, in pixel coordinates.
|
||
|
double** calibratedMeasurements; // The measurements on the particles in the
|
||
|
// image, in real-world coordinates.
|
||
|
size_t numParticles; // The number of particles on which measurements were
|
||
|
// taken.
|
||
|
size_t numMeasurements; // The number of measurements taken.
|
||
|
} MeasureParticlesReport;
|
||
|
|
||
|
typedef struct GeometricPatternMatch3_struct {
|
||
|
PointFloat
|
||
|
position; // The location of the origin of the template in the match.
|
||
|
float rotation; // The rotation of the match relative to the template image,
|
||
|
// in degrees.
|
||
|
float scale; // The size of the match relative to the size of the template
|
||
|
// image, expressed as a percentage.
|
||
|
float score; // The accuracy of the match.
|
||
|
PointFloat corner[4]; // An array of four points describing the rectangle
|
||
|
// surrounding the template image.
|
||
|
int inverse; // This element is TRUE if the match is an inverse of the
|
||
|
// template image.
|
||
|
float occlusion; // The percentage of the match that is occluded.
|
||
|
float templateMatchCurveScore; // The accuracy of the match obtained by
|
||
|
// comparing the template curves to the curves
|
||
|
// in the match region.
|
||
|
float matchTemplateCurveScore; // The accuracy of the match obtained by
|
||
|
// comparing the curves in the match region to
|
||
|
// the template curves.
|
||
|
float correlationScore; // The accuracy of the match obtained by comparing
|
||
|
// the template image to the match region using a
|
||
|
// correlation metric that compares the two regions
|
||
|
// as a function of their pixel values.
|
||
|
PointFloat calibratedPosition; // The location of the origin of the template
|
||
|
// in the match.
|
||
|
float calibratedRotation; // The rotation of the match relative to the
|
||
|
// template image, in degrees.
|
||
|
PointFloat calibratedCorner[4]; // An array of four points describing the
|
||
|
// rectangle surrounding the template image.
|
||
|
} GeometricPatternMatch3;
|
||
|
|
||
|
typedef struct MatchGeometricPatternAdvancedOptions3_struct {
|
||
|
unsigned int subpixelIterations; // Specifies the maximum number of
|
||
|
// incremental improvements used to refine
|
||
|
// matches with subpixel information.
|
||
|
double subpixelTolerance; // Specifies the maximum amount of change, in
|
||
|
// pixels, between consecutive incremental
|
||
|
// improvements in the match position before the
|
||
|
// function stops refining the match position.
|
||
|
unsigned int
|
||
|
initialMatchListLength; // Specifies the maximum size of the match list.
|
||
|
int targetTemplateCurveScore; // Set this element to TRUE to specify that the
|
||
|
// function should calculate the match curve to
|
||
|
// template curve score and return it for each
|
||
|
// match result.
|
||
|
int correlationScore; // Set this element to TRUE to specify that the
|
||
|
// function should calculate the correlation score and
|
||
|
// return it for each match result.
|
||
|
double minMatchSeparationDistance; // Specifies the minimum separation
|
||
|
// distance, in pixels, between the
|
||
|
// origins of two matches that have unique
|
||
|
// positions.
|
||
|
double minMatchSeparationAngle; // Specifies the minimum angular difference,
|
||
|
// in degrees, between two matches that have
|
||
|
// unique angles.
|
||
|
double minMatchSeparationScale; // Specifies the minimum difference in scale,
|
||
|
// expressed as a percentage, between two
|
||
|
// matches that have unique scales.
|
||
|
double maxMatchOverlap; // Specifies the maximum amount of overlap, expressed
|
||
|
// as a percentage, allowed between the bounding
|
||
|
// rectangles of two unique matches.
|
||
|
int coarseResult; // Specifies whether you want the function to spend less
|
||
|
// time accurately estimating the location of a match.
|
||
|
int enableCalibrationSupport; // Set this element to TRUE to specify the
|
||
|
// algorithm treat the inspection image as a
|
||
|
// calibrated image.
|
||
|
ContrastMode enableContrastReversal; // Use this element to specify the
|
||
|
// contrast of the matches to search for
|
||
|
// in the image.
|
||
|
GeometricMatchingSearchStrategy
|
||
|
matchStrategy; // Specifies the aggressiveness of the search strategy.
|
||
|
unsigned int refineMatchFactor; // Specifies the factor that is applied to
|
||
|
// the number of matches requested by the
|
||
|
// user to determine the number of matches
|
||
|
// that are refined at the initial matching
|
||
|
// stage.
|
||
|
unsigned int subpixelMatchFactor; // Specifies the factor that is applied to
|
||
|
// the number of matches requested by the
|
||
|
// user to determine the number of matches
|
||
|
// that are evaluated at the final subpixel
|
||
|
// matching stage.
|
||
|
} MatchGeometricPatternAdvancedOptions3;
|
||
|
|
||
|
typedef struct ColorOptions_struct {
|
||
|
ColorClassificationResolution colorClassificationResolution; // Specifies the
|
||
|
// color
|
||
|
// resolution of
|
||
|
// the
|
||
|
// classifier.
|
||
|
unsigned int useLuminance; // Specifies if the luminance band is going to be
|
||
|
// used in the feature vector.
|
||
|
ColorMode colorMode; // Specifies the color mode of the classifier.
|
||
|
} ColorOptions;
|
||
|
|
||
|
typedef struct SampleScore_struct {
|
||
|
char* className; // The name of the class.
|
||
|
float distance; // The distance from the item to this class.
|
||
|
unsigned int index; // index of this sample.
|
||
|
} SampleScore;
|
||
|
|
||
|
typedef struct ClassifierReportAdvanced_struct {
|
||
|
char* bestClassName; // The name of the best class for the sample.
|
||
|
float classificationScore; // The similarity of the sample and the two
|
||
|
// closest classes in the classifier.
|
||
|
float identificationScore; // The similarity of the sample and the assigned
|
||
|
// class.
|
||
|
ClassScore* allScores; // All classes and their scores.
|
||
|
int allScoresSize; // The number of entries in allScores.
|
||
|
SampleScore* sampleScores; // All samples and their scores.
|
||
|
int sampleScoresSize; // The number of entries in sampleScores.
|
||
|
} ClassifierReportAdvanced;
|
||
|
|
||
|
typedef struct LearnGeometricPatternAdvancedOptions2_struct {
|
||
|
double minScaleFactor; // Specifies the minimum scale factor that the
|
||
|
// template is learned for.
|
||
|
double maxScaleFactor; // Specifies the maximum scale factor the template is
|
||
|
// learned for.
|
||
|
double minRotationAngleValue; // Specifies the minimum rotation angle the
|
||
|
// template is learned for.
|
||
|
double maxRotationAngleValue; // Specifies the maximum rotation angle the
|
||
|
// template is learned for.
|
||
|
unsigned int imageSamplingFactor; // Specifies the factor that is used to
|
||
|
// subsample the template and the image for
|
||
|
// the initial matching phase.
|
||
|
} LearnGeometricPatternAdvancedOptions2;
|
||
|
|
||
|
typedef struct ParticleFilterOptions2_struct {
|
||
|
int rejectMatches; // Set this parameter to TRUE to transfer only those
|
||
|
// particles that do not meet all the criteria.
|
||
|
int rejectBorder; // Set this element to TRUE to reject border particles.
|
||
|
int fillHoles; // Set this element to TRUE to fill holes in particles.
|
||
|
int connectivity8; // Set this parameter to TRUE to use connectivity-8 to
|
||
|
// determine whether particles are touching.
|
||
|
} ParticleFilterOptions2;
|
||
|
|
||
|
typedef struct FindEdgeOptions2_struct {
|
||
|
RakeDirection direction; // The direction to search in the ROI.
|
||
|
int showSearchArea; // If TRUE, the function overlays the search area on the
|
||
|
// image.
|
||
|
int showSearchLines; // If TRUE, the function overlays the search lines used
|
||
|
// to locate the edges on the image.
|
||
|
int showEdgesFound; // If TRUE, the function overlays the locations of the
|
||
|
// edges found on the image.
|
||
|
int showResult; // If TRUE, the function overlays the hit lines to the object
|
||
|
// and the edge used to generate the hit line on the result
|
||
|
// image.
|
||
|
RGBValue searchAreaColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search area.
|
||
|
RGBValue searchLinesColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search lines.
|
||
|
RGBValue searchEdgesColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search edges.
|
||
|
RGBValue resultColor; // Specifies the RGB color value to use to overlay the
|
||
|
// results.
|
||
|
char* overlayGroupName; // Specifies the overlay group name to assign to the
|
||
|
// overlays.
|
||
|
EdgeOptions2 edgeOptions; // Specifies the edge detection options along a
|
||
|
// single search line.
|
||
|
} FindEdgeOptions2;
|
||
|
|
||
|
typedef struct FindEdgeReport_struct {
|
||
|
StraightEdge* straightEdges; // An array of straight edges detected.
|
||
|
unsigned int
|
||
|
numStraightEdges; // Indicates the number of straight edges found.
|
||
|
} FindEdgeReport;
|
||
|
|
||
|
typedef struct FindTransformRectOptions2_struct {
|
||
|
FindReferenceDirection direction; // Specifies the direction and orientation
|
||
|
// in which the function searches for the
|
||
|
// primary axis.
|
||
|
int showSearchArea; // If TRUE, the function overlays the search area on the
|
||
|
// image.
|
||
|
int showSearchLines; // If TRUE, the function overlays the search lines used
|
||
|
// to locate the edges on the image.
|
||
|
int showEdgesFound; // If TRUE, the function overlays the locations of the
|
||
|
// edges found on the image.
|
||
|
int showResult; // If TRUE, the function overlays the hit lines to the object
|
||
|
// and the edge used to generate the hit line on the result
|
||
|
// image.
|
||
|
RGBValue searchAreaColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search area.
|
||
|
RGBValue searchLinesColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search lines.
|
||
|
RGBValue searchEdgesColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search edges.
|
||
|
RGBValue resultColor; // Specifies the RGB color value to use to overlay the
|
||
|
// results.
|
||
|
char* overlayGroupName; // Specifies the overlay group name to assign to the
|
||
|
// overlays.
|
||
|
EdgeOptions2 edgeOptions; // Specifies the edge detection options along a
|
||
|
// single search line.
|
||
|
} FindTransformRectOptions2;
|
||
|
|
||
|
typedef struct FindTransformRectsOptions2_struct {
|
||
|
FindReferenceDirection direction; // Specifies the direction and orientation
|
||
|
// in which the function searches for the
|
||
|
// primary axis.
|
||
|
int showSearchArea; // If TRUE, the function overlays the search area on the
|
||
|
// image.
|
||
|
int showSearchLines; // If TRUE, the function overlays the search lines used
|
||
|
// to locate the edges on the image.
|
||
|
int showEdgesFound; // If TRUE, the function overlays the locations of the
|
||
|
// edges found on the image.
|
||
|
int showResult; // If TRUE, the function overlays the hit lines to the object
|
||
|
// and the edge used to generate the hit line on the result
|
||
|
// image.
|
||
|
RGBValue searchAreaColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search area.
|
||
|
RGBValue searchLinesColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search lines.
|
||
|
RGBValue searchEdgesColor; // Specifies the RGB color value to use to overlay
|
||
|
// the search edges.
|
||
|
RGBValue resultColor; // Specifies the RGB color value to use to overlay the
|
||
|
// results.
|
||
|
char* overlayGroupName; // Specifies the overlay group name to assign to the
|
||
|
// overlays.
|
||
|
EdgeOptions2 primaryEdgeOptions; // Specifies the parameters used to compute
|
||
|
// the edge gradient information and detect
|
||
|
// the edges for the primary ROI.
|
||
|
EdgeOptions2 secondaryEdgeOptions; // Specifies the parameters used to
|
||
|
// compute the edge gradient information
|
||
|
// and detect the edges for the secondary
|
||
|
// ROI.
|
||
|
} FindTransformRectsOptions2;
|
||
|
|
||
|
typedef struct ReadTextReport3_struct {
|
||
|
const char* readString; // The read string.
|
||
|
CharReport3* characterReport; // An array of reports describing the
|
||
|
// properties of each identified character.
|
||
|
int numCharacterReports; // The number of identified characters.
|
||
|
ROI* roiBoundingCharacters; // An array specifying the coordinates of the
|
||
|
// character bounding ROI.
|
||
|
} ReadTextReport3;
|
||
|
|
||
|
typedef struct CharacterStatistics_struct {
|
||
|
int left; // The left offset of the character bounding rectangles in the
|
||
|
// current ROI.
|
||
|
int top; // The top offset of the character bounding rectangles in the
|
||
|
// current ROI.
|
||
|
int width; // The width of each of the characters you trained in the current
|
||
|
// ROI.
|
||
|
int height; // The height of each trained character in the current ROI.
|
||
|
int characterSize; // The size of the character in pixels.
|
||
|
} CharacterStatistics;
|
||
|
|
||
|
typedef struct CharReport3_struct {
|
||
|
const char* character; // The character value.
|
||
|
int classificationScore; // The degree to which the assigned character class
|
||
|
// represents the object better than the other
|
||
|
// character classes in the character set.
|
||
|
int verificationScore; // The similarity of the character and the reference
|
||
|
// character for the character class.
|
||
|
int verified; // This element is TRUE if a reference character was found for
|
||
|
// the character class and FALSE if a reference character was
|
||
|
// not found.
|
||
|
int lowThreshold; // The minimum value of the threshold range used for this
|
||
|
// character.
|
||
|
int highThreshold; // The maximum value of the threshold range used for this
|
||
|
// character.
|
||
|
CharacterStatistics
|
||
|
characterStats; // Describes the characters segmented in the ROI.
|
||
|
} CharReport3;
|
||
|
|
||
|
typedef struct ArcInfo2_struct {
|
||
|
PointFloat center; // The center point of the arc.
|
||
|
double radius; // The radius of the arc.
|
||
|
double startAngle; // The starting angle of the arc, specified
|
||
|
// counter-clockwise from the x-axis.
|
||
|
double endAngle; // The ending angle of the arc, specified counter-clockwise
|
||
|
// from the x-axis.
|
||
|
} ArcInfo2;
|
||
|
|
||
|
typedef struct EdgeReport2_struct {
|
||
|
EdgeInfo* edges; // An array of edges detected.
|
||
|
unsigned int numEdges; // Indicates the number of edges detected.
|
||
|
double* gradientInfo; // An array that contains the calculated edge strengths
|
||
|
// along the user-defined search area.
|
||
|
unsigned int numGradientInfo; // Indicates the number of elements contained
|
||
|
// in gradientInfo.
|
||
|
int calibrationValid; // Indicates if the calibration data corresponding to
|
||
|
// the location of the edges is correct.
|
||
|
} EdgeReport2;
|
||
|
|
||
|
typedef struct SearchArcInfo_struct {
|
||
|
ArcInfo2 arcCoordinates; // Describes the arc used for edge detection.
|
||
|
EdgeReport2 edgeReport; // Describes the edges found in this search line.
|
||
|
} SearchArcInfo;
|
||
|
|
||
|
typedef struct ConcentricRakeReport2_struct {
|
||
|
EdgeInfo* firstEdges; // The first edge point detected along each search line
|
||
|
// in the ROI.
|
||
|
unsigned int numFirstEdges; // The number of points in the firstEdges array.
|
||
|
EdgeInfo* lastEdges; // The last edge point detected along each search line
|
||
|
// in the ROI.
|
||
|
unsigned int numLastEdges; // The number of points in the lastEdges array.
|
||
|
SearchArcInfo* searchArcs; // Contains the arcs used for edge detection and
|
||
|
// the edge information for each arc.
|
||
|
unsigned int numSearchArcs; // The number of arcs in the searchArcs array.
|
||
|
} ConcentricRakeReport2;
|
||
|
|
||
|
typedef struct SpokeReport2_struct {
|
||
|
EdgeInfo* firstEdges; // The first edge point detected along each search line
|
||
|
// in the ROI.
|
||
|
unsigned int numFirstEdges; // The number of points in the firstEdges array.
|
||
|
EdgeInfo* lastEdges; // The last edge point detected along each search line
|
||
|
// in the ROI.
|
||
|
unsigned int numLastEdges; // The number of points in the lastEdges array.
|
||
|
SearchLineInfo* searchLines; // The search lines used for edge detection.
|
||
|
unsigned int
|
||
|
numSearchLines; // The number of search lines used in the edge detection.
|
||
|
} SpokeReport2;
|
||
|
|
||
|
typedef struct EdgeInfo_struct {
|
||
|
PointFloat position; // The location of the edge in the image.
|
||
|
PointFloat calibratedPosition; // The position of the edge in the image in
|
||
|
// real-world coordinates.
|
||
|
double distance; // The location of the edge from the first point along the
|
||
|
// boundary of the input ROI.
|
||
|
double calibratedDistance; // The location of the edge from the first point
|
||
|
// along the boundary of the input ROI in
|
||
|
// real-world coordinates.
|
||
|
double magnitude; // The intensity contrast at the edge.
|
||
|
double
|
||
|
noisePeak; // The strength of the noise associated with the current edge.
|
||
|
int rising; // Indicates the polarity of the edge.
|
||
|
} EdgeInfo;
|
||
|
|
||
|
typedef struct SearchLineInfo_struct {
|
||
|
LineFloat lineCoordinates; // The endpoints of the search line.
|
||
|
EdgeReport2 edgeReport; // Describes the edges found in this search line.
|
||
|
} SearchLineInfo;
|
||
|
|
||
|
typedef struct RakeReport2_struct {
|
||
|
EdgeInfo* firstEdges; // The first edge point detected along each search line
|
||
|
// in the ROI.
|
||
|
unsigned int numFirstEdges; // The number of points in the firstEdges array.
|
||
|
EdgeInfo* lastEdges; // The last edge point detected along each search line
|
||
|
// in the ROI.
|
||
|
unsigned int numLastEdges; // The number of points in the lastEdges array.
|
||
|
SearchLineInfo* searchLines; // The search lines used for edge detection.
|
||
|
unsigned int
|
||
|
numSearchLines; // The number of search lines used in the edge detection.
|
||
|
} RakeReport2;
|
||
|
|
||
|
typedef struct TransformBehaviors_struct {
|
||
|
GroupBehavior ShiftBehavior; // Specifies the behavior of an overlay group
|
||
|
// when a shift operation is applied to an
|
||
|
// image.
|
||
|
GroupBehavior ScaleBehavior; // Specifies the behavior of an overlay group
|
||
|
// when a scale operation is applied to an
|
||
|
// image.
|
||
|
GroupBehavior RotateBehavior; // Specifies the behavior of an overlay group
|
||
|
// when a rotate operation is applied to an
|
||
|
// image.
|
||
|
GroupBehavior SymmetryBehavior; // Specifies the behavior of an overlay group
|
||
|
// when a symmetry operation is applied to an
|
||
|
// image.
|
||
|
} TransformBehaviors;
|
||
|
|
||
|
typedef struct QRCodeDataToken_struct {
|
||
|
QRStreamMode mode; // Specifies the stream mode or the format of the data
|
||
|
// that is encoded in the QR code.
|
||
|
unsigned int modeData; // Indicates specifiers used by the user to
|
||
|
// postprocess the data if it requires it.
|
||
|
unsigned char* data; // Shows the encoded data in the QR code.
|
||
|
unsigned int
|
||
|
dataLength; // Specifies the length of the data found in the QR code.
|
||
|
} QRCodeDataToken;
|
||
|
|
||
|
typedef struct ParticleFilterOptions_struct {
|
||
|
int rejectMatches; // Set this parameter to TRUE to transfer only those
|
||
|
// particles that do not meet all the criteria.
|
||
|
int rejectBorder; // Set this element to TRUE to reject border particles.
|
||
|
int connectivity8; // Set this parameter to TRUE to use connectivity-8 to
|
||
|
// determine whether particles are touching.
|
||
|
} ParticleFilterOptions;
|
||
|
|
||
|
typedef struct StraightEdgeReport2_struct {
|
||
|
StraightEdge* straightEdges; // Contains an array of found straight edges.
|
||
|
unsigned int
|
||
|
numStraightEdges; // Indicates the number of straight edges found.
|
||
|
SearchLineInfo* searchLines; // Contains an array of all search lines used in
|
||
|
// the detection.
|
||
|
unsigned int
|
||
|
numSearchLines; // The number of search lines used in the edge detection.
|
||
|
} StraightEdgeReport2;
|
||
|
|
||
|
typedef struct StraightEdgeOptions_struct {
|
||
|
unsigned int numLines; // Specifies the number of straight edges to find.
|
||
|
StraightEdgeSearchMode
|
||
|
searchMode; // Specifies the method used to find the straight edge.
|
||
|
double minScore; // Specifies the minimum score of a detected straight edge.
|
||
|
double maxScore; // Specifies the maximum score of a detected edge.
|
||
|
double orientation; // Specifies the angle at which the straight edge is
|
||
|
// expected to be found.
|
||
|
double angleRange; // Specifies the +/- range around the orientation within
|
||
|
// which the straight edge is expected to be found.
|
||
|
double angleTolerance; // Specifies the expected angular accuracy of the
|
||
|
// straight edge.
|
||
|
unsigned int stepSize; // Specifies the gap in pixels between the search
|
||
|
// lines used with the rake-based methods.
|
||
|
double minSignalToNoiseRatio; // Specifies the minimum signal to noise ratio
|
||
|
// (SNR) of the edge points used to fit the
|
||
|
// straight edge.
|
||
|
double minCoverage; // Specifies the minimum number of points as a percentage
|
||
|
// of the number of search lines that need to be included
|
||
|
// in the detected straight edge.
|
||
|
unsigned int houghIterations; // Specifies the number of iterations used in
|
||
|
// the Hough-based method.
|
||
|
} StraightEdgeOptions;
|
||
|
|
||
|
typedef struct StraightEdge_struct {
|
||
|
LineFloat straightEdgeCoordinates; // End points of the detected straight
|
||
|
// edge in pixel coordinates.
|
||
|
LineFloat calibratedStraightEdgeCoordinates; // End points of the detected
|
||
|
// straight edge in real-world
|
||
|
// coordinates.
|
||
|
double angle; // Angle of the found edge using the pixel coordinates.
|
||
|
double calibratedAngle; // Angle of the found edge using the real-world
|
||
|
// coordinates.
|
||
|
double score; // Describes the score of the detected edge.
|
||
|
double straightness; // The straightness value of the detected straight edge.
|
||
|
double averageSignalToNoiseRatio; // Describes the average signal to noise
|
||
|
// ratio (SNR) of the detected edge.
|
||
|
int calibrationValid; // Indicates if the calibration data for the straight
|
||
|
// edge is valid.
|
||
|
EdgeInfo* usedEdges; // An array of edges that were used to determine this
|
||
|
// straight line.
|
||
|
unsigned int
|
||
|
numUsedEdges; // Indicates the number of edges in the usedEdges array.
|
||
|
} StraightEdge;
|
||
|
|
||
|
typedef struct QRCodeSearchOptions_struct {
|
||
|
QRRotationMode rotationMode; // Specifies the amount of QR code rotation the
|
||
|
// function should allow for.
|
||
|
unsigned int skipLocation; // If set to TRUE, specifies that the function
|
||
|
// should assume that the QR code occupies the
|
||
|
// entire image (or the entire search region).
|
||
|
unsigned int edgeThreshold; // The strength of the weakest edge the function
|
||
|
// uses to find the coarse location of the QR
|
||
|
// code in the image.
|
||
|
QRDemodulationMode demodulationMode; // The demodulation mode the function
|
||
|
// uses to locate the QR code.
|
||
|
QRCellSampleSize cellSampleSize; // The cell sample size the function uses to
|
||
|
// locate the QR code.
|
||
|
QRCellFilterMode cellFilterMode; // The cell filter mode the function uses to
|
||
|
// locate the QR code.
|
||
|
unsigned int skewDegreesAllowed; // Specifies the amount of skew in the QR
|
||
|
// code the function should allow for.
|
||
|
} QRCodeSearchOptions;
|
||
|
|
||
|
typedef struct QRCodeSizeOptions_struct {
|
||
|
unsigned int minSize; // Specifies the minimum size (in pixels) of the QR
|
||
|
// code in the image.
|
||
|
unsigned int maxSize; // Specifies the maximum size (in pixels) of the QR
|
||
|
// code in the image.
|
||
|
} QRCodeSizeOptions;
|
||
|
|
||
|
typedef struct QRCodeDescriptionOptions_struct {
|
||
|
QRDimensions dimensions; // The number of rows and columns that are populated
|
||
|
// for the QR code, measured in cells.
|
||
|
QRPolarities polarity; // The polarity of the QR code.
|
||
|
QRMirrorMode mirror; // This element is TRUE if the QR code appears mirrored
|
||
|
// in the image and FALSE if the QR code appears
|
||
|
// normally in the image.
|
||
|
QRModelType
|
||
|
modelType; // This option allows you to specify the type of QR code.
|
||
|
} QRCodeDescriptionOptions;
|
||
|
|
||
|
typedef struct QRCodeReport_struct {
|
||
|
unsigned int found; // This element is TRUE if the function located and
|
||
|
// decoded a QR code and FALSE if the function failed to
|
||
|
// locate and decode a QR code.
|
||
|
unsigned char* data; // The data encoded in the QR code.
|
||
|
unsigned int dataLength; // The length of the data array.
|
||
|
PointFloat boundingBox[4]; // An array of four points describing the
|
||
|
// rectangle surrounding the QR code.
|
||
|
QRCodeDataToken* tokenizedData; // Contains the data tokenized in exactly the
|
||
|
// way it was encoded in the code.
|
||
|
unsigned int sizeOfTokenizedData; // Size of the tokenized data.
|
||
|
unsigned int numErrorsCorrected; // The number of errors the function
|
||
|
// corrected when decoding the QR code.
|
||
|
unsigned int dimensions; // The number of rows and columns that are populated
|
||
|
// for the QR code, measured in cells.
|
||
|
unsigned int version; // The version of the QR code.
|
||
|
QRModelType modelType; // This option allows you to specify what type of QR
|
||
|
// code this is.
|
||
|
QRStreamMode streamMode; // The format of the data encoded in the stream.
|
||
|
QRPolarities matrixPolarity; // The polarity of the QR code.
|
||
|
unsigned int mirrored; // This element is TRUE if the QR code appears
|
||
|
// mirrored in the image and FALSE if the QR code
|
||
|
// appears normally in the image.
|
||
|
unsigned int positionInAppendStream; // Indicates what position the QR code
|
||
|
// is in with respect to the stream of
|
||
|
// data in all codes.
|
||
|
unsigned int sizeOfAppendStream; // Specifies how many QR codes are part of a
|
||
|
// larger array of codes.
|
||
|
int firstEAN128ApplicationID; // The first EAN-128 Application ID encountered
|
||
|
// in the stream.
|
||
|
int firstECIDesignator; // The first Regional Language Designator encountered
|
||
|
// in the stream.
|
||
|
unsigned int appendStreamIdentifier; // Specifies what stream the QR code is
|
||
|
// in relation to when the code is part
|
||
|
// of a larger array of codes.
|
||
|
unsigned int minimumEdgeStrength; // The strength of the weakest edge the
|
||
|
// function used to find the coarse
|
||
|
// location of the QR code in the image.
|
||
|
QRDemodulationMode demodulationMode; // The demodulation mode the function
|
||
|
// used to locate the QR code.
|
||
|
QRCellSampleSize cellSampleSize; // The cell sample size the function used to
|
||
|
// locate the QR code.
|
||
|
QRCellFilterMode cellFilterMode; // The cell filter mode the function used to
|
||
|
// locate the QR code.
|
||
|
} QRCodeReport;
|
||
|
|
||
|
typedef struct AIMGradeReport_struct {
|
||
|
AIMGrade overallGrade; // The overall letter grade, which is equal to the
|
||
|
// lowest of the other five letter grades.
|
||
|
AIMGrade decodingGrade; // The letter grade assigned to a Data Matrix barcode
|
||
|
// based on the success of the function in decoding
|
||
|
// the Data Matrix barcode.
|
||
|
AIMGrade symbolContrastGrade; // The letter grade assigned to a Data Matrix
|
||
|
// barcode based on the symbol contrast raw
|
||
|
// score.
|
||
|
float symbolContrast; // The symbol contrast raw score representing the
|
||
|
// percentage difference between the mean of the
|
||
|
// reflectance of the darkest 10 percent and lightest
|
||
|
// 10 percent of the Data Matrix barcode.
|
||
|
AIMGrade printGrowthGrade; // The print growth letter grade for the Data
|
||
|
// Matrix barcode.
|
||
|
float printGrowth; // The print growth raw score for the barcode, which is
|
||
|
// based on the extent to which dark or light markings
|
||
|
// appropriately fill their module boundaries.
|
||
|
AIMGrade axialNonuniformityGrade; // The axial nonuniformity grade for the
|
||
|
// Data Matrix barcode.
|
||
|
float axialNonuniformity; // The axial nonuniformity raw score for the
|
||
|
// barcode, which is based on how much the sampling
|
||
|
// point spacing differs from one axis to another.
|
||
|
AIMGrade unusedErrorCorrectionGrade; // The unused error correction letter
|
||
|
// grade for the Data Matrix barcode.
|
||
|
float unusedErrorCorrection; // The unused error correction raw score for the
|
||
|
// Data Matrix barcode, which is based on the
|
||
|
// extent to which regional or spot damage in
|
||
|
// the Data Matrix barcode has eroded the
|
||
|
// reading safety margin provided by the error
|
||
|
// correction.
|
||
|
} AIMGradeReport;
|
||
|
|
||
|
typedef struct DataMatrixSizeOptions_struct {
|
||
|
unsigned int minSize; // Specifies the minimum size (in pixels) of the Data
|
||
|
// Matrix barcode in the image.
|
||
|
unsigned int maxSize; // Specifies the maximum size (in pixels) of the Data
|
||
|
// Matrix barcode in the image.
|
||
|
unsigned int quietZoneWidth; // Specifies the expected minimum size of the
|
||
|
// quiet zone, in pixels.
|
||
|
} DataMatrixSizeOptions;
|
||
|
|
||
|
typedef struct DataMatrixDescriptionOptions_struct {
|
||
|
float aspectRatio; // Specifies the ratio of the width of each Data Matrix
|
||
|
// barcode cell (in pixels) to the height of the Data
|
||
|
// Matrix barcode (in pixels).
|
||
|
unsigned int rows; // Specifies the number of rows in the Data Matrix
|
||
|
// barcode.
|
||
|
unsigned int
|
||
|
columns; // Specifies the number of columns in the Data Matrix barcode.
|
||
|
int rectangle; // Set this element to TRUE to specify that the Data Matrix
|
||
|
// barcode is rectangular.
|
||
|
DataMatrixECC ecc; // Specifies the ECC used for this Data Matrix barcode.
|
||
|
DataMatrixPolarity polarity; // Specifies the data-to-background contrast for
|
||
|
// the Data Matrix barcode.
|
||
|
DataMatrixCellFillMode cellFill; // Specifies the fill percentage for a cell
|
||
|
// of the Data Matrix barcode that is in the
|
||
|
// "ON" state.
|
||
|
float minBorderIntegrity; // Specifies the minimum percentage of the border
|
||
|
// (locator pattern and timing pattern) the
|
||
|
// function should expect in the Data Matrix
|
||
|
// barcode.
|
||
|
DataMatrixMirrorMode mirrorMode; // Specifies if the Data Matrix barcode
|
||
|
// appears normally in the image or if the
|
||
|
// barcode appears mirrored in the image.
|
||
|
} DataMatrixDescriptionOptions;
|
||
|
|
||
|
typedef struct DataMatrixSearchOptions_struct {
|
||
|
DataMatrixRotationMode rotationMode; // Specifies the amount of Data Matrix
|
||
|
// barcode rotation the function should
|
||
|
// allow for.
|
||
|
int skipLocation; // If set to TRUE, specifies that the function should
|
||
|
// assume that the Data Matrix barcode occupies the entire
|
||
|
// image (or the entire search region).
|
||
|
unsigned int edgeThreshold; // Specifies the minimum contrast a pixel must
|
||
|
// have in order to be considered part of a
|
||
|
// matrix cell edge.
|
||
|
DataMatrixDemodulationMode demodulationMode; // Specifies the mode the
|
||
|
// function should use to
|
||
|
// demodulate (determine which
|
||
|
// cells are on and which cells
|
||
|
// are off) the Data Matrix
|
||
|
// barcode.
|
||
|
DataMatrixCellSampleSize cellSampleSize; // Specifies the sample size, in
|
||
|
// pixels, the function should take
|
||
|
// to determine if each cell is on
|
||
|
// or off.
|
||
|
DataMatrixCellFilterMode cellFilterMode; // Specifies the mode the function
|
||
|
// uses to determine the pixel value
|
||
|
// for each cell.
|
||
|
unsigned int skewDegreesAllowed; // Specifies the amount of skew in the Data
|
||
|
// Matrix barcode the function should allow
|
||
|
// for.
|
||
|
unsigned int maxIterations; // Specifies the maximum number of iterations
|
||
|
// before the function stops looking for the Data
|
||
|
// Matrix barcode.
|
||
|
unsigned int initialSearchVectorWidth; // Specifies the number of pixels the
|
||
|
// function should average together to
|
||
|
// determine the location of an edge.
|
||
|
} DataMatrixSearchOptions;
|
||
|
|
||
|
typedef struct DataMatrixReport_struct {
|
||
|
int found; // This element is TRUE if the function located and decoded a Data
|
||
|
// Matrix barcode and FALSE if the function failed to locate and
|
||
|
// decode a Data Matrix barcode.
|
||
|
int binary; // This element is TRUE if the Data Matrix barcode contains
|
||
|
// binary data and FALSE if the Data Matrix barcode contains text
|
||
|
// data.
|
||
|
unsigned char* data; // The data encoded in the Data Matrix barcode.
|
||
|
unsigned int dataLength; // The length of the data array.
|
||
|
PointFloat boundingBox[4]; // An array of four points describing the
|
||
|
// rectangle surrounding the Data Matrix barcode.
|
||
|
unsigned int numErrorsCorrected; // The number of errors the function
|
||
|
// corrected when decoding the Data Matrix
|
||
|
// barcode.
|
||
|
unsigned int numErasuresCorrected; // The number of erasures the function
|
||
|
// corrected when decoding the Data Matrix
|
||
|
// barcode.
|
||
|
float aspectRatio; // Specifies the aspect ratio of the Data Matrix barcode
|
||
|
// in the image, which equals the ratio of the width of a
|
||
|
// Data Matrix barcode cell (in pixels) to the height of a
|
||
|
// Data Matrix barcode cell (in pixels).
|
||
|
unsigned int rows; // The number of rows in the Data Matrix barcode.
|
||
|
unsigned int columns; // The number of columns in the Data Matrix barcode.
|
||
|
DataMatrixECC
|
||
|
ecc; // The Error Correction Code (ECC) used by the Data Matrix barcode.
|
||
|
DataMatrixPolarity polarity; // The polarity of the Data Matrix barcode.
|
||
|
DataMatrixCellFillMode
|
||
|
cellFill; // The cell fill percentage of the Data Matrix barcode.
|
||
|
float borderIntegrity; // The percentage of the Data Matrix barcode border
|
||
|
// that appears correctly in the image.
|
||
|
int mirrored; // This element is TRUE if the Data Matrix barcode appears
|
||
|
// mirrored in the image and FALSE if the Data Matrix barcode
|
||
|
// appears normally in the image.
|
||
|
unsigned int minimumEdgeStrength; // The strength of the weakest edge the
|
||
|
// function used to find the coarse
|
||
|
// location of the Data Matrix barcode in
|
||
|
// the image.
|
||
|
DataMatrixDemodulationMode demodulationMode; // The demodulation mode the
|
||
|
// function used to locate the
|
||
|
// Data Matrix barcode.
|
||
|
DataMatrixCellSampleSize cellSampleSize; // The cell sample size the function
|
||
|
// used to locate the Data Matrix
|
||
|
// barcode.
|
||
|
DataMatrixCellFilterMode cellFilterMode; // The cell filter mode the function
|
||
|
// used to locate the Data Matrix
|
||
|
// barcode.
|
||
|
unsigned int iterations; // The number of iterations the function took in
|
||
|
// attempting to locate the Data Matrix barcode.
|
||
|
} DataMatrixReport;
|
||
|
|
||
|
typedef struct JPEG2000FileAdvancedOptions_struct {
|
||
|
WaveletTransformMode waveletMode; // Determines which wavelet transform to
|
||
|
// use when writing the file.
|
||
|
int useMultiComponentTransform; // Set this parameter to TRUE to use an
|
||
|
// additional transform on RGB images.
|
||
|
unsigned int maxWaveletTransformLevel; // Specifies the maximum allowed level
|
||
|
// of wavelet transform.
|
||
|
float quantizationStepSize; // Specifies the absolute base quantization step
|
||
|
// size for derived quantization mode.
|
||
|
} JPEG2000FileAdvancedOptions;
|
||
|
|
||
|
typedef struct MatchGeometricPatternAdvancedOptions2_struct {
|
||
|
int minFeaturesUsed; // Specifies the minimum number of features the function
|
||
|
// uses when matching.
|
||
|
int maxFeaturesUsed; // Specifies the maximum number of features the function
|
||
|
// uses when matching.
|
||
|
int subpixelIterations; // Specifies the maximum number of incremental
|
||
|
// improvements used to refine matches with subpixel
|
||
|
// information.
|
||
|
double subpixelTolerance; // Specifies the maximum amount of change, in
|
||
|
// pixels, between consecutive incremental
|
||
|
// improvements in the match position before the
|
||
|
// function stops refining the match position.
|
||
|
int initialMatchListLength; // Specifies the maximum size of the match list.
|
||
|
float matchTemplateCurveScore; // Set this element to TRUE to specify that
|
||
|
// the function should calculate the match
|
||
|
// curve to template curve score and return it
|
||
|
// for each match result.
|
||
|
int correlationScore; // Set this element to TRUE to specify that the
|
||
|
// function should calculate the correlation score and
|
||
|
// return it for each match result.
|
||
|
double minMatchSeparationDistance; // Specifies the minimum separation
|
||
|
// distance, in pixels, between the
|
||
|
// origins of two matches that have unique
|
||
|
// positions.
|
||
|
double minMatchSeparationAngle; // Specifies the minimum angular difference,
|
||
|
// in degrees, between two matches that have
|
||
|
// unique angles.
|
||
|
double minMatchSeparationScale; // Specifies the minimum difference in scale,
|
||
|
// expressed as a percentage, between two
|
||
|
// matches that have unique scales.
|
||
|
double maxMatchOverlap; // Specifies the maximum amount of overlap, expressed
|
||
|
// as a percentage, allowed between the bounding
|
||
|
// rectangles of two unique matches.
|
||
|
int coarseResult; // Specifies whether you want the function to spend less
|
||
|
// time accurately estimating the location of a match.
|
||
|
int smoothContours; // Set this element to TRUE to specify smoothing be done
|
||
|
// on the contours of the inspection image before feature
|
||
|
// extraction.
|
||
|
int enableCalibrationSupport; // Set this element to TRUE to specify the
|
||
|
// algorithm treat the inspection image as a
|
||
|
// calibrated image.
|
||
|
} MatchGeometricPatternAdvancedOptions2;
|
||
|
|
||
|
typedef struct InspectionAlignment_struct {
|
||
|
PointFloat position; // The location of the center of the golden template in
|
||
|
// the image under inspection.
|
||
|
float rotation; // The rotation of the golden template in the image under
|
||
|
// inspection, in degrees.
|
||
|
float scale; // The percentage of the size of the area under inspection
|
||
|
// compared to the size of the golden template.
|
||
|
} InspectionAlignment;
|
||
|
|
||
|
typedef struct InspectionOptions_struct {
|
||
|
RegistrationMethod registrationMethod; // Specifies how the function
|
||
|
// registers the golden template and
|
||
|
// the target image.
|
||
|
NormalizationMethod normalizationMethod; // Specifies how the function
|
||
|
// normalizes the golden template to
|
||
|
// the target image.
|
||
|
int edgeThicknessToIgnore; // Specifies desired thickness of edges to be
|
||
|
// ignored.
|
||
|
float brightThreshold; // Specifies the threshold for areas where the target
|
||
|
// image is brighter than the golden template.
|
||
|
float darkThreshold; // Specifies the threshold for areas where the target
|
||
|
// image is darker than the golden template.
|
||
|
int binary; // Specifies whether the function should return a binary image
|
||
|
// giving the location of defects, or a grayscale image giving
|
||
|
// the intensity of defects.
|
||
|
} InspectionOptions;
|
||
|
|
||
|
typedef struct CharReport2_struct {
|
||
|
const char* character; // The character value.
|
||
|
PointFloat corner[4]; // An array of four points that describes the rectangle
|
||
|
// that surrounds the character.
|
||
|
int lowThreshold; // The minimum value of the threshold range used for this
|
||
|
// character.
|
||
|
int highThreshold; // The maximum value of the threshold range used for this
|
||
|
// character.
|
||
|
int classificationScore; // The degree to which the assigned character class
|
||
|
// represents the object better than the other
|
||
|
// character classes in the character set.
|
||
|
int verificationScore; // The similarity of the character and the reference
|
||
|
// character for the character class.
|
||
|
int verified; // This element is TRUE if a reference character was found for
|
||
|
// the character class and FALSE if a reference character was
|
||
|
// not found.
|
||
|
} CharReport2;
|
||
|
|
||
|
typedef struct CharInfo2_struct {
|
||
|
const char* charValue; // Retrieves the character value of the corresponding
|
||
|
// character in the character set.
|
||
|
const Image* charImage; // The image you used to train this character.
|
||
|
const Image* internalImage; // The internal representation that NI Vision
|
||
|
// uses to match objects to this character.
|
||
|
int isReferenceChar; // This element is TRUE if the character is the
|
||
|
// reference character for the character class.
|
||
|
} CharInfo2;
|
||
|
|
||
|
typedef struct ReadTextReport2_struct {
|
||
|
const char* readString; // The read string.
|
||
|
CharReport2* characterReport; // An array of reports describing the
|
||
|
// properties of each identified character.
|
||
|
int numCharacterReports; // The number of identified characters.
|
||
|
} ReadTextReport2;
|
||
|
|
||
|
typedef struct EllipseFeature_struct {
|
||
|
PointFloat position; // The location of the center of the ellipse.
|
||
|
double rotation; // The orientation of the semi-major axis of the ellipse
|
||
|
// with respect to the horizontal.
|
||
|
double minorRadius; // The length of the semi-minor axis of the ellipse.
|
||
|
double majorRadius; // The length of the semi-major axis of the ellipse.
|
||
|
} EllipseFeature;
|
||
|
|
||
|
typedef struct CircleFeature_struct {
|
||
|
PointFloat position; // The location of the center of the circle.
|
||
|
double radius; // The radius of the circle.
|
||
|
} CircleFeature;
|
||
|
|
||
|
typedef struct ConstCurveFeature_struct {
|
||
|
PointFloat
|
||
|
position; // The center of the circle that this constant curve lies upon.
|
||
|
double radius; // The radius of the circle that this constant curve lies
|
||
|
// upon.
|
||
|
double startAngle; // When traveling along the constant curve from one
|
||
|
// endpoint to the next in a counterclockwise manner, this
|
||
|
// is the angular component of the vector originating at
|
||
|
// the center of the constant curve and pointing towards
|
||
|
// the first endpoint of the constant curve.
|
||
|
double endAngle; // When traveling along the constant curve from one endpoint
|
||
|
// to the next in a counterclockwise manner, this is the
|
||
|
// angular component of the vector originating at the center
|
||
|
// of the constant curve and pointing towards the second
|
||
|
// endpoint of the constant curve.
|
||
|
} ConstCurveFeature;
|
||
|
|
||
|
typedef struct RectangleFeature_struct {
|
||
|
PointFloat position; // The center of the rectangle.
|
||
|
PointFloat corner[4]; // The four corners of the rectangle.
|
||
|
double rotation; // The orientation of the rectangle with respect to the
|
||
|
// horizontal.
|
||
|
double width; // The width of the rectangle.
|
||
|
double height; // The height of the rectangle.
|
||
|
} RectangleFeature;
|
||
|
|
||
|
typedef struct LegFeature_struct {
|
||
|
PointFloat position; // The location of the leg feature.
|
||
|
PointFloat corner[4]; // The four corners of the leg feature.
|
||
|
double rotation; // The orientation of the leg with respect to the
|
||
|
// horizontal.
|
||
|
double width; // The width of the leg.
|
||
|
double height; // The height of the leg.
|
||
|
} LegFeature;
|
||
|
|
||
|
typedef struct CornerFeature_struct {
|
||
|
PointFloat position; // The location of the corner feature.
|
||
|
double rotation; // The angular component of the vector bisecting the corner
|
||
|
// from position.
|
||
|
double enclosedAngle; // The measure of the enclosed angle of the corner.
|
||
|
int isVirtual;
|
||
|
} CornerFeature;
|
||
|
|
||
|
typedef struct LineFeature_struct {
|
||
|
PointFloat startPoint; // The starting point of the line.
|
||
|
PointFloat endPoint; // The ending point of the line.
|
||
|
double length; // The length of the line measured in pixels from the start
|
||
|
// point to the end point.
|
||
|
double
|
||
|
rotation; // The orientation of the line with respect to the horizontal.
|
||
|
} LineFeature;
|
||
|
|
||
|
typedef struct ParallelLinePairFeature_struct {
|
||
|
PointFloat
|
||
|
firstStartPoint; // The starting point of the first line of the pair.
|
||
|
PointFloat firstEndPoint; // The ending point of the first line of the pair.
|
||
|
PointFloat
|
||
|
secondStartPoint; // The starting point of the second line of the pair.
|
||
|
PointFloat secondEndPoint; // The ending point of the second line of the
|
||
|
// pair.
|
||
|
double rotation; // The orientation of the feature with respect to the
|
||
|
// horizontal.
|
||
|
double distance; // The distance from the first line to the second line.
|
||
|
} ParallelLinePairFeature;
|
||
|
|
||
|
typedef struct PairOfParallelLinePairsFeature_struct {
|
||
|
ParallelLinePairFeature
|
||
|
firstParallelLinePair; // The first parallel line pair.
|
||
|
ParallelLinePairFeature
|
||
|
secondParallelLinePair; // The second parallel line pair.
|
||
|
double rotation; // The orientation of the feature with respect to the
|
||
|
// horizontal.
|
||
|
double distance; // The distance from the midline of the first parallel line
|
||
|
// pair to the midline of the second parallel line pair.
|
||
|
} PairOfParallelLinePairsFeature;
|
||
|
|
||
|
typedef union GeometricFeature_union {
|
||
|
CircleFeature* circle; // A pointer to a CircleFeature.
|
||
|
EllipseFeature* ellipse; // A pointer to an EllipseFeature.
|
||
|
ConstCurveFeature* constCurve; // A pointer to a ConstCurveFeature.
|
||
|
RectangleFeature* rectangle; // A pointer to a RectangleFeature.
|
||
|
LegFeature* leg; // A pointer to a LegFeature.
|
||
|
CornerFeature* corner; // A pointer to a CornerFeature.
|
||
|
ParallelLinePairFeature*
|
||
|
parallelLinePair; // A pointer to a ParallelLinePairFeature.
|
||
|
PairOfParallelLinePairsFeature*
|
||
|
pairOfParallelLinePairs; // A pointer to a
|
||
|
// PairOfParallelLinePairsFeature.
|
||
|
LineFeature* line; // A pointer to a LineFeature.
|
||
|
ClosedCurveFeature* closedCurve; // A pointer to a ClosedCurveFeature.
|
||
|
} GeometricFeature;
|
||
|
|
||
|
typedef struct FeatureData_struct {
|
||
|
FeatureType type; // An enumeration representing the type of the feature.
|
||
|
PointFloat*
|
||
|
contourPoints; // A set of points describing the contour of the feature.
|
||
|
int numContourPoints; // The number of points in the contourPoints array.
|
||
|
GeometricFeature
|
||
|
feature; // The feature data specific to this type of feature.
|
||
|
} FeatureData;
|
||
|
|
||
|
typedef struct GeometricPatternMatch2_struct {
|
||
|
PointFloat
|
||
|
position; // The location of the origin of the template in the match.
|
||
|
float rotation; // The rotation of the match relative to the template image,
|
||
|
// in degrees.
|
||
|
float scale; // The size of the match relative to the size of the template
|
||
|
// image, expressed as a percentage.
|
||
|
float score; // The accuracy of the match.
|
||
|
PointFloat corner[4]; // An array of four points describing the rectangle
|
||
|
// surrounding the template image.
|
||
|
int inverse; // This element is TRUE if the match is an inverse of the
|
||
|
// template image.
|
||
|
float occlusion; // The percentage of the match that is occluded.
|
||
|
float templateMatchCurveScore; // The accuracy of the match obtained by
|
||
|
// comparing the template curves to the curves
|
||
|
// in the match region.
|
||
|
float matchTemplateCurveScore; // The accuracy of the match obtained by
|
||
|
// comparing the curves in the match region to
|
||
|
// the template curves.
|
||
|
float correlationScore; // The accuracy of the match obtained by comparing
|
||
|
// the template image to the match region using a
|
||
|
// correlation metric that compares the two regions
|
||
|
// as a function of their pixel values.
|
||
|
String255 label; // The label corresponding to this match when the match is
|
||
|
// returned by imaqMatchMultipleGeometricPatterns().
|
||
|
FeatureData* featureData; // The features used in this match.
|
||
|
int numFeatureData; // The size of the featureData array.
|
||
|
PointFloat calibratedPosition; // The location of the origin of the template
|
||
|
// in the match.
|
||
|
float calibratedRotation; // The rotation of the match relative to the
|
||
|
// template image, in degrees.
|
||
|
PointFloat calibratedCorner[4]; // An array of four points describing the
|
||
|
// rectangle surrounding the template image.
|
||
|
} GeometricPatternMatch2;
|
||
|
|
||
|
typedef struct ClosedCurveFeature_struct {
|
||
|
PointFloat position; // The center of the closed curve feature.
|
||
|
double arcLength; // The arc length of the closed curve feature.
|
||
|
} ClosedCurveFeature;
|
||
|
|
||
|
typedef struct LineMatch_struct {
|
||
|
PointFloat startPoint; // The starting point of the matched line.
|
||
|
PointFloat endPoint; // The ending point of the matched line.
|
||
|
double length; // The length of the line measured in pixels from the start
|
||
|
// point to the end point.
|
||
|
double rotation; // The orientation of the matched line.
|
||
|
double score; // The score of the matched line.
|
||
|
} LineMatch;
|
||
|
|
||
|
typedef struct LineDescriptor_struct {
|
||
|
double minLength; // Specifies the minimum length of a line the function will
|
||
|
// return.
|
||
|
double maxLength; // Specifies the maximum length of a line the function will
|
||
|
// return.
|
||
|
} LineDescriptor;
|
||
|
|
||
|
typedef struct RectangleDescriptor_struct {
|
||
|
double minWidth; // Specifies the minimum width of a rectangle the algorithm
|
||
|
// will return.
|
||
|
double maxWidth; // Specifies the maximum width of a rectangle the algorithm
|
||
|
// will return.
|
||
|
double minHeight; // Specifies the minimum height of a rectangle the
|
||
|
// algorithm will return.
|
||
|
double maxHeight; // Specifies the maximum height of a rectangle the
|
||
|
// algorithm will return.
|
||
|
} RectangleDescriptor;
|
||
|
|
||
|
typedef struct RectangleMatch_struct {
|
||
|
PointFloat corner[4]; // The corners of the matched rectangle.
|
||
|
double rotation; // The orientation of the matched rectangle.
|
||
|
double width; // The width of the matched rectangle.
|
||
|
double height; // The height of the matched rectangle.
|
||
|
double score; // The score of the matched rectangle.
|
||
|
} RectangleMatch;
|
||
|
|
||
|
typedef struct EllipseDescriptor_struct {
|
||
|
double minMajorRadius; // Specifies the minimum length of the semi-major axis
|
||
|
// of an ellipse the function will return.
|
||
|
double maxMajorRadius; // Specifies the maximum length of the semi-major axis
|
||
|
// of an ellipse the function will return.
|
||
|
double minMinorRadius; // Specifies the minimum length of the semi-minor axis
|
||
|
// of an ellipse the function will return.
|
||
|
double maxMinorRadius; // Specifies the maximum length of the semi-minor axis
|
||
|
// of an ellipse the function will return.
|
||
|
} EllipseDescriptor;
|
||
|
|
||
|
typedef struct EllipseMatch_struct {
|
||
|
PointFloat position; // The location of the center of the matched ellipse.
|
||
|
double rotation; // The orientation of the matched ellipse.
|
||
|
double
|
||
|
majorRadius; // The length of the semi-major axis of the matched ellipse.
|
||
|
double
|
||
|
minorRadius; // The length of the semi-minor axis of the matched ellipse.
|
||
|
double score; // The score of the matched ellipse.
|
||
|
} EllipseMatch;
|
||
|
|
||
|
typedef struct CircleMatch_struct {
|
||
|
PointFloat position; // The location of the center of the matched circle.
|
||
|
double radius; // The radius of the matched circle.
|
||
|
double score; // The score of the matched circle.
|
||
|
} CircleMatch;
|
||
|
|
||
|
typedef struct CircleDescriptor_struct {
|
||
|
double minRadius; // Specifies the minimum radius of a circle the function
|
||
|
// will return.
|
||
|
double maxRadius; // Specifies the maximum radius of a circle the function
|
||
|
// will return.
|
||
|
} CircleDescriptor;
|
||
|
|
||
|
typedef struct ShapeDetectionOptions_struct {
|
||
|
unsigned int mode; // Specifies the method used when looking for the shape in
|
||
|
// the image.
|
||
|
RangeFloat* angleRanges; // An array of angle ranges, in degrees, where each
|
||
|
// range specifies how much you expect the shape to
|
||
|
// be rotated in the image.
|
||
|
int numAngleRanges; // The size of the orientationRanges array.
|
||
|
RangeFloat scaleRange; // A range that specifies the sizes of the shapes you
|
||
|
// expect to be in the image, expressed as a ratio
|
||
|
// percentage representing the size of the pattern in
|
||
|
// the image divided by size of the original pattern
|
||
|
// multiplied by 100.
|
||
|
double minMatchScore;
|
||
|
} ShapeDetectionOptions;
|
||
|
|
||
|
typedef struct Curve_struct {
|
||
|
PointFloat* points; // The points on the curve.
|
||
|
unsigned int numPoints; // The number of points in the curve.
|
||
|
int closed; // This element is TRUE if the curve is closed and FALSE if the
|
||
|
// curve is open.
|
||
|
double curveLength; // The length of the curve.
|
||
|
double minEdgeStrength; // The lowest edge strength detected on the curve.
|
||
|
double maxEdgeStrength; // The highest edge strength detected on the curve.
|
||
|
double averageEdgeStrength; // The average of all edge strengths detected on
|
||
|
// the curve.
|
||
|
} Curve;
|
||
|
|
||
|
typedef struct CurveOptions_struct {
|
||
|
ExtractionMode extractionMode; // Specifies the method the function uses to
|
||
|
// identify curves in the image.
|
||
|
int threshold; // Specifies the minimum contrast a seed point must have in
|
||
|
// order to begin a curve.
|
||
|
EdgeFilterSize filterSize; // Specifies the width of the edge filter the
|
||
|
// function uses to identify curves in the image.
|
||
|
int minLength; // Specifies the length, in pixels, of the smallest curve the
|
||
|
// function will extract.
|
||
|
int rowStepSize; // Specifies the distance, in the y direction, between lines
|
||
|
// the function inspects for curve seed points.
|
||
|
int columnStepSize; // Specifies the distance, in the x direction, between
|
||
|
// columns the function inspects for curve seed points.
|
||
|
int maxEndPointGap; // Specifies the maximum gap, in pixels, between the
|
||
|
// endpoints of a curve that the function identifies as a
|
||
|
// closed curve.
|
||
|
int onlyClosed; // Set this element to TRUE to specify that the function
|
||
|
// should only identify closed curves in the image.
|
||
|
int subpixelAccuracy; // Set this element to TRUE to specify that the
|
||
|
// function identifies the location of curves with
|
||
|
// subpixel accuracy by interpolating between points to
|
||
|
// find the crossing of threshold.
|
||
|
} CurveOptions;
|
||
|
|
||
|
typedef struct Barcode2DInfo_struct {
|
||
|
Barcode2DType type; // The type of the 2D barcode.
|
||
|
int binary; // This element is TRUE if the 2D barcode contains binary data
|
||
|
// and FALSE if the 2D barcode contains text data.
|
||
|
unsigned char* data; // The data encoded in the 2D barcode.
|
||
|
unsigned int dataLength; // The length of the data array.
|
||
|
PointFloat boundingBox[4]; // An array of four points describing the
|
||
|
// rectangle surrounding the 2D barcode.
|
||
|
unsigned int numErrorsCorrected; // The number of errors the function
|
||
|
// corrected when decoding the 2D barcode.
|
||
|
unsigned int numErasuresCorrected; // The number of erasures the function
|
||
|
// corrected when decoding the 2D barcode.
|
||
|
unsigned int rows; // The number of rows in the 2D barcode.
|
||
|
unsigned int columns; // The number of columns in the 2D barcode.
|
||
|
} Barcode2DInfo;
|
||
|
|
||
|
typedef struct DataMatrixOptions_struct {
|
||
|
Barcode2DSearchMode searchMode; // Specifies the mode the function uses to
|
||
|
// search for barcodes.
|
||
|
Barcode2DContrast contrast; // Specifies the contrast of the barcodes that
|
||
|
// the function searches for.
|
||
|
Barcode2DCellShape cellShape; // Specifies the shape of the barcode data
|
||
|
// cells, which affects how the function
|
||
|
// decodes the barcode.
|
||
|
Barcode2DShape barcodeShape; // Specifies the shape of the barcodes that the
|
||
|
// function searches for.
|
||
|
DataMatrixSubtype subtype; // Specifies the Data Matrix subtypes of the
|
||
|
// barcodes that the function searches for.
|
||
|
} DataMatrixOptions;
|
||
|
|
||
|
typedef struct ClassifierAccuracyReport_struct {
|
||
|
int size; // The size of the arrays in this structure.
|
||
|
float accuracy; // The overall accuracy of the classifier, from 0 to 1000.
|
||
|
char** classNames; // The names of the classes of this classifier.
|
||
|
double* classAccuracy; // An array of size elements that contains accuracy
|
||
|
// information for each class.
|
||
|
double* classPredictiveValue; // An array containing size elements that
|
||
|
// contains the predictive values of each
|
||
|
// class.
|
||
|
int** classificationDistribution; // A two-dimensional array containing
|
||
|
// information about how the classifier
|
||
|
// classifies its samples.
|
||
|
} ClassifierAccuracyReport;
|
||
|
|
||
|
typedef struct NearestNeighborClassResult_struct {
|
||
|
char* className; // The name of the class.
|
||
|
float standardDeviation; // The standard deviation of the members of this
|
||
|
// class.
|
||
|
int count; // The number of samples in this class.
|
||
|
} NearestNeighborClassResult;
|
||
|
|
||
|
typedef struct NearestNeighborTrainingReport_struct {
|
||
|
float** classDistancesTable; // The confidence in the training.
|
||
|
NearestNeighborClassResult* allScores; // All classes and their scores.
|
||
|
int allScoresSize; // The number of entries in allScores.
|
||
|
} NearestNeighborTrainingReport;
|
||
|
|
||
|
typedef struct ParticleClassifierPreprocessingOptions_struct {
|
||
|
int manualThreshold; // Set this element to TRUE to specify the threshold
|
||
|
// range manually.
|
||
|
RangeFloat manualThresholdRange; // If a manual threshold is being done, the
|
||
|
// range of pixels to keep.
|
||
|
ThresholdMethod autoThresholdMethod; // If an automatic threshold is being
|
||
|
// done, the method used to calculate
|
||
|
// the threshold range.
|
||
|
RangeFloat limits; // The limits on the automatic threshold range.
|
||
|
ParticleType particleType; // Specifies what kind of particles to look for.
|
||
|
int rejectBorder; // Set this element to TRUE to reject border particles.
|
||
|
int numErosions; // The number of erosions to perform.
|
||
|
} ParticleClassifierPreprocessingOptions;
|
||
|
|
||
|
typedef struct ClassifierSampleInfo_struct {
|
||
|
char* className; // The name of the class this sample is in.
|
||
|
double* featureVector; // The feature vector of this sample, or NULL if this
|
||
|
// is not a custom classifier session.
|
||
|
int featureVectorSize; // The number of elements in the feature vector.
|
||
|
Image* thumbnail; // A thumbnail image of this sample, or NULL if no image
|
||
|
// was specified.
|
||
|
} ClassifierSampleInfo;
|
||
|
|
||
|
typedef struct ClassScore_struct {
|
||
|
char* className; // The name of the class.
|
||
|
float distance; // The distance from the item to this class.
|
||
|
} ClassScore;
|
||
|
|
||
|
typedef struct ClassifierReport_struct {
|
||
|
char* bestClassName; // The name of the best class for the sample.
|
||
|
float classificationScore; // The similarity of the sample and the two
|
||
|
// closest classes in the classifier.
|
||
|
float identificationScore; // The similarity of the sample and the assigned
|
||
|
// class.
|
||
|
ClassScore* allScores; // All classes and their scores.
|
||
|
int allScoresSize; // The number of entries in allScores.
|
||
|
} ClassifierReport;
|
||
|
|
||
|
typedef struct NearestNeighborOptions_struct {
|
||
|
NearestNeighborMethod method; // The method to use.
|
||
|
NearestNeighborMetric metric; // The metric to use.
|
||
|
int k; // The value of k, if the IMAQ_K_NEAREST_NEIGHBOR method is used.
|
||
|
} NearestNeighborOptions;
|
||
|
|
||
|
typedef struct ParticleClassifierOptions_struct {
|
||
|
float scaleDependence; // The relative importance of scale when classifying
|
||
|
// particles.
|
||
|
float mirrorDependence; // The relative importance of mirror symmetry when
|
||
|
// classifying particles.
|
||
|
} ParticleClassifierOptions;
|
||
|
|
||
|
typedef struct RGBU64Value_struct {
|
||
|
unsigned short B; // The blue value of the color.
|
||
|
unsigned short G; // The green value of the color.
|
||
|
unsigned short R; // The red value of the color.
|
||
|
unsigned short alpha; // The alpha value of the color, which represents extra
|
||
|
// information about a color image, such as gamma
|
||
|
// correction.
|
||
|
} RGBU64Value;
|
||
|
|
||
|
typedef struct GeometricPatternMatch_struct {
|
||
|
PointFloat
|
||
|
position; // The location of the origin of the template in the match.
|
||
|
float rotation; // The rotation of the match relative to the template image,
|
||
|
// in degrees.
|
||
|
float scale; // The size of the match relative to the size of the template
|
||
|
// image, expressed as a percentage.
|
||
|
float score; // The accuracy of the match.
|
||
|
PointFloat corner[4]; // An array of four points describing the rectangle
|
||
|
// surrounding the template image.
|
||
|
int inverse; // This element is TRUE if the match is an inverse of the
|
||
|
// template image.
|
||
|
float occlusion; // The percentage of the match that is occluded.
|
||
|
float templateMatchCurveScore; // The accuracy of the match obtained by
|
||
|
// comparing the template curves to the curves
|
||
|
// in the match region.
|
||
|
float matchTemplateCurveScore; // The accuracy of the match obtained by
|
||
|
// comparing the curves in the match region to
|
||
|
// the template curves.
|
||
|
float correlationScore; // The accuracy of the match obtained by comparing
|
||
|
// the template image to the match region using a
|
||
|
// correlation metric that compares the two regions
|
||
|
// as a function of their pixel values.
|
||
|
} GeometricPatternMatch;
|
||
|
|
||
|
typedef struct MatchGeometricPatternAdvancedOptions_struct {
|
||
|
int minFeaturesUsed; // Specifies the minimum number of features the function
|
||
|
// uses when matching.
|
||
|
int maxFeaturesUsed; // Specifies the maximum number of features the function
|
||
|
// uses when matching.
|
||
|
int subpixelIterations; // Specifies the maximum number of incremental
|
||
|
// improvements used to refine matches with subpixel
|
||
|
// information.
|
||
|
double subpixelTolerance; // Specifies the maximum amount of change, in
|
||
|
// pixels, between consecutive incremental
|
||
|
// improvements in the match position before the
|
||
|
// function stops refining the match position.
|
||
|
int initialMatchListLength; // Specifies the maximum size of the match list.
|
||
|
int matchTemplateCurveScore; // Set this element to TRUE to specify that the
|
||
|
// function should calculate the match curve to
|
||
|
// template curve score and return it for each
|
||
|
// match result.
|
||
|
int correlationScore; // Set this element to TRUE to specify that the
|
||
|
// function should calculate the correlation score and
|
||
|
// return it for each match result.
|
||
|
double minMatchSeparationDistance; // Specifies the minimum separation
|
||
|
// distance, in pixels, between the
|
||
|
// origins of two matches that have unique
|
||
|
// positions.
|
||
|
double minMatchSeparationAngle; // Specifies the minimum angular difference,
|
||
|
// in degrees, between two matches that have
|
||
|
// unique angles.
|
||
|
double minMatchSeparationScale; // Specifies the minimum difference in scale,
|
||
|
// expressed as a percentage, between two
|
||
|
// matches that have unique scales.
|
||
|
double maxMatchOverlap; // Specifies the maximum amount of overlap, expressed
|
||
|
// as a percentage, allowed between the bounding
|
||
|
// rectangles of two unique matches.
|
||
|
int coarseResult; // Specifies whether you want the function to spend less
|
||
|
// time accurately estimating the location of a match.
|
||
|
} MatchGeometricPatternAdvancedOptions;
|
||
|
|
||
|
typedef struct MatchGeometricPatternOptions_struct {
|
||
|
unsigned int mode; // Specifies the method imaqMatchGeometricPattern() uses
|
||
|
// when looking for the pattern in the image.
|
||
|
int subpixelAccuracy; // Set this element to TRUE to specify that the
|
||
|
// function should calculate match locations with
|
||
|
// subpixel accuracy.
|
||
|
RangeFloat* angleRanges; // An array of angle ranges, in degrees, where each
|
||
|
// range specifies how much you expect the template
|
||
|
// to be rotated in the image.
|
||
|
int numAngleRanges; // Number of angle ranges in the angleRanges array.
|
||
|
RangeFloat scaleRange; // A range that specifies the sizes of the pattern you
|
||
|
// expect to be in the image, expressed as a ratio
|
||
|
// percentage representing the size of the pattern in
|
||
|
// the image divided by size of the original pattern
|
||
|
// multiplied by 100.
|
||
|
RangeFloat occlusionRange; // A range that specifies the percentage of the
|
||
|
// pattern you expect to be occluded in the image.
|
||
|
int numMatchesRequested; // Number of valid matches expected.
|
||
|
float minMatchScore; // The minimum score a match can have for the function
|
||
|
// to consider the match valid.
|
||
|
} MatchGeometricPatternOptions;
|
||
|
|
||
|
typedef struct LearnGeometricPatternAdvancedOptions_struct {
|
||
|
int minRectLength; // Specifies the minimum length for each side of a
|
||
|
// rectangular feature.
|
||
|
double minRectAspectRatio; // Specifies the minimum aspect ratio of a
|
||
|
// rectangular feature.
|
||
|
int minRadius; // Specifies the minimum radius for a circular feature.
|
||
|
int minLineLength; // Specifies the minimum length for a linear feature.
|
||
|
double minFeatureStrength; // Specifies the minimum strength for a feature.
|
||
|
int maxFeaturesUsed; // Specifies the maximum number of features the function
|
||
|
// uses when learning.
|
||
|
int maxPixelDistanceFromLine; // Specifies the maximum number of pixels
|
||
|
// between an edge pixel and a linear feature
|
||
|
// for the function to consider that edge pixel
|
||
|
// as part of the linear feature.
|
||
|
} LearnGeometricPatternAdvancedOptions;
|
||
|
|
||
|
typedef struct FitEllipseOptions_struct {
|
||
|
int rejectOutliers; // Whether to use every given point or only a subset of
|
||
|
// the points to fit the ellipse.
|
||
|
double minScore; // Specifies the required quality of the fitted ellipse.
|
||
|
double pixelRadius; // The acceptable distance, in pixels, that a point
|
||
|
// determined to belong to the ellipse can be from the
|
||
|
// circumference of the ellipse.
|
||
|
int maxIterations; // Specifies the number of refinement iterations you allow
|
||
|
// the function to perform on the initial subset of
|
||
|
// points.
|
||
|
} FitEllipseOptions;
|
||
|
|
||
|
typedef struct FitCircleOptions_struct {
|
||
|
int rejectOutliers; // Whether to use every given point or only a subset of
|
||
|
// the points to fit the circle.
|
||
|
double minScore; // Specifies the required quality of the fitted circle.
|
||
|
double pixelRadius; // The acceptable distance, in pixels, that a point
|
||
|
// determined to belong to the circle can be from the
|
||
|
// circumference of the circle.
|
||
|
int maxIterations; // Specifies the number of refinement iterations you allow
|
||
|
// the function to perform on the initial subset of
|
||
|
// points.
|
||
|
} FitCircleOptions;
|
||
|
|
||
|
typedef struct ConstructROIOptions2_struct {
|
||
|
int windowNumber; // The window number of the image window.
|
||
|
const char* windowTitle; // Specifies the message string that the function
|
||
|
// displays in the title bar of the window.
|
||
|
PaletteType type; // The palette type to use.
|
||
|
RGBValue* palette; // If type is IMAQ_PALETTE_USER, this array is the palette
|
||
|
// of colors to use with the window.
|
||
|
int numColors; // If type is IMAQ_PALETTE_USER, this element is the number of
|
||
|
// colors in the palette array.
|
||
|
unsigned int maxContours; // The maximum number of contours the user will be
|
||
|
// able to select.
|
||
|
} ConstructROIOptions2;
|
||
|
|
||
|
typedef struct HSLValue_struct {
|
||
|
unsigned char L; // The color luminance.
|
||
|
unsigned char S; // The color saturation.
|
||
|
unsigned char H; // The color hue.
|
||
|
unsigned char alpha; // The alpha value of the color, which represents extra
|
||
|
// information about a color image, such as gamma
|
||
|
// correction.
|
||
|
} HSLValue;
|
||
|
|
||
|
typedef struct HSVValue_struct {
|
||
|
unsigned char V; // The color value.
|
||
|
unsigned char S; // The color saturation.
|
||
|
unsigned char H; // The color hue.
|
||
|
unsigned char alpha; // The alpha value of the color, which represents extra
|
||
|
// information about a color image, such as gamma
|
||
|
// correction.
|
||
|
} HSVValue;
|
||
|
|
||
|
typedef struct HSIValue_struct {
|
||
|
unsigned char I; // The color intensity.
|
||
|
unsigned char S; // The color saturation.
|
||
|
unsigned char H; // The color hue.
|
||
|
unsigned char alpha; // The alpha value of the color, which represents extra
|
||
|
// information about a color image, such as gamma
|
||
|
// correction.
|
||
|
} HSIValue;
|
||
|
|
||
|
typedef struct CIELabValue_struct {
|
||
|
double b; // The yellow/blue information of the color.
|
||
|
double a; // The red/green information of the color.
|
||
|
double L; // The color lightness.
|
||
|
unsigned char alpha; // The alpha value of the color, which represents extra
|
||
|
// information about a color image, such as gamma
|
||
|
// correction.
|
||
|
} CIELabValue;
|
||
|
|
||
|
typedef struct CIEXYZValue_struct {
|
||
|
double Z; // The Z color information.
|
||
|
double Y; // The color luminance.
|
||
|
double X; // The X color information.
|
||
|
unsigned char alpha; // The alpha value of the color, which represents extra
|
||
|
// information about a color image, such as gamma
|
||
|
// correction.
|
||
|
} CIEXYZValue;
|
||
|
|
||
|
typedef union Color2_union {
|
||
|
RGBValue rgb; // The information needed to describe a color in the RGB (Red,
|
||
|
// Green, and Blue) color space.
|
||
|
HSLValue hsl; // The information needed to describe a color in the HSL (Hue,
|
||
|
// Saturation, and Luminance) color space.
|
||
|
HSVValue hsv; // The information needed to describe a color in the HSI (Hue,
|
||
|
// Saturation, and Value) color space.
|
||
|
HSIValue hsi; // The information needed to describe a color in the HSI (Hue,
|
||
|
// Saturation, and Intensity) color space.
|
||
|
CIELabValue cieLab; // The information needed to describe a color in the CIE
|
||
|
// L*a*b* (L, a, b) color space.
|
||
|
CIEXYZValue cieXYZ; // The information needed to describe a color in the CIE
|
||
|
// XYZ (X, Y, Z) color space.
|
||
|
int rawValue; // The integer value for the data in the color union.
|
||
|
} Color2;
|
||
|
|
||
|
typedef struct BestEllipse2_struct {
|
||
|
PointFloat center; // The coordinate location of the center of the ellipse.
|
||
|
PointFloat majorAxisStart; // The coordinate location of the start of the
|
||
|
// major axis of the ellipse.
|
||
|
PointFloat majorAxisEnd; // The coordinate location of the end of the major
|
||
|
// axis of the ellipse.
|
||
|
PointFloat minorAxisStart; // The coordinate location of the start of the
|
||
|
// minor axis of the ellipse.
|
||
|
PointFloat minorAxisEnd; // The coordinate location of the end of the minor
|
||
|
// axis of the ellipse.
|
||
|
double area; // The area of the ellipse.
|
||
|
double perimeter; // The length of the perimeter of the ellipse.
|
||
|
double error; // Represents the least square error of the fitted ellipse to
|
||
|
// the entire set of points.
|
||
|
int valid; // This element is TRUE if the function achieved the minimum score
|
||
|
// within the number of allowed refinement iterations and FALSE if
|
||
|
// the function did not achieve the minimum score.
|
||
|
int* pointsUsed; // An array of the indexes for the points array indicating
|
||
|
// which points the function used to fit the ellipse.
|
||
|
int numPointsUsed; // The number of points the function used to fit the
|
||
|
// ellipse.
|
||
|
} BestEllipse2;
|
||
|
|
||
|
typedef struct LearnPatternAdvancedOptions_struct {
|
||
|
LearnPatternAdvancedShiftOptions* shiftOptions; // Use this element to
|
||
|
// control the behavior of
|
||
|
// imaqLearnPattern2() during
|
||
|
// the shift-invariant
|
||
|
// learning phase.
|
||
|
LearnPatternAdvancedRotationOptions*
|
||
|
rotationOptions; // Use this element to control the behavior of
|
||
|
// imaqLearnPattern2()during the rotation-invariant
|
||
|
// learning phase.
|
||
|
} LearnPatternAdvancedOptions;
|
||
|
|
||
|
typedef struct AVIInfo_struct {
|
||
|
unsigned int width; // The width of each frame.
|
||
|
unsigned int height; // The height of each frame.
|
||
|
ImageType imageType; // The type of images this AVI contains.
|
||
|
unsigned int numFrames; // The number of frames in the AVI.
|
||
|
unsigned int framesPerSecond; // The number of frames per second this AVI
|
||
|
// should be shown at.
|
||
|
char* filterName; // The name of the compression filter used to create this
|
||
|
// AVI.
|
||
|
int hasData; // Specifies whether this AVI has data attached to each frame or
|
||
|
// not.
|
||
|
unsigned int maxDataSize; // If this AVI has data, the maximum size of the
|
||
|
// data in each frame.
|
||
|
} AVIInfo;
|
||
|
|
||
|
typedef struct LearnPatternAdvancedShiftOptions_struct {
|
||
|
int initialStepSize; // The largest number of image pixels to shift the
|
||
|
// sample across the inspection image during the initial
|
||
|
// phase of shift-invariant matching.
|
||
|
int initialSampleSize; // Specifies the number of template pixels that you
|
||
|
// want to include in a sample for the initial phase
|
||
|
// of shift-invariant matching.
|
||
|
double initialSampleSizeFactor; // Specifies the size of the sample for the
|
||
|
// initial phase of shift-invariant matching
|
||
|
// as a percent of the template size, in
|
||
|
// pixels.
|
||
|
int finalSampleSize; // Specifies the number of template pixels you want to
|
||
|
// add to initialSampleSize for the final phase of
|
||
|
// shift-invariant matching.
|
||
|
double finalSampleSizeFactor; // Specifies the size of the sample for the
|
||
|
// final phase of shift-invariant matching as a
|
||
|
// percent of the edge points in the template,
|
||
|
// in pixels.
|
||
|
int subpixelSampleSize; // Specifies the number of template pixels that you
|
||
|
// want to include in a sample for the subpixel phase
|
||
|
// of shift-invariant matching.
|
||
|
double subpixelSampleSizeFactor; // Specifies the size of the sample for the
|
||
|
// subpixel phase of shift-invariant
|
||
|
// matching as a percent of the template
|
||
|
// size, in pixels.
|
||
|
} LearnPatternAdvancedShiftOptions;
|
||
|
|
||
|
typedef struct LearnPatternAdvancedRotationOptions_struct {
|
||
|
SearchStrategy searchStrategySupport; // Specifies the aggressiveness of the
|
||
|
// rotation search strategy available
|
||
|
// during the matching phase.
|
||
|
int initialStepSize; // The largest number of image pixels to shift the
|
||
|
// sample across the inspection image during the initial
|
||
|
// phase of matching.
|
||
|
int initialSampleSize; // Specifies the number of template pixels that you
|
||
|
// want to include in a sample for the initial phase
|
||
|
// of rotation-invariant matching.
|
||
|
double initialSampleSizeFactor; // Specifies the size of the sample for the
|
||
|
// initial phase of rotation-invariant
|
||
|
// matching as a percent of the template
|
||
|
// size, in pixels.
|
||
|
int initialAngularAccuracy; // Sets the angle accuracy, in degrees, to use
|
||
|
// during the initial phase of rotation-invariant
|
||
|
// matching.
|
||
|
int finalSampleSize; // Specifies the number of template pixels you want to
|
||
|
// add to initialSampleSize for the final phase of
|
||
|
// rotation-invariant matching.
|
||
|
double finalSampleSizeFactor; // Specifies the size of the sample for the
|
||
|
// final phase of rotation-invariant matching
|
||
|
// as a percent of the edge points in the
|
||
|
// template, in pixels.
|
||
|
int finalAngularAccuracy; // Sets the angle accuracy, in degrees, to use
|
||
|
// during the final phase of the rotation-invariant
|
||
|
// matching.
|
||
|
int subpixelSampleSize; // Specifies the number of template pixels that you
|
||
|
// want to include in a sample for the subpixel phase
|
||
|
// of rotation-invariant matching.
|
||
|
double subpixelSampleSizeFactor; // Specifies the size of the sample for the
|
||
|
// subpixel phase of rotation-invariant
|
||
|
// matching as a percent of the template
|
||
|
// size, in pixels.
|
||
|
} LearnPatternAdvancedRotationOptions;
|
||
|
|
||
|
typedef struct MatchPatternAdvancedOptions_struct {
|
||
|
int subpixelIterations; // Defines the maximum number of incremental
|
||
|
// improvements used to refine matching using
|
||
|
// subpixel information.
|
||
|
double subpixelTolerance; // Defines the maximum amount of change, in pixels,
|
||
|
// between consecutive incremental improvements in
|
||
|
// the match position that you want to trigger the
|
||
|
// end of the refinement process.
|
||
|
int initialMatchListLength; // Specifies the maximum size of the match list.
|
||
|
int matchListReductionFactor; // Specifies the reduction of the match list as
|
||
|
// matches are refined.
|
||
|
int initialStepSize; // Specifies the number of pixels to shift the sample
|
||
|
// across the inspection image during the initial phase
|
||
|
// of shift-invariant matching.
|
||
|
SearchStrategy searchStrategy; // Specifies the aggressiveness of the
|
||
|
// rotation search strategy.
|
||
|
int intermediateAngularAccuracy; // Specifies the accuracy to use during the
|
||
|
// intermediate phase of rotation-invariant
|
||
|
// matching.
|
||
|
} MatchPatternAdvancedOptions;
|
||
|
|
||
|
typedef struct ParticleFilterCriteria2_struct {
|
||
|
MeasurementType parameter; // The morphological measurement that the function
|
||
|
// uses for filtering.
|
||
|
float lower; // The lower bound of the criteria range.
|
||
|
float upper; // The upper bound of the criteria range.
|
||
|
int calibrated; // Set this element to TRUE to take calibrated measurements.
|
||
|
int exclude; // Set this element to TRUE to indicate that a match occurs when
|
||
|
// the measurement is outside the criteria range.
|
||
|
} ParticleFilterCriteria2;
|
||
|
|
||
|
typedef struct BestCircle2_struct {
|
||
|
PointFloat center; // The coordinate location of the center of the circle.
|
||
|
double radius; // The radius of the circle.
|
||
|
double area; // The area of the circle.
|
||
|
double perimeter; // The length of the perimeter of the circle.
|
||
|
double error; // Represents the least square error of the fitted circle to
|
||
|
// the entire set of points.
|
||
|
int valid; // This element is TRUE if the function achieved the minimum score
|
||
|
// within the number of allowed refinement iterations and FALSE if
|
||
|
// the function did not achieve the minimum score.
|
||
|
int* pointsUsed; // An array of the indexes for the points array indicating
|
||
|
// which points the function used to fit the circle.
|
||
|
int numPointsUsed; // The number of points the function used to fit the
|
||
|
// circle.
|
||
|
} BestCircle2;
|
||
|
|
||
|
typedef struct OCRSpacingOptions_struct {
|
||
|
int minCharSpacing; // The minimum number of pixels that must be between two
|
||
|
// characters for NI Vision to train or read the
|
||
|
// characters separately.
|
||
|
int minCharSize; // The minimum number of pixels required for an object to be
|
||
|
// a potentially identifiable character.
|
||
|
int maxCharSize; // The maximum number of pixels required for an object to be
|
||
|
// a potentially identifiable character.
|
||
|
int maxHorizontalElementSpacing; // The maximum horizontal spacing, in
|
||
|
// pixels, allowed between character
|
||
|
// elements to train or read the character
|
||
|
// elements as a single character.
|
||
|
int maxVerticalElementSpacing; // The maximum vertical element spacing in
|
||
|
// pixels.
|
||
|
int minBoundingRectWidth; // The minimum possible width, in pixels, for a
|
||
|
// character bounding rectangle.
|
||
|
int maxBoundingRectWidth; // The maximum possible width, in pixels, for a
|
||
|
// character bounding rectangle.
|
||
|
int minBoundingRectHeight; // The minimum possible height, in pixels, for a
|
||
|
// character bounding rectangle.
|
||
|
int maxBoundingRectHeight; // The maximum possible height, in pixels, for a
|
||
|
// character bounding rectangle.
|
||
|
int autoSplit; // Set this element to TRUE to automatically adjust the
|
||
|
// location of the character bounding rectangle when
|
||
|
// characters overlap vertically.
|
||
|
} OCRSpacingOptions;
|
||
|
|
||
|
typedef struct OCRProcessingOptions_struct {
|
||
|
ThresholdMode mode; // The thresholding mode.
|
||
|
int lowThreshold; // The low threshold value when you set mode to
|
||
|
// IMAQ_FIXED_RANGE.
|
||
|
int highThreshold; // The high threshold value when you set mode to
|
||
|
// IMAQ_FIXED_RANGE.
|
||
|
int blockCount; // The number of blocks for threshold calculation algorithms
|
||
|
// that require blocks.
|
||
|
int fastThreshold; // Set this element to TRUE to use a faster, less accurate
|
||
|
// threshold calculation algorithm.
|
||
|
int biModalCalculation; // Set this element to TRUE to calculate both the low
|
||
|
// and high threshold values when using the fast
|
||
|
// thresholding method.
|
||
|
int darkCharacters; // Set this element to TRUE to read or train dark
|
||
|
// characters on a light background.
|
||
|
int removeParticlesTouchingROI; // Set this element to TRUE to remove the
|
||
|
// particles touching the ROI.
|
||
|
int erosionCount; // The number of erosions to perform.
|
||
|
} OCRProcessingOptions;
|
||
|
|
||
|
typedef struct ReadTextOptions_struct {
|
||
|
String255 validChars[255]; // An array of strings that specifies the valid
|
||
|
// characters.
|
||
|
int numValidChars; // The number of strings in the validChars array that you
|
||
|
// have initialized.
|
||
|
char substitutionChar; // The character to substitute for objects that the
|
||
|
// function cannot match with any of the trained
|
||
|
// characters.
|
||
|
ReadStrategy readStrategy; // The read strategy, which determines how closely
|
||
|
// the function analyzes images in the reading
|
||
|
// process to match objects with trained
|
||
|
// characters.
|
||
|
int acceptanceLevel; // The minimum acceptance level at which an object is
|
||
|
// considered a trained character.
|
||
|
int aspectRatio; // The maximum aspect ratio variance percentage for valid
|
||
|
// characters.
|
||
|
ReadResolution readResolution; // The read resolution, which determines how
|
||
|
// much of the trained character data the
|
||
|
// function uses to match objects to trained
|
||
|
// characters.
|
||
|
} ReadTextOptions;
|
||
|
|
||
|
typedef struct CharInfo_struct {
|
||
|
const char* charValue; // Retrieves the character value of the corresponding
|
||
|
// character in the character set.
|
||
|
const Image* charImage; // The image you used to train this character.
|
||
|
const Image* internalImage; // The internal representation that NI Vision
|
||
|
// uses to match objects to this character.
|
||
|
} CharInfo;
|
||
|
|
||
|
#if !defined(USERINT_HEADER) && !defined(_CVI_RECT_DEFINED)
|
||
|
typedef struct Rect_struct {
|
||
|
int top; // Location of the top edge of the rectangle.
|
||
|
int left; // Location of the left edge of the rectangle.
|
||
|
int height; // Height of the rectangle.
|
||
|
int width; // Width of the rectangle.
|
||
|
} Rect;
|
||
|
#define _CVI_RECT_DEFINED
|
||
|
#endif
|
||
|
|
||
|
typedef struct CharReport_struct {
|
||
|
const char* character; // The character value.
|
||
|
PointFloat corner[4]; // An array of four points that describes the rectangle
|
||
|
// that surrounds the character.
|
||
|
int reserved; // This element is reserved.
|
||
|
int lowThreshold; // The minimum value of the threshold range used for this
|
||
|
// character.
|
||
|
int highThreshold; // The maximum value of the threshold range used for this
|
||
|
// character.
|
||
|
} CharReport;
|
||
|
|
||
|
typedef struct ReadTextReport_struct {
|
||
|
const char* readString; // The read string.
|
||
|
const CharReport* characterReport; // An array of reports describing the
|
||
|
// properties of each identified
|
||
|
// character.
|
||
|
int numCharacterReports; // The number of identified characters.
|
||
|
} ReadTextReport;
|
||
|
|
||
|
#if !defined(USERINT_HEADER) && !defined(_CVI_POINT_DEFINED)
|
||
|
typedef struct Point_struct {
|
||
|
int x; // The x-coordinate of the point.
|
||
|
int y; // The y-coordinate of the point.
|
||
|
} Point;
|
||
|
#define _CVI_POINT_DEFINED
|
||
|
#endif
|
||
|
|
||
|
typedef struct Annulus_struct {
|
||
|
Point center; // The coordinate location of the center of the annulus.
|
||
|
int innerRadius; // The internal radius of the annulus.
|
||
|
int outerRadius; // The external radius of the annulus.
|
||
|
double startAngle; // The start angle, in degrees, of the annulus.
|
||
|
double endAngle; // The end angle, in degrees, of the annulus.
|
||
|
} Annulus;
|
||
|
|
||
|
typedef struct EdgeLocationReport_struct {
|
||
|
PointFloat* edges; // The coordinate location of all edges detected by the
|
||
|
// search line.
|
||
|
int numEdges; // The number of points in the edges array.
|
||
|
} EdgeLocationReport;
|
||
|
|
||
|
typedef struct EdgeOptions_struct {
|
||
|
unsigned
|
||
|
threshold; // Specifies the threshold value for the contrast of the edge.
|
||
|
unsigned width; // The number of pixels that the function averages to find
|
||
|
// the contrast at either side of the edge.
|
||
|
unsigned steepness; // The span, in pixels, of the slope of the edge
|
||
|
// projected along the path specified by the input
|
||
|
// points.
|
||
|
InterpolationMethod subpixelType; // The method for interpolating.
|
||
|
unsigned subpixelDivisions; // The number of samples the function obtains
|
||
|
// from a pixel.
|
||
|
} EdgeOptions;
|
||
|
|
||
|
typedef struct EdgeReport_struct {
|
||
|
float location; // The location of the edge from the first point in the
|
||
|
// points array.
|
||
|
float contrast; // The contrast at the edge.
|
||
|
PolarityType polarity; // The polarity of the edge.
|
||
|
float reserved; // This element is reserved.
|
||
|
PointFloat coordinate; // The coordinates of the edge.
|
||
|
} EdgeReport;
|
||
|
|
||
|
typedef struct ExtremeReport_struct {
|
||
|
double location; // The locations of the extreme.
|
||
|
double amplitude; // The amplitude of the extreme.
|
||
|
double secondDerivative; // The second derivative of the extreme.
|
||
|
} ExtremeReport;
|
||
|
|
||
|
typedef struct FitLineOptions_struct {
|
||
|
float minScore; // Specifies the required quality of the fitted line.
|
||
|
float pixelRadius; // Specifies the neighborhood pixel relationship for the
|
||
|
// initial subset of points being used.
|
||
|
int numRefinements; // Specifies the number of refinement iterations you
|
||
|
// allow the function to perform on the initial subset of
|
||
|
// points.
|
||
|
} FitLineOptions;
|
||
|
|
||
|
typedef struct DisplayMapping_struct {
|
||
|
MappingMethod method; // Describes the method for converting 16-bit pixels to
|
||
|
// 8-bit pixels.
|
||
|
int minimumValue; // When method is IMAQ_RANGE, minimumValue represents the
|
||
|
// value that is mapped to 0.
|
||
|
int maximumValue; // When method is IMAQ_RANGE, maximumValue represents the
|
||
|
// value that is mapped to 255.
|
||
|
int shiftCount; // When method is IMAQ_DOWNSHIFT, shiftCount represents the
|
||
|
// number of bits the function right-shifts the 16-bit pixel
|
||
|
// values.
|
||
|
} DisplayMapping;
|
||
|
|
||
|
typedef struct DetectExtremesOptions_struct {
|
||
|
double threshold; // Defines which extremes are too small.
|
||
|
int width; // Specifies the number of consecutive data points the function
|
||
|
// uses in the quadratic least-squares fit.
|
||
|
} DetectExtremesOptions;
|
||
|
|
||
|
typedef struct ImageInfo_struct {
|
||
|
CalibrationUnit imageUnit; // If you set calibration information with
|
||
|
// imaqSetSimpleCalibrationInfo(), imageUnit is
|
||
|
// the calibration unit.
|
||
|
float stepX; // If you set calibration information with
|
||
|
// imaqSetCalibrationInfo(), stepX is the distance in the
|
||
|
// calibration unit between two pixels in the x direction.
|
||
|
float stepY; // If you set calibration information with
|
||
|
// imaqSetCalibrationInfo(), stepY is the distance in the
|
||
|
// calibration unit between two pixels in the y direction.
|
||
|
ImageType imageType; // The type of the image.
|
||
|
int xRes; // The number of columns in the image.
|
||
|
int yRes; // The number of rows in the image.
|
||
|
int xOffset; // If you set mask offset information with imaqSetMaskOffset(),
|
||
|
// xOffset is the offset of the mask origin in the x direction.
|
||
|
int yOffset; // If you set mask offset information with imaqSetMaskOffset(),
|
||
|
// yOffset is the offset of the mask origin in the y direction.
|
||
|
int border; // The number of border pixels around the image.
|
||
|
int pixelsPerLine; // The number of pixels stored for each line of the image.
|
||
|
void* reserved0; // This element is reserved.
|
||
|
void* reserved1; // This element is reserved.
|
||
|
void* imageStart; // A pointer to pixel (0,0).
|
||
|
} ImageInfo;
|
||
|
|
||
|
typedef struct LCDOptions_struct {
|
||
|
int litSegments; // Set this parameter to TRUE if the segments are brighter
|
||
|
// than the background.
|
||
|
float threshold; // Determines whether a segment is ON or OFF.
|
||
|
int sign; // Indicates whether the function must read the sign of the
|
||
|
// indicator.
|
||
|
int decimalPoint; // Determines whether to look for a decimal separator after
|
||
|
// each digit.
|
||
|
} LCDOptions;
|
||
|
|
||
|
typedef struct LCDReport_struct {
|
||
|
const char* text; // A string of the characters of the LCD.
|
||
|
LCDSegments* segmentInfo; // An array of LCDSegment structures describing
|
||
|
// which segments of each digit are on.
|
||
|
int numCharacters; // The number of characters that the function reads.
|
||
|
int reserved; // This element is reserved.
|
||
|
} LCDReport;
|
||
|
|
||
|
typedef struct LCDSegments_struct {
|
||
|
unsigned a : 1; // True if the a segment is on.
|
||
|
unsigned b : 1; // True if the b segment is on.
|
||
|
unsigned c : 1; // True if the c segment is on.
|
||
|
unsigned d : 1; // True if the d segment is on.
|
||
|
unsigned e : 1; // True if the e segment is on.
|
||
|
unsigned f : 1; // True if the f segment is on.
|
||
|
unsigned g : 1; // True if the g segment is on.
|
||
|
unsigned reserved : 25; // This element is reserved.
|
||
|
} LCDSegments;
|
||
|
|
||
|
typedef struct LearnCalibrationOptions_struct {
|
||
|
CalibrationMode mode; // Specifies the type of algorithm you want to use to
|
||
|
// reduce distortion in your image.
|
||
|
ScalingMethod method; // Defines the scaling method correction functions use
|
||
|
// to correct the image.
|
||
|
CalibrationROI roi; // Specifies the ROI correction functions use when
|
||
|
// correcting an image.
|
||
|
int learnMap; // Set this element to TRUE if you want the function to
|
||
|
// calculate and store an error map during the learning
|
||
|
// process.
|
||
|
int learnTable; // Set this element to TRUE if you want the function to
|
||
|
// calculate and store the correction table.
|
||
|
} LearnCalibrationOptions;
|
||
|
|
||
|
typedef struct LearnColorPatternOptions_struct {
|
||
|
LearningMode learnMode; // Specifies the invariance mode the function uses
|
||
|
// when learning the pattern.
|
||
|
ImageFeatureMode featureMode; // Specifies the features the function uses
|
||
|
// when learning the color pattern.
|
||
|
int threshold; // Specifies the saturation threshold the function uses to
|
||
|
// distinguish between two colors that have the same hue
|
||
|
// values.
|
||
|
ColorIgnoreMode ignoreMode; // Specifies whether the function excludes
|
||
|
// certain colors from the color features of the
|
||
|
// template image.
|
||
|
ColorInformation* colorsToIgnore; // An array of ColorInformation structures
|
||
|
// providing a set of colors to exclude
|
||
|
// from the color features of the template
|
||
|
// image.
|
||
|
int numColorsToIgnore; // The number of ColorInformation structures in the
|
||
|
// colorsToIgnore array.
|
||
|
} LearnColorPatternOptions;
|
||
|
|
||
|
typedef struct Line_struct {
|
||
|
Point start; // The coordinate location of the start of the line.
|
||
|
Point end; // The coordinate location of the end of the line.
|
||
|
} Line;
|
||
|
|
||
|
typedef struct LinearAverages_struct {
|
||
|
float* columnAverages; // An array containing the mean pixel value of each
|
||
|
// column.
|
||
|
int columnCount; // The number of elements in the columnAverages array.
|
||
|
float* rowAverages; // An array containing the mean pixel value of each row.
|
||
|
int rowCount; // The number of elements in the rowAverages array.
|
||
|
float* risingDiagAverages; // An array containing the mean pixel value of
|
||
|
// each diagonal running from the lower left to
|
||
|
// the upper right of the inspected area of the
|
||
|
// image.
|
||
|
int risingDiagCount; // The number of elements in the risingDiagAverages
|
||
|
// array.
|
||
|
float* fallingDiagAverages; // An array containing the mean pixel value of
|
||
|
// each diagonal running from the upper left to
|
||
|
// the lower right of the inspected area of the
|
||
|
// image.
|
||
|
int fallingDiagCount; // The number of elements in the fallingDiagAverages
|
||
|
// array.
|
||
|
} LinearAverages;
|
||
|
|
||
|
typedef struct LineProfile_struct {
|
||
|
float*
|
||
|
profileData; // An array containing the value of each pixel in the line.
|
||
|
Rect boundingBox; // The bounding rectangle of the line.
|
||
|
float min; // The smallest pixel value in the line profile.
|
||
|
float max; // The largest pixel value in the line profile.
|
||
|
float mean; // The mean value of the pixels in the line profile.
|
||
|
float stdDev; // The standard deviation of the line profile.
|
||
|
int dataCount; // The size of the profileData array.
|
||
|
} LineProfile;
|
||
|
|
||
|
typedef struct MatchColorPatternOptions_struct {
|
||
|
MatchingMode matchMode; // Specifies the method to use when looking for the
|
||
|
// color pattern in the image.
|
||
|
ImageFeatureMode featureMode; // Specifies the features to use when looking
|
||
|
// for the color pattern in the image.
|
||
|
int minContrast; // Specifies the minimum contrast expected in the image.
|
||
|
int subpixelAccuracy; // Set this parameter to TRUE to return areas in the
|
||
|
// image that match the pattern area with subpixel
|
||
|
// accuracy.
|
||
|
RotationAngleRange* angleRanges; // An array of angle ranges, in degrees,
|
||
|
// where each range specifies how much you
|
||
|
// expect the pattern to be rotated in the
|
||
|
// image.
|
||
|
int numRanges; // Number of angle ranges in the angleRanges array.
|
||
|
double colorWeight; // Determines the percent contribution of the color score
|
||
|
// to the final color pattern matching score.
|
||
|
ColorSensitivity sensitivity; // Specifies the sensitivity of the color
|
||
|
// information in the image.
|
||
|
SearchStrategy strategy; // Specifies how the color features of the image are
|
||
|
// used during the search phase.
|
||
|
int numMatchesRequested; // Number of valid matches expected.
|
||
|
float minMatchScore; // The minimum score a match can have for the function
|
||
|
// to consider the match valid.
|
||
|
} MatchColorPatternOptions;
|
||
|
|
||
|
typedef struct HistogramReport_struct {
|
||
|
int* histogram; // An array describing the number of pixels that fell into
|
||
|
// each class.
|
||
|
int histogramCount; // The number of elements in the histogram array.
|
||
|
float min; // The smallest pixel value that the function classified.
|
||
|
float max; // The largest pixel value that the function classified.
|
||
|
float start; // The smallest pixel value that fell into the first class.
|
||
|
float width; // The size of each class.
|
||
|
float mean; // The mean value of the pixels that the function classified.
|
||
|
float stdDev; // The standard deviation of the pixels that the function
|
||
|
// classified.
|
||
|
int numPixels; // The number of pixels that the function classified.
|
||
|
} HistogramReport;
|
||
|
|
||
|
typedef struct ArcInfo_struct {
|
||
|
Rect boundingBox; // The coordinate location of the bounding box of the arc.
|
||
|
double startAngle; // The counterclockwise angle from the x-axis in degrees
|
||
|
// to the start of the arc.
|
||
|
double endAngle; // The counterclockwise angle from the x-axis in degrees to
|
||
|
// the end of the arc.
|
||
|
} ArcInfo;
|
||
|
|
||
|
typedef struct AxisReport_struct {
|
||
|
PointFloat origin; // The origin of the coordinate system, which is the
|
||
|
// intersection of the two axes of the coordinate system.
|
||
|
PointFloat mainAxisEnd; // The end of the main axis, which is the result of
|
||
|
// the computation of the intersection of the main
|
||
|
// axis with the rectangular search area.
|
||
|
PointFloat secondaryAxisEnd; // The end of the secondary axis, which is the
|
||
|
// result of the computation of the intersection
|
||
|
// of the secondary axis with the rectangular
|
||
|
// search area.
|
||
|
} AxisReport;
|
||
|
|
||
|
typedef struct BarcodeInfo_struct {
|
||
|
const char* outputString; // A string containing the decoded barcode data.
|
||
|
int size; // The size of the output string.
|
||
|
char outputChar1; // The contents of this character depend on the barcode
|
||
|
// type.
|
||
|
char outputChar2; // The contents of this character depend on the barcode
|
||
|
// type.
|
||
|
double confidenceLevel; // A quality measure of the decoded barcode ranging
|
||
|
// from 0 to 100, with 100 being the best.
|
||
|
BarcodeType type; // The type of barcode.
|
||
|
} BarcodeInfo;
|
||
|
|
||
|
typedef struct BCGOptions_struct {
|
||
|
float brightness; // Adjusts the brightness of the image.
|
||
|
float contrast; // Adjusts the contrast of the image.
|
||
|
float gamma; // Performs gamma correction.
|
||
|
} BCGOptions;
|
||
|
|
||
|
typedef struct BestCircle_struct {
|
||
|
PointFloat center; // The coordinate location of the center of the circle.
|
||
|
double radius; // The radius of the circle.
|
||
|
double area; // The area of the circle.
|
||
|
double perimeter; // The length of the perimeter of the circle.
|
||
|
double error; // Represents the least square error of the fitted circle to
|
||
|
// the entire set of points.
|
||
|
} BestCircle;
|
||
|
|
||
|
typedef struct BestEllipse_struct {
|
||
|
PointFloat center; // The coordinate location of the center of the ellipse.
|
||
|
PointFloat majorAxisStart; // The coordinate location of the start of the
|
||
|
// major axis of the ellipse.
|
||
|
PointFloat majorAxisEnd; // The coordinate location of the end of the major
|
||
|
// axis of the ellipse.
|
||
|
PointFloat minorAxisStart; // The coordinate location of the start of the
|
||
|
// minor axis of the ellipse.
|
||
|
PointFloat minorAxisEnd; // The coordinate location of the end of the minor
|
||
|
// axis of the ellipse.
|
||
|
double area; // The area of the ellipse.
|
||
|
double perimeter; // The length of the perimeter of the ellipse.
|
||
|
} BestEllipse;
|
||
|
|
||
|
typedef struct BestLine_struct {
|
||
|
PointFloat start; // The coordinate location of the start of the line.
|
||
|
PointFloat end; // The coordinate location of the end of the line.
|
||
|
LineEquation equation; // Defines the three coefficients of the equation of
|
||
|
// the best fit line.
|
||
|
int valid; // This element is TRUE if the function achieved the minimum score
|
||
|
// within the number of allowed refinement iterations and FALSE if
|
||
|
// the function did not achieve the minimum score.
|
||
|
double error; // Represents the least square error of the fitted line to the
|
||
|
// entire set of points.
|
||
|
int* pointsUsed; // An array of the indexes for the points array indicating
|
||
|
// which points the function used to fit the line.
|
||
|
int numPointsUsed; // The number of points the function used to fit the line.
|
||
|
} BestLine;
|
||
|
|
||
|
typedef struct BrowserOptions_struct {
|
||
|
int width; // The width to make the browser.
|
||
|
int height; // The height to make the browser image.
|
||
|
int imagesPerLine; // The number of images to place on a single line.
|
||
|
RGBValue backgroundColor; // The background color of the browser.
|
||
|
int frameSize; // Specifies the number of pixels with which to border each
|
||
|
// thumbnail.
|
||
|
BrowserFrameStyle style; // The style for the frame around each thumbnail.
|
||
|
float ratio; // Specifies the width to height ratio of each thumbnail.
|
||
|
RGBValue focusColor; // The color to use to display focused cells.
|
||
|
} BrowserOptions;
|
||
|
|
||
|
typedef struct CoordinateSystem_struct {
|
||
|
PointFloat origin; // The origin of the coordinate system.
|
||
|
float angle; // The angle, in degrees, of the x-axis of the coordinate system
|
||
|
// relative to the image x-axis.
|
||
|
AxisOrientation axisOrientation; // The direction of the y-axis of the
|
||
|
// coordinate reference system.
|
||
|
} CoordinateSystem;
|
||
|
|
||
|
typedef struct CalibrationInfo_struct {
|
||
|
float* errorMap; // The error map for the calibration.
|
||
|
int mapColumns; // The number of columns in the error map.
|
||
|
int mapRows; // The number of rows in the error map.
|
||
|
ROI* userRoi; // Specifies the ROI the user provided when learning the
|
||
|
// calibration.
|
||
|
ROI* calibrationRoi; // Specifies the ROI that corresponds to the region of
|
||
|
// the image where the calibration information is
|
||
|
// accurate.
|
||
|
LearnCalibrationOptions options; // Specifies the calibration options the
|
||
|
// user provided when learning the
|
||
|
// calibration.
|
||
|
GridDescriptor grid; // Specifies the scaling constants for the image.
|
||
|
CoordinateSystem system; // Specifies the coordinate system for the real
|
||
|
// world coordinates.
|
||
|
RangeFloat range; // The range of the grayscale the function used to
|
||
|
// represent the circles in the grid image.
|
||
|
float quality; // The quality score of the learning process, which is a value
|
||
|
// between 0-1000.
|
||
|
} CalibrationInfo;
|
||
|
|
||
|
typedef struct CalibrationPoints_struct {
|
||
|
PointFloat* pixelCoordinates; // The array of pixel coordinates.
|
||
|
PointFloat* realWorldCoordinates; // The array of corresponding real-world
|
||
|
// coordinates.
|
||
|
int numCoordinates; // The number of coordinates in both of the arrays.
|
||
|
} CalibrationPoints;
|
||
|
|
||
|
typedef struct CaliperOptions_struct {
|
||
|
TwoEdgePolarityType
|
||
|
polarity; // Specifies the edge polarity of the edge pairs.
|
||
|
float separation; // The distance between edge pairs.
|
||
|
float separationDeviation; // Sets the range around the separation value.
|
||
|
} CaliperOptions;
|
||
|
|
||
|
typedef struct CaliperReport_struct {
|
||
|
float edge1Contrast; // The contrast of the first edge.
|
||
|
PointFloat edge1Coord; // The coordinates of the first edge.
|
||
|
float edge2Contrast; // The contrast of the second edge.
|
||
|
PointFloat edge2Coord; // The coordinates of the second edge.
|
||
|
float separation; // The distance between the two edges.
|
||
|
float reserved; // This element is reserved.
|
||
|
} CaliperReport;
|
||
|
|
||
|
typedef struct DrawTextOptions_struct {
|
||
|
char fontName[32]; // The font name to use.
|
||
|
int fontSize; // The size of the font.
|
||
|
int bold; // Set this parameter to TRUE to bold text.
|
||
|
int italic; // Set this parameter to TRUE to italicize text.
|
||
|
int underline; // Set this parameter to TRUE to underline text.
|
||
|
int strikeout; // Set this parameter to TRUE to strikeout text.
|
||
|
TextAlignment textAlignment; // Sets the alignment of text.
|
||
|
FontColor fontColor; // Sets the font color.
|
||
|
} DrawTextOptions;
|
||
|
|
||
|
typedef struct CircleReport_struct {
|
||
|
Point center; // The coordinate point of the center of the circle.
|
||
|
int radius; // The radius of the circle, in pixels.
|
||
|
int area; // The area of the circle, in pixels.
|
||
|
} CircleReport;
|
||
|
|
||
|
typedef struct ClosedContour_struct {
|
||
|
Point* points; // The points that make up the closed contour.
|
||
|
int numPoints; // The number of points in the array.
|
||
|
} ClosedContour;
|
||
|
|
||
|
typedef struct ColorHistogramReport_struct {
|
||
|
HistogramReport plane1; // The histogram report of the first color plane.
|
||
|
HistogramReport plane2; // The histogram report of the second plane.
|
||
|
HistogramReport plane3; // The histogram report of the third plane.
|
||
|
} ColorHistogramReport;
|
||
|
|
||
|
typedef struct ColorInformation_struct {
|
||
|
int infoCount; // The size of the info array.
|
||
|
int saturation; // The saturation level the function uses to learn the color
|
||
|
// information.
|
||
|
double* info; // An array of color information that represents the color
|
||
|
// spectrum analysis of a region of an image in a compact form.
|
||
|
} ColorInformation;
|
||
|
|
||
|
typedef struct Complex_struct {
|
||
|
float r; // The real part of the value.
|
||
|
float i; // The imaginary part of the value.
|
||
|
} Complex;
|
||
|
|
||
|
typedef struct ConcentricRakeReport_struct {
|
||
|
ArcInfo* rakeArcs; // An array containing the location of each concentric arc
|
||
|
// line used for edge detection.
|
||
|
int numArcs; // The number of arc lines in the rakeArcs array.
|
||
|
PointFloat* firstEdges; // The coordinate location of all edges detected as
|
||
|
// first edges.
|
||
|
int numFirstEdges; // The number of points in the first edges array.
|
||
|
PointFloat* lastEdges; // The coordinate location of all edges detected as
|
||
|
// last edges.
|
||
|
int numLastEdges; // The number of points in the last edges array.
|
||
|
EdgeLocationReport* allEdges; // An array of reports describing the location
|
||
|
// of the edges located by each concentric rake
|
||
|
// arc line.
|
||
|
int* linesWithEdges; // An array of indices into the rakeArcs array
|
||
|
// indicating the concentric rake arc lines on which the
|
||
|
// function detected at least one edge.
|
||
|
int numLinesWithEdges; // The number of concentric rake arc lines along which
|
||
|
// the function detected edges.
|
||
|
} ConcentricRakeReport;
|
||
|
|
||
|
typedef struct ConstructROIOptions_struct {
|
||
|
int windowNumber; // The window number of the image window.
|
||
|
const char* windowTitle; // Specifies the message string that the function
|
||
|
// displays in the title bar of the window.
|
||
|
PaletteType type; // The palette type to use.
|
||
|
RGBValue* palette; // If type is IMAQ_PALETTE_USER, this array is the palette
|
||
|
// of colors to use with the window.
|
||
|
int numColors; // If type is IMAQ_PALETTE_USER, this element is the number of
|
||
|
// colors in the palette array.
|
||
|
} ConstructROIOptions;
|
||
|
|
||
|
typedef struct ContourInfo_struct {
|
||
|
ContourType type; // The contour type.
|
||
|
unsigned numPoints; // The number of points that make up the contour.
|
||
|
Point* points; // The points describing the contour.
|
||
|
RGBValue contourColor; // The contour color.
|
||
|
} ContourInfo;
|
||
|
|
||
|
typedef union ContourUnion_union {
|
||
|
Point* point; // Use this member when the contour is of type IMAQ_POINT.
|
||
|
Line* line; // Use this member when the contour is of type IMAQ_LINE.
|
||
|
Rect* rect; // Use this member when the contour is of type IMAQ_RECT.
|
||
|
Rect* ovalBoundingBox; // Use this member when the contour is of type
|
||
|
// IMAQ_OVAL.
|
||
|
ClosedContour* closedContour; // Use this member when the contour is of type
|
||
|
// IMAQ_CLOSED_CONTOUR.
|
||
|
OpenContour* openContour; // Use this member when the contour is of type
|
||
|
// IMAQ_OPEN_CONTOUR.
|
||
|
Annulus* annulus; // Use this member when the contour is of type
|
||
|
// IMAQ_ANNULUS.
|
||
|
RotatedRect* rotatedRect; // Use this member when the contour is of type
|
||
|
// IMAQ_ROTATED_RECT.
|
||
|
} ContourUnion;
|
||
|
|
||
|
typedef struct ContourInfo2_struct {
|
||
|
ContourType type; // The contour type.
|
||
|
RGBValue color; // The contour color.
|
||
|
ContourUnion structure; // The information necessary to describe the contour
|
||
|
// in coordinate space.
|
||
|
} ContourInfo2;
|
||
|
|
||
|
typedef struct ContourPoint_struct {
|
||
|
double x; // The x-coordinate value in the image.
|
||
|
double y; // The y-coordinate value in the image.
|
||
|
double curvature; // The change in slope at this edge point of the segment.
|
||
|
double xDisplacement; // The x displacement of the current edge pixel from a
|
||
|
// cubic spline fit of the current edge segment.
|
||
|
double yDisplacement; // The y displacement of the current edge pixel from a
|
||
|
// cubic spline fit of the current edge segment.
|
||
|
} ContourPoint;
|
||
|
|
||
|
typedef struct CoordinateTransform_struct {
|
||
|
Point initialOrigin; // The origin of the initial coordinate system.
|
||
|
float initialAngle; // The angle, in degrees, of the x-axis of the initial
|
||
|
// coordinate system relative to the image x-axis.
|
||
|
Point finalOrigin; // The origin of the final coordinate system.
|
||
|
float finalAngle; // The angle, in degrees, of the x-axis of the final
|
||
|
// coordinate system relative to the image x-axis.
|
||
|
} CoordinateTransform;
|
||
|
|
||
|
typedef struct CoordinateTransform2_struct {
|
||
|
CoordinateSystem
|
||
|
referenceSystem; // Defines the coordinate system for input coordinates.
|
||
|
CoordinateSystem measurementSystem; // Defines the coordinate system in which
|
||
|
// the function should perform
|
||
|
// measurements.
|
||
|
} CoordinateTransform2;
|
||
|
|
||
|
typedef struct CannyOptions_struct {
|
||
|
float sigma; // The sigma of the Gaussian smoothing filter that the function
|
||
|
// applies to the image before edge detection.
|
||
|
float upperThreshold; // The upper fraction of pixel values in the image from
|
||
|
// which the function chooses a seed or starting point
|
||
|
// of an edge segment.
|
||
|
float lowerThreshold; // The function multiplies this value by upperThreshold
|
||
|
// to determine the lower threshold for all the pixels
|
||
|
// in an edge segment.
|
||
|
int windowSize; // The window size of the Gaussian filter that the function
|
||
|
// applies to the image.
|
||
|
} CannyOptions;
|
||
|
|
||
|
typedef struct Range_struct {
|
||
|
int minValue; // The minimum value of the range.
|
||
|
int maxValue; // The maximum value of the range.
|
||
|
} Range;
|
||
|
|
||
|
typedef struct UserPointSymbol_struct {
|
||
|
int cols; // Number of columns in the symbol.
|
||
|
int rows; // Number of rows in the symbol.
|
||
|
int* pixels; // The pixels of the symbol.
|
||
|
} UserPointSymbol;
|
||
|
|
||
|
typedef struct View3DOptions_struct {
|
||
|
int sizeReduction; // A divisor the function uses when determining the final
|
||
|
// height and width of the 3D image.
|
||
|
int maxHeight; // Defines the maximum height of a pixel from the image source
|
||
|
// drawn in 3D.
|
||
|
Direction3D direction; // Defines the 3D orientation.
|
||
|
float alpha; // Determines the angle between the horizontal and the baseline.
|
||
|
float beta; // Determines the angle between the horizontal and the second
|
||
|
// baseline.
|
||
|
int border; // Defines the border size.
|
||
|
int background; // Defines the background color.
|
||
|
Plane3D plane; // Indicates the view a function uses to show complex images.
|
||
|
} View3DOptions;
|
||
|
|
||
|
typedef struct MatchPatternOptions_struct {
|
||
|
MatchingMode mode; // Specifies the method to use when looking for the
|
||
|
// pattern in the image.
|
||
|
int minContrast; // Specifies the minimum contrast expected in the image.
|
||
|
int subpixelAccuracy; // Set this element to TRUE to return areas in the
|
||
|
// image that match the pattern area with subpixel
|
||
|
// accuracy.
|
||
|
RotationAngleRange* angleRanges; // An array of angle ranges, in degrees,
|
||
|
// where each range specifies how much you
|
||
|
// expect the pattern to be rotated in the
|
||
|
// image.
|
||
|
int numRanges; // Number of angle ranges in the angleRanges array.
|
||
|
int numMatchesRequested; // Number of valid matches expected.
|
||
|
int matchFactor; // Controls the number of potential matches that the
|
||
|
// function examines.
|
||
|
float minMatchScore; // The minimum score a match can have for the function
|
||
|
// to consider the match valid.
|
||
|
} MatchPatternOptions;
|
||
|
|
||
|
typedef struct TIFFFileOptions_struct {
|
||
|
int rowsPerStrip; // Indicates the number of rows that the function writes
|
||
|
// per strip.
|
||
|
PhotometricMode
|
||
|
photoInterp; // Designates which photometric interpretation to use.
|
||
|
TIFFCompressionType compressionType; // Indicates the type of compression to
|
||
|
// use on the TIFF file.
|
||
|
} TIFFFileOptions;
|
||
|
|
||
|
typedef union Color_union {
|
||
|
RGBValue rgb; // The information needed to describe a color in the RGB (Red,
|
||
|
// Green, and Blue) color space.
|
||
|
HSLValue hsl; // The information needed to describe a color in the HSL (Hue,
|
||
|
// Saturation, and Luminance) color space.
|
||
|
HSVValue hsv; // The information needed to describe a color in the HSI (Hue,
|
||
|
// Saturation, and Value) color space.
|
||
|
HSIValue hsi; // The information needed to describe a color in the HSI (Hue,
|
||
|
// Saturation, and Intensity) color space.
|
||
|
int rawValue; // The integer value for the data in the color union.
|
||
|
} Color;
|
||
|
|
||
|
typedef union PixelValue_union {
|
||
|
float grayscale; // A grayscale pixel value.
|
||
|
RGBValue rgb; // A RGB pixel value.
|
||
|
HSLValue hsl; // A HSL pixel value.
|
||
|
Complex complex; // A complex pixel value.
|
||
|
RGBU64Value rgbu64; // An unsigned 64-bit RGB pixel value.
|
||
|
} PixelValue;
|
||
|
|
||
|
typedef struct OpenContour_struct {
|
||
|
Point* points; // The points that make up the open contour.
|
||
|
int numPoints; // The number of points in the array.
|
||
|
} OpenContour;
|
||
|
|
||
|
typedef struct OverlayTextOptions_struct {
|
||
|
const char* fontName; // The name of the font to use.
|
||
|
int fontSize; // The size of the font.
|
||
|
int bold; // Set this element to TRUE to bold the text.
|
||
|
int italic; // Set this element to TRUE to italicize the text.
|
||
|
int underline; // Set this element to TRUE to underline the text.
|
||
|
int strikeout; // Set this element to TRUE to strikeout the text.
|
||
|
TextAlignment horizontalTextAlignment; // Sets the alignment of the text.
|
||
|
VerticalTextAlignment
|
||
|
verticalTextAlignment; // Sets the vertical alignment for the text.
|
||
|
RGBValue backgroundColor; // Sets the color for the text background pixels.
|
||
|
double angle; // The counterclockwise angle, in degrees, of the text relative
|
||
|
// to the x-axis.
|
||
|
} OverlayTextOptions;
|
||
|
|
||
|
typedef struct ParticleFilterCriteria_struct {
|
||
|
MeasurementValue parameter; // The morphological measurement that the
|
||
|
// function uses for filtering.
|
||
|
float lower; // The lower bound of the criteria range.
|
||
|
float upper; // The upper bound of the criteria range.
|
||
|
int exclude; // Set this element to TRUE to indicate that a match occurs when
|
||
|
// the value is outside the criteria range.
|
||
|
} ParticleFilterCriteria;
|
||
|
|
||
|
typedef struct ParticleReport_struct {
|
||
|
int area; // The number of pixels in the particle.
|
||
|
float calibratedArea; // The size of the particle, calibrated to the
|
||
|
// calibration information of the image.
|
||
|
float perimeter; // The length of the perimeter, calibrated to the
|
||
|
// calibration information of the image.
|
||
|
int numHoles; // The number of holes in the particle.
|
||
|
int areaOfHoles; // The total surface area, in pixels, of all the holes in a
|
||
|
// particle.
|
||
|
float perimeterOfHoles; // The length of the perimeter of all the holes in
|
||
|
// the particle calibrated to the calibration
|
||
|
// information of the image.
|
||
|
Rect boundingBox; // The smallest rectangle that encloses the particle.
|
||
|
float sigmaX; // The sum of the particle pixels on the x-axis.
|
||
|
float sigmaY; // The sum of the particle pixels on the y-axis.
|
||
|
float sigmaXX; // The sum of the particle pixels on the x-axis, squared.
|
||
|
float sigmaYY; // The sum of the particle pixels on the y-axis, squared.
|
||
|
float sigmaXY; // The sum of the particle pixels on the x-axis and y-axis.
|
||
|
int longestLength; // The length of the longest horizontal line segment.
|
||
|
Point longestPoint; // The location of the leftmost pixel of the longest
|
||
|
// segment in the particle.
|
||
|
int projectionX; // The length of the particle when projected onto the
|
||
|
// x-axis.
|
||
|
int projectionY; // The length of the particle when projected onto the
|
||
|
// y-axis.
|
||
|
int connect8; // This element is TRUE if the function used connectivity-8 to
|
||
|
// determine if particles are touching.
|
||
|
} ParticleReport;
|
||
|
|
||
|
typedef struct PatternMatch_struct {
|
||
|
PointFloat position; // The location of the center of the match.
|
||
|
float rotation; // The rotation of the match relative to the template image,
|
||
|
// in degrees.
|
||
|
float scale; // The size of the match relative to the size of the template
|
||
|
// image, expressed as a percentage.
|
||
|
float score; // The accuracy of the match.
|
||
|
PointFloat corner[4]; // An array of four points describing the rectangle
|
||
|
// surrounding the template image.
|
||
|
} PatternMatch;
|
||
|
|
||
|
typedef struct QuantifyData_struct {
|
||
|
float mean; // The mean value of the pixel values.
|
||
|
float stdDev; // The standard deviation of the pixel values.
|
||
|
float min; // The smallest pixel value.
|
||
|
float max; // The largest pixel value.
|
||
|
float calibratedArea; // The area, calibrated to the calibration information
|
||
|
// of the image.
|
||
|
int pixelArea; // The area, in number of pixels.
|
||
|
float relativeSize; // The proportion, expressed as a percentage, of the
|
||
|
// associated region relative to the whole image.
|
||
|
} QuantifyData;
|
||
|
|
||
|
typedef struct QuantifyReport_struct {
|
||
|
QuantifyData global; // Statistical data of the whole image.
|
||
|
QuantifyData* regions; // An array of QuantifyData structures containing
|
||
|
// statistical data of each region of the image.
|
||
|
int regionCount; // The number of regions.
|
||
|
} QuantifyReport;
|
||
|
|
||
|
typedef struct RakeOptions_struct {
|
||
|
int threshold; // Specifies the threshold value for the contrast of the edge.
|
||
|
int width; // The number of pixels that the function averages to find the
|
||
|
// contrast at either side of the edge.
|
||
|
int steepness; // The span, in pixels, of the slope of the edge projected
|
||
|
// along the path specified by the input points.
|
||
|
int subsamplingRatio; // Specifies the number of pixels that separate two
|
||
|
// consecutive search lines.
|
||
|
InterpolationMethod subpixelType; // The method for interpolating.
|
||
|
int subpixelDivisions; // The number of samples the function obtains from a
|
||
|
// pixel.
|
||
|
} RakeOptions;
|
||
|
|
||
|
typedef struct RakeReport_struct {
|
||
|
LineFloat* rakeLines; // The coordinate location of each of the rake lines
|
||
|
// used by the function.
|
||
|
int numRakeLines; // The number of lines in the rakeLines array.
|
||
|
PointFloat* firstEdges; // The coordinate location of all edges detected as
|
||
|
// first edges.
|
||
|
unsigned int numFirstEdges; // The number of points in the firstEdges array.
|
||
|
PointFloat* lastEdges; // The coordinate location of all edges detected as
|
||
|
// last edges.
|
||
|
unsigned int numLastEdges; // The number of points in the lastEdges array.
|
||
|
EdgeLocationReport* allEdges; // An array of reports describing the location
|
||
|
// of the edges located by each rake line.
|
||
|
int* linesWithEdges; // An array of indices into the rakeLines array
|
||
|
// indicating the rake lines on which the function
|
||
|
// detected at least one edge.
|
||
|
int numLinesWithEdges; // The number of rake lines along which the function
|
||
|
// detected edges.
|
||
|
} RakeReport;
|
||
|
|
||
|
typedef struct TransformReport_struct {
|
||
|
PointFloat* points; // An array of transformed coordinates.
|
||
|
int* validPoints; // An array of values that describe the validity of each of
|
||
|
// the coordinates according to the region of interest you
|
||
|
// calibrated using either imaqLearnCalibrationGrid() or
|
||
|
// imaqLearnCalibrationPoints().
|
||
|
int numPoints; // The length of both the points array and the validPoints
|
||
|
// array.
|
||
|
} TransformReport;
|
||
|
|
||
|
typedef struct ShapeReport_struct {
|
||
|
Rect coordinates; // The bounding rectangle of the object.
|
||
|
Point centroid; // The coordinate location of the centroid of the object.
|
||
|
int size; // The size, in pixels, of the object.
|
||
|
double score; // A value ranging between 1 and 1,000 that specifies how
|
||
|
// similar the object in the image is to the template.
|
||
|
} ShapeReport;
|
||
|
|
||
|
typedef struct MeterArc_struct {
|
||
|
PointFloat
|
||
|
needleBase; // The coordinate location of the base of the meter needle.
|
||
|
PointFloat* arcCoordPoints; // An array of points describing the coordinate
|
||
|
// location of the meter arc.
|
||
|
int numOfArcCoordPoints; // The number of points in the arcCoordPoints array.
|
||
|
int needleColor; // This element is TRUE when the meter has a light-colored
|
||
|
// needle on a dark background.
|
||
|
} MeterArc;
|
||
|
|
||
|
typedef struct ThresholdData_struct {
|
||
|
float rangeMin; // The lower boundary of the range to keep.
|
||
|
float rangeMax; // The upper boundary of the range to keep.
|
||
|
float newValue; // If useNewValue is TRUE, newValue is the replacement value
|
||
|
// for pixels within the range.
|
||
|
int useNewValue; // If TRUE, the function sets pixel values within [rangeMin,
|
||
|
// rangeMax] to the value specified in newValue.
|
||
|
} ThresholdData;
|
||
|
|
||
|
typedef struct StructuringElement_struct {
|
||
|
int matrixCols; // Number of columns in the matrix.
|
||
|
int matrixRows; // Number of rows in the matrix.
|
||
|
int hexa; // Set this element to TRUE if you specify a hexagonal structuring
|
||
|
// element in kernel.
|
||
|
int* kernel; // The values of the structuring element.
|
||
|
} StructuringElement;
|
||
|
|
||
|
typedef struct SpokeReport_struct {
|
||
|
LineFloat* spokeLines; // The coordinate location of each of the spoke lines
|
||
|
// used by the function.
|
||
|
int numSpokeLines; // The number of lines in the spokeLines array.
|
||
|
PointFloat* firstEdges; // The coordinate location of all edges detected as
|
||
|
// first edges.
|
||
|
int numFirstEdges; // The number of points in the firstEdges array.
|
||
|
PointFloat* lastEdges; // The coordinate location of all edges detected as
|
||
|
// last edges.
|
||
|
int numLastEdges; // The number of points in the lastEdges array.
|
||
|
EdgeLocationReport* allEdges; // An array of reports describing the location
|
||
|
// of the edges located by each spoke line.
|
||
|
int* linesWithEdges; // An array of indices into the spokeLines array
|
||
|
// indicating the rake lines on which the function
|
||
|
// detected at least one edge.
|
||
|
int numLinesWithEdges; // The number of spoke lines along which the function
|
||
|
// detects edges.
|
||
|
} SpokeReport;
|
||
|
|
||
|
typedef struct SimpleEdgeOptions_struct {
|
||
|
LevelType type; // Determines how the function evaluates the threshold and
|
||
|
// hysteresis values.
|
||
|
int threshold; // The pixel value at which an edge occurs.
|
||
|
int hysteresis; // A value that helps determine edges in noisy images.
|
||
|
EdgeProcess process; // Determines which edges the function looks for.
|
||
|
int subpixel; // Set this element to TRUE to find edges with subpixel
|
||
|
// accuracy by interpolating between points to find the
|
||
|
// crossing of the given threshold.
|
||
|
} SimpleEdgeOptions;
|
||
|
|
||
|
typedef struct SelectParticleCriteria_struct {
|
||
|
MeasurementValue parameter; // The morphological measurement that the
|
||
|
// function uses for filtering.
|
||
|
float lower; // The lower boundary of the criteria range.
|
||
|
float upper; // The upper boundary of the criteria range.
|
||
|
} SelectParticleCriteria;
|
||
|
|
||
|
typedef struct SegmentInfo_struct {
|
||
|
int numberOfPoints; // The number of points in the segment.
|
||
|
int isOpen; // If TRUE, the contour is open.
|
||
|
double weight; // The significance of the edge in terms of the gray values
|
||
|
// that constitute the edge.
|
||
|
ContourPoint* points; // The points of the segment.
|
||
|
} SegmentInfo;
|
||
|
|
||
|
typedef struct RotationAngleRange_struct {
|
||
|
float lower; // The lowest amount of rotation, in degrees, a valid pattern
|
||
|
// can have.
|
||
|
float upper; // The highest amount of rotation, in degrees, a valid pattern
|
||
|
// can have.
|
||
|
} RotationAngleRange;
|
||
|
|
||
|
typedef struct RotatedRect_struct {
|
||
|
int top; // Location of the top edge of the rectangle before rotation.
|
||
|
int left; // Location of the left edge of the rectangle before rotation.
|
||
|
int height; // Height of the rectangle.
|
||
|
int width; // Width of the rectangle.
|
||
|
double angle; // The rotation, in degrees, of the rectangle.
|
||
|
} RotatedRect;
|
||
|
|
||
|
typedef struct ROIProfile_struct {
|
||
|
LineProfile report; // Quantifying information about the points along the
|
||
|
// edge of each contour in the ROI.
|
||
|
Point* pixels; // An array of the points along the edge of each contour in
|
||
|
// the ROI.
|
||
|
} ROIProfile;
|
||
|
|
||
|
typedef struct ToolWindowOptions_struct {
|
||
|
int showSelectionTool; // If TRUE, the selection tool becomes visible.
|
||
|
int showZoomTool; // If TRUE, the zoom tool becomes visible.
|
||
|
int showPointTool; // If TRUE, the point tool becomes visible.
|
||
|
int showLineTool; // If TRUE, the line tool becomes visible.
|
||
|
int showRectangleTool; // If TRUE, the rectangle tool becomes visible.
|
||
|
int showOvalTool; // If TRUE, the oval tool becomes visible.
|
||
|
int showPolygonTool; // If TRUE, the polygon tool becomes visible.
|
||
|
int showClosedFreehandTool; // If TRUE, the closed freehand tool becomes
|
||
|
// visible.
|
||
|
int showPolyLineTool; // If TRUE, the polyline tool becomes visible.
|
||
|
int showFreehandTool; // If TRUE, the freehand tool becomes visible.
|
||
|
int showAnnulusTool; // If TRUE, the annulus becomes visible.
|
||
|
int showRotatedRectangleTool; // If TRUE, the rotated rectangle tool becomes
|
||
|
// visible.
|
||
|
int showPanTool; // If TRUE, the pan tool becomes visible.
|
||
|
int showZoomOutTool; // If TRUE, the zoom out tool becomes visible.
|
||
|
int reserved2; // This element is reserved and should be set to FALSE.
|
||
|
int reserved3; // This element is reserved and should be set to FALSE.
|
||
|
int reserved4; // This element is reserved and should be set to FALSE.
|
||
|
} ToolWindowOptions;
|
||
|
|
||
|
typedef struct SpokeOptions_struct {
|
||
|
int threshold; // Specifies the threshold value for the contrast of the edge.
|
||
|
int width; // The number of pixels that the function averages to find the
|
||
|
// contrast at either side of the edge.
|
||
|
int steepness; // The span, in pixels, of the slope of the edge projected
|
||
|
// along the path specified by the input points.
|
||
|
double subsamplingRatio; // The angle, in degrees, between each radial search
|
||
|
// line in the spoke.
|
||
|
InterpolationMethod subpixelType; // The method for interpolating.
|
||
|
int subpixelDivisions; // The number of samples the function obtains from a
|
||
|
// pixel.
|
||
|
} SpokeOptions;
|
||
|
|
||
|
#if !defined __GNUC__ && !defined _M_X64
|
||
|
#pragma pack(pop)
|
||
|
#endif
|
||
|
|
||
|
//============================================================================
|
||
|
// Callback Function Type
|
||
|
//============================================================================
|
||
|
#ifndef __GNUC__
|
||
|
typedef void(IMAQ_CALLBACK* EventCallback)(WindowEventType event,
|
||
|
int windowNumber, Tool tool,
|
||
|
Rect rect);
|
||
|
#endif
|
||
|
|
||
|
//============================================================================
|
||
|
// Globals
|
||
|
//============================================================================
|
||
|
#ifndef __GNUC__
|
||
|
#pragma const_seg("IMAQVisionColorConstants")
|
||
|
#endif
|
||
|
static const RGBValue IMAQ_RGB_TRANSPARENT = {0, 0, 0, 1};
|
||
|
static const RGBValue IMAQ_RGB_RED = {0, 0, 255, 0};
|
||
|
static const RGBValue IMAQ_RGB_BLUE = {255, 0, 0, 0};
|
||
|
static const RGBValue IMAQ_RGB_GREEN = {0, 255, 0, 0};
|
||
|
static const RGBValue IMAQ_RGB_YELLOW = {0, 255, 255, 0};
|
||
|
static const RGBValue IMAQ_RGB_WHITE = {255, 255, 255, 0};
|
||
|
static const RGBValue IMAQ_RGB_BLACK = {0, 0, 0, 0};
|
||
|
#ifndef __GNUC__
|
||
|
#pragma const_seg()
|
||
|
#endif
|
||
|
|
||
|
//============================================================================
|
||
|
// Backwards Compatibility
|
||
|
//============================================================================
|
||
|
typedef ColorSensitivity ColorComplexity;
|
||
|
#define IMAQ_COMPLEXITY_LOW IMAQ_SENSITIVITY_LOW
|
||
|
#define IMAQ_COMPLEXITY_MED IMAQ_SENSITIVITY_MED
|
||
|
#define IMAQ_COMPLEXITY_HIGH IMAQ_SENSITIVITY_HIGH
|
||
|
#define ERR_INVALID_COLORCOMPLEXITY ERR_INVALID_COLORSENSITIVITY
|
||
|
|
||
|
//============================================================================
|
||
|
// Logical functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqAnd(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqAndConstant(Image* dest, const Image* source, PixelValue value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqCompare(Image* dest, const Image* source,
|
||
|
const Image* compareImage,
|
||
|
ComparisonFunction compare);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqCompareConstant(Image* dest, const Image* source,
|
||
|
PixelValue value,
|
||
|
ComparisonFunction compare);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqLogicalDifference(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqLogicalDifferenceConstant(Image* dest,
|
||
|
const Image* source,
|
||
|
PixelValue value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqNand(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqNandConstant(Image* dest, const Image* source, PixelValue value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqNor(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqNorConstant(Image* dest, const Image* source, PixelValue value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqOr(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqOrConstant(Image* dest, const Image* source, PixelValue value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqXnor(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqXnorConstant(Image* dest, const Image* source, PixelValue value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqXor(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqXorConstant(Image* dest, const Image* source, PixelValue value);
|
||
|
|
||
|
//============================================================================
|
||
|
// Particle Analysis functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqCountParticles(Image* image, int connectivity8, int* numParticles);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqMeasureParticle(Image* image, int particleNumber, int calibrated,
|
||
|
MeasurementType measurement, double* value);
|
||
|
IMAQ_FUNC MeasureParticlesReport* IMAQ_STDCALL
|
||
|
imaqMeasureParticles(Image* image,
|
||
|
MeasureParticlesCalibrationMode calibrationMode,
|
||
|
const MeasurementType* measurements,
|
||
|
size_t numMeasurements);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqParticleFilter4(Image* dest, Image* source,
|
||
|
const ParticleFilterCriteria2* criteria, int criteriaCount,
|
||
|
const ParticleFilterOptions2* options, const ROI* roi,
|
||
|
int* numParticles);
|
||
|
|
||
|
//============================================================================
|
||
|
// Morphology functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqConvexHull(Image* dest, Image* source, int connectivity8);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqDanielssonDistance(Image* dest, Image* source);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqFillHoles(Image* dest, const Image* source, int connectivity8);
|
||
|
IMAQ_FUNC CircleReport* IMAQ_STDCALL
|
||
|
imaqFindCircles(Image* dest, Image* source, float minRadius, float maxRadius,
|
||
|
int* numCircles);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqLabel2(Image* dest, Image* source, int connectivity8, int* particleCount);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqMorphology(Image* dest, Image* source, MorphologyMethod method,
|
||
|
const StructuringElement* structuringElement);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqRejectBorder(Image* dest, Image* source, int connectivity8);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSegmentation(Image* dest, Image* source);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSeparation(Image* dest, Image* source, int erosions,
|
||
|
const StructuringElement* structuringElement);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSimpleDistance(Image* dest, Image* source,
|
||
|
const StructuringElement* structuringElement);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSizeFilter(Image* dest, Image* source, int connectivity8, int erosions,
|
||
|
SizeType keepSize, const StructuringElement* structuringElement);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSkeleton(Image* dest, Image* source, SkeletonMethod method);
|
||
|
|
||
|
//============================================================================
|
||
|
// Acquisition functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC Image* IMAQ_STDCALL imaqCopyFromRing(SESSION_ID sessionID,
|
||
|
Image* image, int imageToCopy,
|
||
|
int* imageNumber, Rect rect);
|
||
|
IMAQ_FUNC Image* IMAQ_STDCALL imaqEasyAcquire(const char* interfaceName);
|
||
|
IMAQ_FUNC Image* IMAQ_STDCALL
|
||
|
imaqExtractFromRing(SESSION_ID sessionID, int imageToExtract, int* imageNumber);
|
||
|
IMAQ_FUNC Image* IMAQ_STDCALL
|
||
|
imaqGrab(SESSION_ID sessionID, Image* image, int immediate);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqReleaseImage(SESSION_ID sessionID);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetupGrab(SESSION_ID sessionID, Rect rect);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetupRing(SESSION_ID sessionID, Image** images,
|
||
|
int numImages, int skipCount,
|
||
|
Rect rect);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetupSequence(SESSION_ID sessionID,
|
||
|
Image** images, int numImages,
|
||
|
int skipCount, Rect rect);
|
||
|
IMAQ_FUNC Image* IMAQ_STDCALL
|
||
|
imaqSnap(SESSION_ID sessionID, Image* image, Rect rect);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqStartAcquisition(SESSION_ID sessionID);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqStopAcquisition(SESSION_ID sessionID);
|
||
|
|
||
|
//============================================================================
|
||
|
// Arithmetic functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqAbsoluteDifference(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqAbsoluteDifferenceConstant(Image* dest,
|
||
|
const Image* source,
|
||
|
PixelValue value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqAdd(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqAddConstant(Image* dest, const Image* source, PixelValue value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqAverage(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqAverageConstant(Image* dest, const Image* source, PixelValue value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqDivide2(Image* dest, const Image* sourceA,
|
||
|
const Image* sourceB,
|
||
|
RoundingMode roundingMode);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqDivideConstant2(Image* dest, const Image* source,
|
||
|
PixelValue value,
|
||
|
RoundingMode roundingMode);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqMax(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqMaxConstant(Image* dest, const Image* source, PixelValue value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqMin(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqMinConstant(Image* dest, const Image* source, PixelValue value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqModulo(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqModuloConstant(Image* dest, const Image* source, PixelValue value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqMulDiv(Image* dest, const Image* sourceA,
|
||
|
const Image* sourceB, float value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqMultiply(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqMultiplyConstant(Image* dest, const Image* source, PixelValue value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSubtract(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSubtractConstant(Image* dest, const Image* source, PixelValue value);
|
||
|
|
||
|
//============================================================================
|
||
|
// Caliper functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC CaliperReport* IMAQ_STDCALL
|
||
|
imaqCaliperTool(const Image* image, const Point* points, int numPoints,
|
||
|
const EdgeOptions* edgeOptions,
|
||
|
const CaliperOptions* caliperOptions, int* numEdgePairs);
|
||
|
IMAQ_FUNC ConcentricRakeReport2* IMAQ_STDCALL
|
||
|
imaqConcentricRake2(Image* image, ROI* roi, ConcentricRakeDirection direction,
|
||
|
EdgeProcess process, int stepSize,
|
||
|
EdgeOptions2* edgeOptions);
|
||
|
IMAQ_FUNC ExtremeReport* IMAQ_STDCALL
|
||
|
imaqDetectExtremes(const double* pixels, int numPixels, DetectionMode mode,
|
||
|
const DetectExtremesOptions* options, int* numExtremes);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqDetectRotation(const Image* referenceImage, const Image* testImage,
|
||
|
PointFloat referenceCenter, PointFloat testCenter,
|
||
|
int radius, float precision, double* angle);
|
||
|
IMAQ_FUNC EdgeReport2* IMAQ_STDCALL
|
||
|
imaqEdgeTool4(Image* image, ROI* roi, EdgeProcess processType,
|
||
|
EdgeOptions2* edgeOptions, const unsigned int reverseDirection);
|
||
|
IMAQ_FUNC FindEdgeReport* IMAQ_STDCALL
|
||
|
imaqFindEdge2(Image* image, const ROI* roi, const CoordinateSystem* baseSystem,
|
||
|
const CoordinateSystem* newSystem,
|
||
|
const FindEdgeOptions2* findEdgeOptions,
|
||
|
const StraightEdgeOptions* straightEdgeOptions);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqFindTransformRect2(Image* image, const ROI* roi, FindTransformMode mode,
|
||
|
CoordinateSystem* baseSystem,
|
||
|
CoordinateSystem* newSystem,
|
||
|
const FindTransformRectOptions2* findTransformOptions,
|
||
|
const StraightEdgeOptions* straightEdgeOptions,
|
||
|
AxisReport* axisReport);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqFindTransformRects2(Image* image, const ROI* primaryROI,
|
||
|
const ROI* secondaryROI, FindTransformMode mode,
|
||
|
CoordinateSystem* baseSystem,
|
||
|
CoordinateSystem* newSystem,
|
||
|
const FindTransformRectsOptions2* findTransformOptions,
|
||
|
const StraightEdgeOptions* primaryStraightEdgeOptions,
|
||
|
const StraightEdgeOptions* secondaryStraightEdgeOptions,
|
||
|
AxisReport* axisReport);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqLineGaugeTool2(const Image* image, Point start, Point end,
|
||
|
LineGaugeMethod method, const EdgeOptions* edgeOptions,
|
||
|
const CoordinateTransform2* transform, float* distance);
|
||
|
IMAQ_FUNC RakeReport2* IMAQ_STDCALL
|
||
|
imaqRake2(Image* image, ROI* roi, RakeDirection direction, EdgeProcess process,
|
||
|
int stepSize, EdgeOptions2* edgeOptions);
|
||
|
IMAQ_FUNC PointFloat* IMAQ_STDCALL
|
||
|
imaqSimpleEdge(const Image* image, const Point* points, int numPoints,
|
||
|
const SimpleEdgeOptions* options, int* numEdges);
|
||
|
IMAQ_FUNC SpokeReport2* IMAQ_STDCALL
|
||
|
imaqSpoke2(Image* image, ROI* roi, SpokeDirection direction,
|
||
|
EdgeProcess process, int stepSize, EdgeOptions2* edgeOptions);
|
||
|
IMAQ_FUNC StraightEdgeReport2* IMAQ_STDCALL
|
||
|
imaqStraightEdge(const Image* image, const ROI* roi,
|
||
|
SearchDirection searchDirection,
|
||
|
const EdgeOptions2* edgeOptions,
|
||
|
const StraightEdgeOptions* straightEdgeOptions);
|
||
|
IMAQ_FUNC StraightEdgeReport2* IMAQ_STDCALL
|
||
|
imaqStraightEdge2(const Image* image, const ROI* roi,
|
||
|
SearchDirection searchDirection,
|
||
|
const EdgeOptions2* edgeOptions,
|
||
|
const StraightEdgeOptions* straightEdgeOptions,
|
||
|
unsigned int optimizedMode);
|
||
|
|
||
|
//============================================================================
|
||
|
// Spatial Filters functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqCannyEdgeFilter(Image* dest, const Image* source,
|
||
|
const CannyOptions* options);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqConvolve2(Image* dest, Image* source, float* kernel, int matrixRows,
|
||
|
int matrixCols, float normalize, Image* mask,
|
||
|
RoundingMode roundingMode);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqCorrelate(Image* dest, Image* source,
|
||
|
const Image* templateImage, Rect rect);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqEdgeFilter(Image* dest, Image* source,
|
||
|
OutlineMethod method,
|
||
|
const Image* mask);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqLowPass(Image* dest, Image* source, int width,
|
||
|
int height, float tolerance,
|
||
|
const Image* mask);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqMedianFilter(Image* dest, Image* source,
|
||
|
int width, int height,
|
||
|
const Image* mask);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqNthOrderFilter(Image* dest, Image* source,
|
||
|
int width, int height, int n,
|
||
|
const Image* mask);
|
||
|
|
||
|
//============================================================================
|
||
|
// Drawing functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqDrawLineOnImage(Image* dest, const Image* source,
|
||
|
DrawMode mode, Point start,
|
||
|
Point end, float newPixelValue);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqDrawShapeOnImage(Image* dest, const Image* source, Rect rect, DrawMode mode,
|
||
|
ShapeMode shape, float newPixelValue);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqDrawTextOnImage(Image* dest, const Image* source,
|
||
|
Point coord, const char* text,
|
||
|
const DrawTextOptions* options,
|
||
|
int* fontNameUsed);
|
||
|
|
||
|
//============================================================================
|
||
|
// Interlacing functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqInterlaceCombine(Image* frame, const Image* odd, const Image* even);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqInterlaceSeparate(const Image* frame, Image* odd, Image* even);
|
||
|
|
||
|
//============================================================================
|
||
|
// Image Information functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC char** IMAQ_STDCALL
|
||
|
imaqEnumerateCustomKeys(const Image* image, unsigned int* size);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetBitDepth(const Image* image, unsigned int* bitDepth);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetBytesPerPixel(const Image* image, int* byteCount);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetImageInfo(const Image* image, ImageInfo* info);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetImageSize(const Image* image, int* width, int* height);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetImageType(const Image* image, ImageType* type);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetMaskOffset(const Image* image, Point* offset);
|
||
|
IMAQ_FUNC void* IMAQ_STDCALL
|
||
|
imaqGetPixelAddress(const Image* image, Point pixel);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetVisionInfoTypes(const Image* image, unsigned int* present);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqIsImageEmpty(const Image* image, int* empty);
|
||
|
IMAQ_FUNC void* IMAQ_STDCALL
|
||
|
imaqReadCustomData(const Image* image, const char* key, unsigned int* size);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqRemoveCustomData(Image* image, const char* key);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqRemoveVisionInfo2(const Image* image, unsigned int info);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetBitDepth(Image* image, unsigned int bitDepth);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetImageSize(Image* image, int width, int height);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetMaskOffset(Image* image, Point offset);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqWriteCustomData(Image* image, const char* key,
|
||
|
const void* data,
|
||
|
unsigned int size);
|
||
|
|
||
|
//============================================================================
|
||
|
// Display functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqAreToolsContextSensitive(int* sensitive);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqCloseWindow(int windowNumber);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqDisplayImage(const Image* image, int windowNumber, int resize);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetLastKey(char* keyPressed, int* windowNumber, int* modifiers);
|
||
|
IMAQ_FUNC void* IMAQ_STDCALL imaqGetSystemWindowHandle(int windowNumber);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetWindowCenterPos(int windowNumber, Point* centerPosition);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetToolContextSensitivity(int sensitive);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqShowWindow(int windowNumber, int visible);
|
||
|
|
||
|
//============================================================================
|
||
|
// Image Manipulation functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqCast(Image* dest, const Image* source,
|
||
|
ImageType type, const float* lookup,
|
||
|
int shift);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqCopyRect(Image* dest, const Image* source, Rect rect, Point destLoc);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqDuplicate(Image* dest, const Image* source);
|
||
|
IMAQ_FUNC void* IMAQ_STDCALL imaqFlatten(const Image* image, FlattenType type,
|
||
|
CompressionType compression,
|
||
|
int quality, unsigned int* size);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqFlip(Image* dest, const Image* source, FlipAxis axis);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqMask(Image* dest, const Image* source, const Image* mask);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqResample(Image* dest, const Image* source,
|
||
|
int newWidth, int newHeight,
|
||
|
InterpolationMethod method, Rect rect);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqRotate2(Image* dest, const Image* source, float angle, PixelValue fill,
|
||
|
InterpolationMethod method, int maintainSize);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqScale(Image* dest, const Image* source,
|
||
|
int xScale, int yScale,
|
||
|
ScalingMode scaleMode, Rect rect);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqShift(Image* dest, const Image* source,
|
||
|
int shiftX, int shiftY, PixelValue fill);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqTranspose(Image* dest, const Image* source);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqUnflatten(Image* image, const void* data, unsigned int size);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqUnwrapImage(Image* dest, const Image* source, Annulus annulus,
|
||
|
RectOrientation orientation, InterpolationMethod method);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqView3D(Image* dest, Image* source, const View3DOptions* options);
|
||
|
|
||
|
//============================================================================
|
||
|
// File I/O functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqCloseAVI(AVISession session);
|
||
|
IMAQ_FUNC AVISession IMAQ_STDCALL
|
||
|
imaqCreateAVI(const char* fileName, const char* compressionFilter, int quality,
|
||
|
unsigned int framesPerSecond, unsigned int maxDataSize);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetAVIInfo(AVISession session, AVIInfo* info);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetFileInfo(const char* fileName, CalibrationUnit* calibrationUnit,
|
||
|
float* calibrationX, float* calibrationY, int* width,
|
||
|
int* height, ImageType* imageType);
|
||
|
IMAQ_FUNC FilterName* IMAQ_STDCALL imaqGetFilterNames(int* numFilters);
|
||
|
IMAQ_FUNC char** IMAQ_STDCALL
|
||
|
imaqLoadImagePopup(const char* defaultDirectory, const char* defaultFileSpec,
|
||
|
const char* fileTypeList, const char* title,
|
||
|
int allowMultiplePaths, ButtonLabel buttonLabel,
|
||
|
int restrictDirectory, int restrictExtension,
|
||
|
int allowCancel, int allowMakeDirectory, int* cancelled,
|
||
|
int* numPaths);
|
||
|
IMAQ_FUNC AVISession IMAQ_STDCALL imaqOpenAVI(const char* fileName);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqReadAVIFrame(Image* image, AVISession session,
|
||
|
unsigned int frameNum, void* data,
|
||
|
unsigned int* dataSize);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqReadFile(Image* image, const char* fileName,
|
||
|
RGBValue* colorTable, int* numColors);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqReadVisionFile(Image* image, const char* fileName, RGBValue* colorTable,
|
||
|
int* numColors);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqWriteAVIFrame(Image* image, AVISession session,
|
||
|
const void* data,
|
||
|
unsigned int dataLength);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqWriteBMPFile(const Image* image,
|
||
|
const char* fileName, int compress,
|
||
|
const RGBValue* colorTable);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqWriteFile(const Image* image,
|
||
|
const char* fileName,
|
||
|
const RGBValue* colorTable);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqWriteJPEGFile(const Image* image, const char* fileName,
|
||
|
unsigned int quality, void* colorTable);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqWriteJPEG2000File(const Image* image, const char* fileName, int lossless,
|
||
|
float compressionRatio,
|
||
|
const JPEG2000FileAdvancedOptions* advancedOptions,
|
||
|
const RGBValue* colorTable);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqWritePNGFile2(const Image* image, const char* fileName,
|
||
|
unsigned int compressionSpeed, const RGBValue* colorTable,
|
||
|
int useBitDepth);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqWriteTIFFFile(const Image* image, const char* fileName,
|
||
|
const TIFFFileOptions* options, const RGBValue* colorTable);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqWriteVisionFile(const Image* image,
|
||
|
const char* fileName,
|
||
|
const RGBValue* colorTable);
|
||
|
|
||
|
//============================================================================
|
||
|
// Analytic Geometry functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqBuildCoordinateSystem(const Point* points, ReferenceMode mode,
|
||
|
AxisOrientation orientation,
|
||
|
CoordinateSystem* system);
|
||
|
IMAQ_FUNC BestCircle2* IMAQ_STDCALL
|
||
|
imaqFitCircle2(const PointFloat* points, int numPoints,
|
||
|
const FitCircleOptions* options);
|
||
|
IMAQ_FUNC BestEllipse2* IMAQ_STDCALL
|
||
|
imaqFitEllipse2(const PointFloat* points, int numPoints,
|
||
|
const FitEllipseOptions* options);
|
||
|
IMAQ_FUNC BestLine* IMAQ_STDCALL imaqFitLine(const PointFloat* points,
|
||
|
int numPoints,
|
||
|
const FitLineOptions* options);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetAngle(PointFloat start1, PointFloat end1,
|
||
|
PointFloat start2, PointFloat end2,
|
||
|
float* angle);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetBisectingLine(PointFloat start1, PointFloat end1, PointFloat start2,
|
||
|
PointFloat end2, PointFloat* bisectStart,
|
||
|
PointFloat* bisectEnd);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetDistance(PointFloat point1, PointFloat point2, float* distance);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetIntersection(PointFloat start1, PointFloat end1, PointFloat start2,
|
||
|
PointFloat end2, PointFloat* intersection);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetMidLine(PointFloat refLineStart, PointFloat refLineEnd, PointFloat point,
|
||
|
PointFloat* midLineStart, PointFloat* midLineEnd);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetPerpendicularLine(PointFloat refLineStart, PointFloat refLineEnd,
|
||
|
PointFloat point, PointFloat* perpLineStart,
|
||
|
PointFloat* perpLineEnd, double* distance);
|
||
|
IMAQ_FUNC SegmentInfo* IMAQ_STDCALL
|
||
|
imaqGetPointsOnContour(const Image* image, int* numSegments);
|
||
|
IMAQ_FUNC Point* IMAQ_STDCALL
|
||
|
imaqGetPointsOnLine(Point start, Point end, int* numPoints);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetPolygonArea(const PointFloat* points, int numPoints, float* area);
|
||
|
IMAQ_FUNC float* IMAQ_STDCALL
|
||
|
imaqInterpolatePoints(const Image* image, const Point* points, int numPoints,
|
||
|
InterpolationMethod method, int subpixel,
|
||
|
int* interpCount);
|
||
|
|
||
|
//============================================================================
|
||
|
// Clipboard functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqClipboardToImage(Image* dest, RGBValue* palette);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqImageToClipboard(const Image* image, const RGBValue* palette);
|
||
|
|
||
|
//============================================================================
|
||
|
// Border functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqFillBorder(Image* image, BorderMethod method);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetBorderSize(const Image* image, int* borderSize);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetBorderSize(Image* image, int size);
|
||
|
|
||
|
//============================================================================
|
||
|
// Image Management functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqArrayToImage(Image* image, const void* array, int numCols, int numRows);
|
||
|
IMAQ_FUNC Image* IMAQ_STDCALL imaqCreateImage(ImageType type, int borderSize);
|
||
|
IMAQ_FUNC void* IMAQ_STDCALL
|
||
|
imaqImageToArray(const Image* image, Rect rect, int* columns, int* rows);
|
||
|
|
||
|
//============================================================================
|
||
|
// Color Processing functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC Color2 IMAQ_STDCALL
|
||
|
imaqChangeColorSpace2(const Color2* sourceColor, ColorMode sourceSpace,
|
||
|
ColorMode destSpace, double offset,
|
||
|
const CIEXYZValue* whiteReference);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqColorBCGTransform(Image* dest, const Image* source,
|
||
|
const BCGOptions* redOptions,
|
||
|
const BCGOptions* greenOptions,
|
||
|
const BCGOptions* blueOptions, const Image* mask);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqColorEqualize(Image* dest, const Image* source, int colorEqualization);
|
||
|
IMAQ_FUNC ColorHistogramReport* IMAQ_STDCALL
|
||
|
imaqColorHistogram2(Image* image, int numClasses, ColorMode mode,
|
||
|
const CIEXYZValue* whiteReference, Image* mask);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqColorLookup(Image* dest, const Image* source, ColorMode mode,
|
||
|
const Image* mask, const short* plane1, const short* plane2,
|
||
|
const short* plane3);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqColorThreshold(Image* dest, const Image* source, int replaceValue,
|
||
|
ColorMode mode, const Range* plane1Range,
|
||
|
const Range* plane2Range, const Range* plane3Range);
|
||
|
IMAQ_FUNC SupervisedColorSegmentationReport* IMAQ_STDCALL
|
||
|
imaqSupervisedColorSegmentation(ClassifierSession* session, Image* labelImage,
|
||
|
const Image* srcImage, const ROI* roi,
|
||
|
const ROILabel* labelIn,
|
||
|
unsigned int numLabelIn, int maxDistance,
|
||
|
int minIdentificationScore,
|
||
|
const ColorSegmenationOptions* segmentOptions);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetColorSegmentationMaxDistance(
|
||
|
ClassifierSession* session, const ColorSegmenationOptions* segmentOptions,
|
||
|
SegmentationDistanceLevel distLevel, int* maxDistance);
|
||
|
|
||
|
//============================================================================
|
||
|
// Transform functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqBCGTransform(Image* dest, const Image* source,
|
||
|
const BCGOptions* options,
|
||
|
const Image* mask);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqEqualize(Image* dest, const Image* source,
|
||
|
float min, float max,
|
||
|
const Image* mask);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqInverse(Image* dest, const Image* source, const Image* mask);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqMathTransform(Image* dest, const Image* source,
|
||
|
MathTransformMethod method,
|
||
|
float rangeMin, float rangeMax,
|
||
|
float power, const Image* mask);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqWatershedTransform(Image* dest, const Image* source, int connectivity8,
|
||
|
int* zoneCount);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqLookup2(Image* dest, const Image* source,
|
||
|
const int* table, const Image* mask);
|
||
|
|
||
|
//============================================================================
|
||
|
// Window Management functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqAreScrollbarsVisible(int windowNumber, int* visible);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqBringWindowToTop(int windowNumber);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetMousePos(Point* position, int* windowNumber);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetWindowBackground(int windowNumber, WindowBackgroundFillStyle* fillStyle,
|
||
|
WindowBackgroundHatchStyle* hatchStyle,
|
||
|
RGBValue* fillColor, RGBValue* backgroundColor);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetWindowDisplayMapping(int windowNum, DisplayMapping* mapping);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetWindowGrid(int windowNumber, int* xResolution, int* yResolution);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetWindowHandle(int* handle);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetWindowPos(int windowNumber, Point* position);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetWindowSize(int windowNumber, int* width, int* height);
|
||
|
IMAQ_FUNC char* IMAQ_STDCALL imaqGetWindowTitle(int windowNumber);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetWindowZoom2(int windowNumber, float* xZoom, float* yZoom);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqIsWindowNonTearing(int windowNumber, int* nonTearing);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqIsWindowVisible(int windowNumber, int* visible);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqMoveWindow(int windowNumber, Point position);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetupWindow(int windowNumber, int configuration);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetWindowBackground(int windowNumber, WindowBackgroundFillStyle fillStyle,
|
||
|
WindowBackgroundHatchStyle hatchStyle,
|
||
|
const RGBValue* fillColor,
|
||
|
const RGBValue* backgroundColor);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetWindowDisplayMapping(int windowNumber, const DisplayMapping* mapping);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetWindowGrid(int windowNumber, int xResolution, int yResolution);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetWindowMaxContourCount(int windowNumber, unsigned int maxContourCount);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetWindowNonTearing(int windowNumber, int nonTearing);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetWindowPalette(int windowNumber, PaletteType type,
|
||
|
const RGBValue* palette, int numColors);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetWindowSize(int windowNumber, int width, int height);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetWindowThreadPolicy(WindowThreadPolicy policy);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetWindowTitle(int windowNumber, const char* title);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetWindowZoomToFit(int windowNumber, int zoomToFit);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqShowScrollbars(int windowNumber, int visible);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqZoomWindow2(int windowNumber, float xZoom, float yZoom, Point center);
|
||
|
|
||
|
//============================================================================
|
||
|
// Utilities functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC const float* IMAQ_STDCALL
|
||
|
imaqGetKernel(KernelFamily family, int size, int number);
|
||
|
IMAQ_FUNC Annulus IMAQ_STDCALL
|
||
|
imaqMakeAnnulus(Point center, int innerRadius, int outerRadius,
|
||
|
double startAngle, double endAngle);
|
||
|
IMAQ_FUNC Point IMAQ_STDCALL imaqMakePoint(int xCoordinate, int yCoordinate);
|
||
|
IMAQ_FUNC PointFloat IMAQ_STDCALL
|
||
|
imaqMakePointFloat(float xCoordinate, float yCoordinate);
|
||
|
IMAQ_FUNC Rect IMAQ_STDCALL
|
||
|
imaqMakeRect(int top, int left, int height, int width);
|
||
|
IMAQ_FUNC Rect IMAQ_STDCALL
|
||
|
imaqMakeRectFromRotatedRect(RotatedRect rotatedRect);
|
||
|
IMAQ_FUNC RotatedRect IMAQ_STDCALL
|
||
|
imaqMakeRotatedRect(int top, int left, int height, int width, double angle);
|
||
|
IMAQ_FUNC RotatedRect IMAQ_STDCALL imaqMakeRotatedRectFromRect(Rect rect);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqMulticoreOptions(MulticoreOperation operation,
|
||
|
unsigned int* customNumCores);
|
||
|
|
||
|
//============================================================================
|
||
|
// Tool Window functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqCloseToolWindow(void);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetCurrentTool(Tool* currentTool);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetLastEvent(WindowEventType* type,
|
||
|
int* windowNumber, Tool* tool,
|
||
|
Rect* rect);
|
||
|
IMAQ_FUNC void* IMAQ_STDCALL imaqGetToolWindowHandle(void);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetToolWindowPos(Point* position);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqIsToolWindowVisible(int* visible);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqMoveToolWindow(Point position);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetCurrentTool(Tool currentTool);
|
||
|
#ifndef __GNUC__
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetEventCallback(EventCallback callback, int synchronous);
|
||
|
#endif
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetToolColor(const RGBValue* color);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetupToolWindow(int showCoordinates, int maxIconsPerLine,
|
||
|
const ToolWindowOptions* options);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqShowToolWindow(int visible);
|
||
|
|
||
|
//============================================================================
|
||
|
// Meter functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC MeterArc* IMAQ_STDCALL
|
||
|
imaqGetMeterArc(int lightNeedle, MeterArcMode mode, const ROI* roi,
|
||
|
PointFloat base, PointFloat start, PointFloat end);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqReadMeter(const Image* image, const MeterArc* arcInfo, double* percentage,
|
||
|
PointFloat* endOfNeedle);
|
||
|
|
||
|
//============================================================================
|
||
|
// Calibration functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqCopyCalibrationInfo2(Image* dest, Image* source, Point offset);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqCorrectCalibratedImage(Image* dest, const Image* source, PixelValue fill,
|
||
|
InterpolationMethod method, const ROI* roi);
|
||
|
IMAQ_FUNC CalibrationInfo* IMAQ_STDCALL
|
||
|
imaqGetCalibrationInfo2(const Image* image);
|
||
|
IMAQ_FUNC CalibrationInfo* IMAQ_STDCALL
|
||
|
imaqGetCalibrationInfo3(Image* image, unsigned int isGetErrorMap);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqLearnCalibrationGrid(Image* image, const ROI* roi,
|
||
|
const LearnCalibrationOptions* options,
|
||
|
const GridDescriptor* grid,
|
||
|
const CoordinateSystem* system,
|
||
|
const RangeFloat* range, float* quality);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqLearnCalibrationPoints(Image* image, const CalibrationPoints* points,
|
||
|
const ROI* roi,
|
||
|
const LearnCalibrationOptions* options,
|
||
|
const GridDescriptor* grid,
|
||
|
const CoordinateSystem* system, float* quality);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetCoordinateSystem(Image* image, const CoordinateSystem* system);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetSimpleCalibration(Image* image, ScalingMethod method, int learnTable,
|
||
|
const GridDescriptor* grid,
|
||
|
const CoordinateSystem* system);
|
||
|
IMAQ_FUNC TransformReport* IMAQ_STDCALL
|
||
|
imaqTransformPixelToRealWorld(const Image* image,
|
||
|
const PointFloat* pixelCoordinates,
|
||
|
int numCoordinates);
|
||
|
IMAQ_FUNC TransformReport* IMAQ_STDCALL
|
||
|
imaqTransformRealWorldToPixel(const Image* image,
|
||
|
const PointFloat* realWorldCoordinates,
|
||
|
int numCoordinates);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetSimpleCalibration2(Image* image, const GridDescriptor* gridDescriptor);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqCalibrationSetAxisInfo(Image* image, CoordinateSystem* axisInfo);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqCalibrationGetThumbnailImage(Image* templateImage, Image* image,
|
||
|
CalibrationThumbnailType type,
|
||
|
unsigned int index);
|
||
|
IMAQ_FUNC GetCalibrationInfoReport* IMAQ_STDCALL
|
||
|
imaqCalibrationGetCalibrationInfo(Image* image, unsigned int isGetErrorMap);
|
||
|
IMAQ_FUNC GetCameraParametersReport* IMAQ_STDCALL
|
||
|
imaqCalibrationGetCameraParameters(Image* templateImage);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqCalibrationCompactInformation(Image* image);
|
||
|
|
||
|
//============================================================================
|
||
|
// Pixel Manipulation functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqArrayToComplexPlane(Image* dest, const Image* source,
|
||
|
const float* newPixels, ComplexPlane plane);
|
||
|
IMAQ_FUNC float* IMAQ_STDCALL
|
||
|
imaqComplexPlaneToArray(const Image* image, ComplexPlane plane, Rect rect,
|
||
|
int* rows, int* columns);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqExtractColorPlanes(const Image* image,
|
||
|
ColorMode mode, Image* plane1,
|
||
|
Image* plane2, Image* plane3);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqExtractComplexPlane(Image* dest, const Image* source, ComplexPlane plane);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqFillImage(Image* image, PixelValue value, const Image* mask);
|
||
|
IMAQ_FUNC void* IMAQ_STDCALL
|
||
|
imaqGetLine(const Image* image, Point start, Point end, int* numPoints);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetPixel(const Image* image, Point pixel, PixelValue* value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqReplaceColorPlanes(Image* dest, const Image* source, ColorMode mode,
|
||
|
const Image* plane1, const Image* plane2,
|
||
|
const Image* plane3);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqReplaceComplexPlane(Image* dest, const Image* source,
|
||
|
const Image* newValues, ComplexPlane plane);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetLine(Image* image, const void* array,
|
||
|
int arraySize, Point start, Point end);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetPixel(Image* image, Point coord, PixelValue value);
|
||
|
|
||
|
//============================================================================
|
||
|
// Color Matching functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC ColorInformation* IMAQ_STDCALL
|
||
|
imaqLearnColor(const Image* image, const ROI* roi, ColorSensitivity sensitivity,
|
||
|
int saturation);
|
||
|
IMAQ_FUNC int* IMAQ_STDCALL imaqMatchColor(const Image* image,
|
||
|
const ColorInformation* info,
|
||
|
const ROI* roi, int* numScores);
|
||
|
|
||
|
//============================================================================
|
||
|
// Frequency Domain Analysis functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqAttenuate(Image* dest, const Image* source, AttenuateMode highlow);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqConjugate(Image* dest, const Image* source);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqFFT(Image* dest, const Image* source);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqFlipFrequencies(Image* dest, const Image* source);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqInverseFFT(Image* dest, const Image* source);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqTruncate(Image* dest, const Image* source,
|
||
|
TruncateMode highlow,
|
||
|
float ratioToKeep);
|
||
|
|
||
|
//============================================================================
|
||
|
// Barcode I/O functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGradeDataMatrixBarcodeAIM(const Image* image, AIMGradeReport* report);
|
||
|
IMAQ_FUNC BarcodeInfo* IMAQ_STDCALL
|
||
|
imaqReadBarcode(const Image* image, BarcodeType type, const ROI* roi,
|
||
|
int validate);
|
||
|
IMAQ_FUNC DataMatrixReport* IMAQ_STDCALL imaqReadDataMatrixBarcode2(
|
||
|
Image* image, const ROI* roi, DataMatrixGradingMode prepareForGrading,
|
||
|
const DataMatrixDescriptionOptions* descriptionOptions,
|
||
|
const DataMatrixSizeOptions* sizeOptions,
|
||
|
const DataMatrixSearchOptions* searchOptions);
|
||
|
IMAQ_FUNC Barcode2DInfo* IMAQ_STDCALL
|
||
|
imaqReadPDF417Barcode(const Image* image, const ROI* roi,
|
||
|
Barcode2DSearchMode searchMode,
|
||
|
unsigned int* numBarcodes);
|
||
|
IMAQ_FUNC QRCodeReport* IMAQ_STDCALL
|
||
|
imaqReadQRCode(Image* image, const ROI* roi, QRGradingMode reserved,
|
||
|
const QRCodeDescriptionOptions* descriptionOptions,
|
||
|
const QRCodeSizeOptions* sizeOptions,
|
||
|
const QRCodeSearchOptions* searchOptions);
|
||
|
|
||
|
//============================================================================
|
||
|
// LCD functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqFindLCDSegments(ROI* roi, const Image* image, const LCDOptions* options);
|
||
|
IMAQ_FUNC LCDReport* IMAQ_STDCALL
|
||
|
imaqReadLCD(const Image* image, const ROI* roi, const LCDOptions* options);
|
||
|
|
||
|
//============================================================================
|
||
|
// Shape Matching functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC ShapeReport* IMAQ_STDCALL
|
||
|
imaqMatchShape(Image* dest, Image* source, const Image* templateImage,
|
||
|
int scaleInvariant, int connectivity8, double tolerance,
|
||
|
int* numMatches);
|
||
|
|
||
|
//============================================================================
|
||
|
// Contours functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC ContourID IMAQ_STDCALL
|
||
|
imaqAddAnnulusContour(ROI* roi, Annulus annulus);
|
||
|
IMAQ_FUNC ContourID IMAQ_STDCALL
|
||
|
imaqAddClosedContour(ROI* roi, const Point* points, int numPoints);
|
||
|
IMAQ_FUNC ContourID IMAQ_STDCALL
|
||
|
imaqAddLineContour(ROI* roi, Point start, Point end);
|
||
|
IMAQ_FUNC ContourID IMAQ_STDCALL
|
||
|
imaqAddOpenContour(ROI* roi, const Point* points, int numPoints);
|
||
|
IMAQ_FUNC ContourID IMAQ_STDCALL imaqAddOvalContour(ROI* roi, Rect boundingBox);
|
||
|
IMAQ_FUNC ContourID IMAQ_STDCALL imaqAddPointContour(ROI* roi, Point point);
|
||
|
IMAQ_FUNC ContourID IMAQ_STDCALL imaqAddRectContour(ROI* roi, Rect rect);
|
||
|
IMAQ_FUNC ContourID IMAQ_STDCALL
|
||
|
imaqAddRotatedRectContour2(ROI* roi, RotatedRect rect);
|
||
|
IMAQ_FUNC ContourID IMAQ_STDCALL
|
||
|
imaqCopyContour(ROI* destRoi, const ROI* sourceRoi, ContourID id);
|
||
|
IMAQ_FUNC ContourID IMAQ_STDCALL
|
||
|
imaqGetContour(const ROI* roi, unsigned int index);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetContourColor(const ROI* roi, ContourID id, RGBValue* contourColor);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetContourCount(const ROI* roi);
|
||
|
IMAQ_FUNC ContourInfo2* IMAQ_STDCALL
|
||
|
imaqGetContourInfo2(const ROI* roi, ContourID id);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqMoveContour(ROI* roi, ContourID id, int deltaX, int deltaY);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqRemoveContour(ROI* roi, ContourID id);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetContourColor(ROI* roi, ContourID id, const RGBValue* color);
|
||
|
|
||
|
//============================================================================
|
||
|
// Regions of Interest functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqConstructROI2(const Image* image, ROI* roi, Tool initialTool,
|
||
|
const ToolWindowOptions* tools,
|
||
|
const ConstructROIOptions2* options, int* okay);
|
||
|
IMAQ_FUNC ROI* IMAQ_STDCALL imaqCreateROI(void);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetROIBoundingBox(const ROI* roi, Rect* boundingBox);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetROIColor(const ROI* roi, RGBValue* roiColor);
|
||
|
IMAQ_FUNC ROI* IMAQ_STDCALL imaqGetWindowROI(int windowNumber);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetROIColor(ROI* roi, const RGBValue* color);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetWindowROI(int windowNumber, const ROI* roi);
|
||
|
|
||
|
//============================================================================
|
||
|
// Image Analysis functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqCentroid(const Image* image, PointFloat* centroid, const Image* mask);
|
||
|
IMAQ_FUNC Curve* IMAQ_STDCALL
|
||
|
imaqExtractCurves(const Image* image, const ROI* roi,
|
||
|
const CurveOptions* curveOptions, unsigned int* numCurves);
|
||
|
IMAQ_FUNC HistogramReport* IMAQ_STDCALL
|
||
|
imaqHistogram(const Image* image, int numClasses, float min, float max,
|
||
|
const Image* mask);
|
||
|
IMAQ_FUNC LinearAverages* IMAQ_STDCALL
|
||
|
imaqLinearAverages2(Image* image, LinearAveragesMode mode, Rect rect);
|
||
|
IMAQ_FUNC LineProfile* IMAQ_STDCALL
|
||
|
imaqLineProfile(const Image* image, Point start, Point end);
|
||
|
IMAQ_FUNC QuantifyReport* IMAQ_STDCALL
|
||
|
imaqQuantify(const Image* image, const Image* mask);
|
||
|
|
||
|
//============================================================================
|
||
|
// Error Management functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqClearError(void);
|
||
|
IMAQ_FUNC char* IMAQ_STDCALL imaqGetErrorText(int errorCode);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetLastError(void);
|
||
|
IMAQ_FUNC const char* IMAQ_STDCALL imaqGetLastErrorFunc(void);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetError(int errorCode, const char* function);
|
||
|
|
||
|
//============================================================================
|
||
|
// Threshold functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC ThresholdData* IMAQ_STDCALL
|
||
|
imaqAutoThreshold2(Image* dest, const Image* source, int numClasses,
|
||
|
ThresholdMethod method, const Image* mask);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqLocalThreshold(Image* dest, const Image* source, unsigned int windowWidth,
|
||
|
unsigned int windowHeight, LocalThresholdMethod method,
|
||
|
double deviationWeight, ObjectType type, float replaceValue);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqMagicWand(Image* dest, const Image* source,
|
||
|
Point coord, float tolerance,
|
||
|
int connectivity8, float replaceValue);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqMultithreshold(Image* dest, const Image* source,
|
||
|
const ThresholdData* ranges,
|
||
|
int numRanges);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqThreshold(Image* dest, const Image* source,
|
||
|
float rangeMin, float rangeMax,
|
||
|
int useNewValue, float newValue);
|
||
|
|
||
|
//============================================================================
|
||
|
// Memory Management functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqDispose(void* object);
|
||
|
|
||
|
//============================================================================
|
||
|
// Pattern Matching functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC CircleMatch* IMAQ_STDCALL
|
||
|
imaqDetectCircles(const Image* image, const CircleDescriptor* circleDescriptor,
|
||
|
const CurveOptions* curveOptions,
|
||
|
const ShapeDetectionOptions* shapeDetectionOptions,
|
||
|
const ROI* roi, int* numMatchesReturned);
|
||
|
IMAQ_FUNC EllipseMatch* IMAQ_STDCALL
|
||
|
imaqDetectEllipses(const Image* image,
|
||
|
const EllipseDescriptor* ellipseDescriptor,
|
||
|
const CurveOptions* curveOptions,
|
||
|
const ShapeDetectionOptions* shapeDetectionOptions,
|
||
|
const ROI* roi, int* numMatchesReturned);
|
||
|
IMAQ_FUNC LineMatch* IMAQ_STDCALL
|
||
|
imaqDetectLines(const Image* image, const LineDescriptor* lineDescriptor,
|
||
|
const CurveOptions* curveOptions,
|
||
|
const ShapeDetectionOptions* shapeDetectionOptions,
|
||
|
const ROI* roi, int* numMatchesReturned);
|
||
|
IMAQ_FUNC RectangleMatch* IMAQ_STDCALL
|
||
|
imaqDetectRectangles(const Image* image,
|
||
|
const RectangleDescriptor* rectangleDescriptor,
|
||
|
const CurveOptions* curveOptions,
|
||
|
const ShapeDetectionOptions* shapeDetectionOptions,
|
||
|
const ROI* roi, int* numMatchesReturned);
|
||
|
IMAQ_FUNC FeatureData* IMAQ_STDCALL
|
||
|
imaqGetGeometricFeaturesFromCurves(const Curve* curves, unsigned int numCurves,
|
||
|
const FeatureType* featureTypes,
|
||
|
unsigned int numFeatureTypes,
|
||
|
unsigned int* numFeatures);
|
||
|
IMAQ_FUNC FeatureData* IMAQ_STDCALL
|
||
|
imaqGetGeometricTemplateFeatureInfo(const Image* pattern,
|
||
|
unsigned int* numFeatures);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqLearnColorPattern(Image* image, const LearnColorPatternOptions* options);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqLearnGeometricPattern(
|
||
|
Image* image, PointFloat originOffset, const CurveOptions* curveOptions,
|
||
|
const LearnGeometricPatternAdvancedOptions* advancedLearnOptions,
|
||
|
const Image* mask);
|
||
|
IMAQ_FUNC MultipleGeometricPattern* IMAQ_STDCALL
|
||
|
imaqLearnMultipleGeometricPatterns(const Image** patterns,
|
||
|
unsigned int numberOfPatterns,
|
||
|
const String255* labels);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqLearnPattern3(Image* image, LearningMode learningMode,
|
||
|
LearnPatternAdvancedOptions* advancedOptions,
|
||
|
const Image* mask);
|
||
|
IMAQ_FUNC PatternMatch* IMAQ_STDCALL
|
||
|
imaqMatchColorPattern(const Image* image, Image* pattern,
|
||
|
const MatchColorPatternOptions* options, Rect searchRect,
|
||
|
int* numMatches);
|
||
|
IMAQ_FUNC GeometricPatternMatch2* IMAQ_STDCALL imaqMatchGeometricPattern2(
|
||
|
const Image* image, const Image* pattern, const CurveOptions* curveOptions,
|
||
|
const MatchGeometricPatternOptions* matchOptions,
|
||
|
const MatchGeometricPatternAdvancedOptions2* advancedMatchOptions,
|
||
|
const ROI* roi, int* numMatches);
|
||
|
IMAQ_FUNC GeometricPatternMatch2* IMAQ_STDCALL
|
||
|
imaqMatchMultipleGeometricPatterns(
|
||
|
const Image* image, const MultipleGeometricPattern* multiplePattern,
|
||
|
const ROI* roi, int* numMatches);
|
||
|
IMAQ_FUNC MultipleGeometricPattern* IMAQ_STDCALL
|
||
|
imaqReadMultipleGeometricPatternFile(const char* fileName,
|
||
|
String255 description);
|
||
|
IMAQ_FUNC PatternMatch* IMAQ_STDCALL
|
||
|
imaqRefineMatches(const Image* image, const Image* pattern,
|
||
|
const PatternMatch* candidatesIn, int numCandidatesIn,
|
||
|
MatchPatternOptions* options,
|
||
|
MatchPatternAdvancedOptions* advancedOptions,
|
||
|
int* numCandidatesOut);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetMultipleGeometricPatternsOptions(
|
||
|
MultipleGeometricPattern* multiplePattern, const char* label,
|
||
|
const CurveOptions* curveOptions,
|
||
|
const MatchGeometricPatternOptions* matchOptions,
|
||
|
const MatchGeometricPatternAdvancedOptions2* advancedMatchOptions);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqWriteMultipleGeometricPatternFile(
|
||
|
const MultipleGeometricPattern* multiplePattern, const char* fileName,
|
||
|
const char* description);
|
||
|
IMAQ_FUNC GeometricPatternMatch3* IMAQ_STDCALL imaqMatchGeometricPattern3(
|
||
|
const Image* image, const Image* pattern, const CurveOptions* curveOptions,
|
||
|
const MatchGeometricPatternOptions* matchOptions,
|
||
|
const MatchGeometricPatternAdvancedOptions3* advancedMatchOptions,
|
||
|
const ROI* roi, size_t* numMatches);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqLearnGeometricPattern2(
|
||
|
Image* image, PointFloat originOffset, double angleOffset,
|
||
|
const CurveOptions* curveOptions,
|
||
|
const LearnGeometricPatternAdvancedOptions2* advancedLearnOptions,
|
||
|
const Image* mask);
|
||
|
IMAQ_FUNC PatternMatch* IMAQ_STDCALL
|
||
|
imaqMatchPattern3(const Image* image, const Image* pattern,
|
||
|
const MatchPatternOptions* options,
|
||
|
const MatchPatternAdvancedOptions* advancedOptions,
|
||
|
const ROI* roi, int* numMatches);
|
||
|
|
||
|
//============================================================================
|
||
|
// Overlay functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqClearOverlay(Image* image, const char* group);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqCopyOverlay(Image* dest, const Image* source, const char* group);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetOverlayProperties(const Image* image, const char* group,
|
||
|
TransformBehaviors* transformBehaviors);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqMergeOverlay(Image* dest, const Image* source, const RGBValue* palette,
|
||
|
unsigned int numColors, const char* group);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqOverlayArc(Image* image, const ArcInfo* arc,
|
||
|
const RGBValue* color,
|
||
|
DrawMode drawMode, const char* group);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqOverlayBitmap(Image* image, Point destLoc, const RGBValue* bitmap,
|
||
|
unsigned int numCols, unsigned int numRows,
|
||
|
const char* group);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqOverlayClosedContour(Image* image, const Point* points, int numPoints,
|
||
|
const RGBValue* color, DrawMode drawMode,
|
||
|
const char* group);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqOverlayLine(Image* image, Point start, Point end,
|
||
|
const RGBValue* color,
|
||
|
const char* group);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqOverlayMetafile(Image* image,
|
||
|
const void* metafile, Rect rect,
|
||
|
const char* group);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqOverlayOpenContour(Image* image, const Point* points, int numPoints,
|
||
|
const RGBValue* color, const char* group);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqOverlayOval(Image* image, Rect boundingBox,
|
||
|
const RGBValue* color,
|
||
|
DrawMode drawMode, char* group);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqOverlayPoints(Image* image, const Point* points, int numPoints,
|
||
|
const RGBValue* colors, int numColors, PointSymbol symbol,
|
||
|
const UserPointSymbol* userSymbol, const char* group);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqOverlayRect(Image* image, Rect rect, const RGBValue* color,
|
||
|
DrawMode drawMode, const char* group);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqOverlayROI(Image* image, const ROI* roi, PointSymbol symbol,
|
||
|
const UserPointSymbol* userSymbol, const char* group);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqOverlayText(Image* image, Point origin, const char* text,
|
||
|
const RGBValue* color, const OverlayTextOptions* options,
|
||
|
const char* group);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetOverlayProperties(Image* image, const char* group,
|
||
|
TransformBehaviors* transformBehaviors);
|
||
|
|
||
|
//============================================================================
|
||
|
// OCR functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC CharSet* IMAQ_STDCALL imaqCreateCharSet(void);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqDeleteChar(CharSet* set, int index);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetCharCount(const CharSet* set);
|
||
|
IMAQ_FUNC CharInfo2* IMAQ_STDCALL
|
||
|
imaqGetCharInfo2(const CharSet* set, int index);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqReadOCRFile(const char* fileName, CharSet* set, String255 setDescription,
|
||
|
ReadTextOptions* readOptions,
|
||
|
OCRProcessingOptions* processingOptions,
|
||
|
OCRSpacingOptions* spacingOptions);
|
||
|
IMAQ_FUNC ReadTextReport3* IMAQ_STDCALL
|
||
|
imaqReadText3(const Image* image, const CharSet* set, const ROI* roi,
|
||
|
const ReadTextOptions* readOptions,
|
||
|
const OCRProcessingOptions* processingOptions,
|
||
|
const OCRSpacingOptions* spacingOptions);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqRenameChar(CharSet* set, int index, const char* newCharValue);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetReferenceChar(const CharSet* set, int index, int isReferenceChar);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqTrainChars(const Image* image, CharSet* set, int index,
|
||
|
const char* charValue, const ROI* roi,
|
||
|
const OCRProcessingOptions* processingOptions,
|
||
|
const OCRSpacingOptions* spacingOptions);
|
||
|
IMAQ_FUNC int* IMAQ_STDCALL
|
||
|
imaqVerifyPatterns(const Image* image, const CharSet* set,
|
||
|
const String255* expectedPatterns, int patternCount,
|
||
|
const ROI* roi, int* numScores);
|
||
|
IMAQ_FUNC int* IMAQ_STDCALL
|
||
|
imaqVerifyText(const Image* image, const CharSet* set,
|
||
|
const char* expectedString, const ROI* roi, int* numScores);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqWriteOCRFile(const char* fileName, const CharSet* set,
|
||
|
const char* setDescription, const ReadTextOptions* readOptions,
|
||
|
const OCRProcessingOptions* processingOptions,
|
||
|
const OCRSpacingOptions* spacingOptions);
|
||
|
|
||
|
//============================================================================
|
||
|
// Geometric Matching functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC ExtractContourReport* IMAQ_STDCALL
|
||
|
imaqExtractContour(Image* image, const ROI* roi,
|
||
|
ExtractContourDirection direction,
|
||
|
CurveParameters* curveParams,
|
||
|
const ConnectionConstraint* connectionConstraintParams,
|
||
|
unsigned int numOfConstraints,
|
||
|
ExtractContourSelection selection, Image* contourImage);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqContourOverlay(Image* image, const Image* contourImage,
|
||
|
const ContourOverlaySettings* pointsSettings,
|
||
|
const ContourOverlaySettings* eqnSettings,
|
||
|
const char* groupName);
|
||
|
IMAQ_FUNC ContourComputeCurvatureReport* IMAQ_STDCALL
|
||
|
imaqContourComputeCurvature(const Image* contourImage, unsigned int kernel);
|
||
|
IMAQ_FUNC CurvatureAnalysisReport* IMAQ_STDCALL
|
||
|
imaqContourClassifyCurvature(const Image* contourImage, unsigned int kernel,
|
||
|
RangeLabel* curvatureClasses,
|
||
|
unsigned int numCurvatureClasses);
|
||
|
IMAQ_FUNC ComputeDistancesReport* IMAQ_STDCALL
|
||
|
imaqContourComputeDistances(const Image* targetImage,
|
||
|
const Image* templateImage,
|
||
|
const SetupMatchPatternData* matchSetupData,
|
||
|
unsigned int smoothingKernel);
|
||
|
IMAQ_FUNC ClassifyDistancesReport* IMAQ_STDCALL imaqContourClassifyDistances(
|
||
|
const Image* targetImage, const Image* templateImage,
|
||
|
const SetupMatchPatternData* matchSetupData, unsigned int smoothingKernel,
|
||
|
const RangeLabel* distanceRanges, unsigned int numDistanceRanges);
|
||
|
IMAQ_FUNC ContourInfoReport* IMAQ_STDCALL
|
||
|
imaqContourInfo(const Image* contourImage);
|
||
|
IMAQ_FUNC SetupMatchPatternData* IMAQ_STDCALL imaqContourSetupMatchPattern(
|
||
|
MatchMode* matchMode, unsigned int enableSubPixelAccuracy,
|
||
|
CurveParameters* curveParams, unsigned int useLearnCurveParameters,
|
||
|
const RangeSettingDouble* rangeSettings, unsigned int numRangeSettings);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqContourAdvancedSetupMatchPattern(
|
||
|
SetupMatchPatternData* matchSetupData,
|
||
|
GeometricAdvancedSetupDataOption* geometricOptions,
|
||
|
unsigned int numGeometricOptions);
|
||
|
IMAQ_FUNC ContourFitLineReport* IMAQ_STDCALL
|
||
|
imaqContourFitLine(Image* image, double pixelRadius);
|
||
|
IMAQ_FUNC PartialCircle* IMAQ_STDCALL
|
||
|
imaqContourFitCircle(Image* image, double pixelRadius, int rejectOutliers);
|
||
|
IMAQ_FUNC PartialEllipse* IMAQ_STDCALL
|
||
|
imaqContourFitEllipse(Image* image, double pixelRadius, int rejectOutliers);
|
||
|
IMAQ_FUNC ContourFitSplineReport* IMAQ_STDCALL
|
||
|
imaqContourFitSpline(Image* image, int degree, int numberOfControlPoints);
|
||
|
IMAQ_FUNC ContourFitPolynomialReport* IMAQ_STDCALL
|
||
|
imaqContourFitPolynomial(Image* image, int order);
|
||
|
|
||
|
//============================================================================
|
||
|
// Edge Detection functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC FindCircularEdgeReport* IMAQ_STDCALL
|
||
|
imaqFindCircularEdge2(Image* image, const ROI* roi,
|
||
|
const CoordinateSystem* baseSystem,
|
||
|
const CoordinateSystem* newSystem,
|
||
|
const FindCircularEdgeOptions* edgeOptions,
|
||
|
const CircleFitOptions* circleFitOptions);
|
||
|
IMAQ_FUNC FindConcentricEdgeReport* IMAQ_STDCALL imaqFindConcentricEdge2(
|
||
|
Image* image, const ROI* roi, const CoordinateSystem* baseSystem,
|
||
|
const CoordinateSystem* newSystem,
|
||
|
const FindConcentricEdgeOptions* edgeOptions,
|
||
|
const ConcentricEdgeFitOptions* concentricEdgeFitOptions);
|
||
|
|
||
|
//============================================================================
|
||
|
// Morphology Reconstruction functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGrayMorphologyReconstruct(Image* dstImage, Image* srcImage,
|
||
|
const Image* markerImage, PointFloat* points,
|
||
|
int numOfPoints,
|
||
|
MorphologyReconstructOperation operation,
|
||
|
const StructuringElement* structuringElement,
|
||
|
const ROI* roi);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqMorphologyReconstruct(Image* dstImage, Image* srcImage,
|
||
|
const Image* markerImage, PointFloat* points,
|
||
|
int numOfPoints,
|
||
|
MorphologyReconstructOperation operation,
|
||
|
Connectivity connectivity, const ROI* roi);
|
||
|
|
||
|
//============================================================================
|
||
|
// Texture functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqDetectTextureDefect(ClassifierSession* session, Image* destImage,
|
||
|
const Image* srcImage, const ROI* roi,
|
||
|
int initialStepSize, int finalStepSize,
|
||
|
unsigned char defectPixelValue,
|
||
|
double minClassificationScore);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqClassificationTextureDefectOptions(
|
||
|
ClassifierSession* session, WindowSize* windowOptions,
|
||
|
WaveletOptions* waveletOptions, void** bandsUsed, int* numBandsUsed,
|
||
|
CooccurrenceOptions* cooccurrenceOptions, unsigned char setOperation);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqCooccurrenceMatrix(const Image* srcImage, const ROI* roi, int levelPixel,
|
||
|
const DisplacementVector* displacementVec,
|
||
|
void* featureOptionArray,
|
||
|
unsigned int featureOptionArraySize,
|
||
|
void** cooccurrenceMatrixArray,
|
||
|
int* coocurrenceMatrixRows, int* coocurrenceMatrixCols,
|
||
|
void** featureVectorArray, int* featureVectorArraySize);
|
||
|
IMAQ_FUNC ExtractTextureFeaturesReport* IMAQ_STDCALL
|
||
|
imaqExtractTextureFeatures(const Image* srcImage, const ROI* roi,
|
||
|
const WindowSize* windowOptions,
|
||
|
const WaveletOptions* waveletOptions,
|
||
|
void* waveletBands, unsigned int numWaveletBands,
|
||
|
const CooccurrenceOptions* cooccurrenceOptions,
|
||
|
unsigned char useWindow);
|
||
|
IMAQ_FUNC WaveletBandsReport* IMAQ_STDCALL
|
||
|
imaqExtractWaveletBands(const Image* srcImage,
|
||
|
const WaveletOptions* waveletOptions,
|
||
|
void* waveletBands, unsigned int numWaveletBands);
|
||
|
|
||
|
//============================================================================
|
||
|
// Regions of Interest Manipulation functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC ROI* IMAQ_STDCALL imaqMaskToROI(const Image* mask, int* withinLimit);
|
||
|
IMAQ_FUNC ROIProfile* IMAQ_STDCALL
|
||
|
imaqROIProfile(const Image* image, const ROI* roi);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqROIToMask(Image* mask, const ROI* roi,
|
||
|
int fillValue, const Image* imageModel,
|
||
|
int* inSpace);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqTransformROI2(ROI* roi,
|
||
|
const CoordinateSystem* baseSystem,
|
||
|
const CoordinateSystem* newSystem);
|
||
|
IMAQ_FUNC LabelToROIReport* IMAQ_STDCALL
|
||
|
imaqLabelToROI(const Image* image, const unsigned int* labelsIn,
|
||
|
unsigned int numLabelsIn, int maxNumVectors,
|
||
|
int isExternelEdges);
|
||
|
|
||
|
//============================================================================
|
||
|
// Morphology functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGrayMorphology(Image* dest, Image* source, MorphologyMethod method,
|
||
|
const StructuringElement* structuringElement);
|
||
|
|
||
|
//============================================================================
|
||
|
// Classification functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqAddClassifierSample(Image* image, ClassifierSession* session,
|
||
|
const ROI* roi, const char* sampleClass,
|
||
|
double* featureVector, unsigned int vectorSize);
|
||
|
IMAQ_FUNC ClassifierReportAdvanced* IMAQ_STDCALL
|
||
|
imaqAdvanceClassify(Image* image, const ClassifierSession* session,
|
||
|
const ROI* roi, double* featureVector,
|
||
|
unsigned int vectorSize);
|
||
|
IMAQ_FUNC ClassifierReport* IMAQ_STDCALL
|
||
|
imaqClassify(Image* image, const ClassifierSession* session, const ROI* roi,
|
||
|
double* featureVector, unsigned int vectorSize);
|
||
|
IMAQ_FUNC ClassifierSession* IMAQ_STDCALL
|
||
|
imaqCreateClassifier(ClassifierType type);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqDeleteClassifierSample(ClassifierSession* session, int index);
|
||
|
IMAQ_FUNC ClassifierAccuracyReport* IMAQ_STDCALL
|
||
|
imaqGetClassifierAccuracy(const ClassifierSession* session);
|
||
|
IMAQ_FUNC ClassifierSampleInfo* IMAQ_STDCALL
|
||
|
imaqGetClassifierSampleInfo(const ClassifierSession* session, int index,
|
||
|
int* numSamples);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetColorClassifierOptions(const ClassifierSession* session,
|
||
|
ColorOptions* options);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetNearestNeighborOptions(const ClassifierSession* session,
|
||
|
NearestNeighborOptions* options);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetParticleClassifierOptions2(
|
||
|
const ClassifierSession* session,
|
||
|
ParticleClassifierPreprocessingOptions2* preprocessingOptions,
|
||
|
ParticleClassifierOptions* options);
|
||
|
IMAQ_FUNC ClassifierSession* IMAQ_STDCALL
|
||
|
imaqReadClassifierFile(ClassifierSession* session, const char* fileName,
|
||
|
ReadClassifierFileMode mode, ClassifierType* type,
|
||
|
ClassifierEngineType* engine, String255 description);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqRelabelClassifierSample(ClassifierSession* session, int index,
|
||
|
const char* newClass);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetParticleClassifierOptions2(
|
||
|
ClassifierSession* session,
|
||
|
const ParticleClassifierPreprocessingOptions2* preprocessingOptions,
|
||
|
const ParticleClassifierOptions* options);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetColorClassifierOptions(ClassifierSession* session,
|
||
|
const ColorOptions* options);
|
||
|
IMAQ_FUNC NearestNeighborTrainingReport* IMAQ_STDCALL
|
||
|
imaqTrainNearestNeighborClassifier(ClassifierSession* session,
|
||
|
const NearestNeighborOptions* options);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqWriteClassifierFile(const ClassifierSession* session, const char* fileName,
|
||
|
WriteClassifierFileMode mode,
|
||
|
const String255 description);
|
||
|
|
||
|
//============================================================================
|
||
|
// Measure Distances functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC ClampMax2Report* IMAQ_STDCALL
|
||
|
imaqClampMax2(Image* image, const ROI* roi, const CoordinateSystem* baseSystem,
|
||
|
const CoordinateSystem* newSystem,
|
||
|
const CurveOptions* curveSettings,
|
||
|
const ClampSettings* clampSettings,
|
||
|
const ClampOverlaySettings* clampOverlaySettings);
|
||
|
|
||
|
//============================================================================
|
||
|
// Inspection functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqCompareGoldenTemplate(const Image* image, const Image* goldenTemplate,
|
||
|
Image* brightDefects, Image* darkDefects,
|
||
|
const InspectionAlignment* alignment,
|
||
|
const InspectionOptions* options);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqLearnGoldenTemplate(Image* goldenTemplate,
|
||
|
PointFloat originOffset,
|
||
|
const Image* mask);
|
||
|
//============================================================================
|
||
|
// Obsolete functions
|
||
|
//============================================================================
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqRotate(Image* dest, const Image* source,
|
||
|
float angle, PixelValue fill,
|
||
|
InterpolationMethod method);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqWritePNGFile(const Image* image, const char* fileName,
|
||
|
unsigned int compressionSpeed, const RGBValue* colorTable);
|
||
|
IMAQ_FUNC ParticleReport* IMAQ_STDCALL
|
||
|
imaqSelectParticles(const Image* image, const ParticleReport* reports,
|
||
|
int reportCount, int rejectBorder,
|
||
|
const SelectParticleCriteria* criteria, int criteriaCount,
|
||
|
int* selectedCount);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqParticleFilter(Image* dest, Image* source,
|
||
|
const ParticleFilterCriteria* criteria, int criteriaCount,
|
||
|
int rejectMatches, int connectivity8);
|
||
|
IMAQ_FUNC ParticleReport* IMAQ_STDCALL
|
||
|
imaqGetParticleInfo(Image* image, int connectivity8, ParticleInfoMode mode,
|
||
|
int* reportCount);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqCalcCoeff(const Image* image, const ParticleReport* report,
|
||
|
MeasurementValue parameter, float* coefficient);
|
||
|
IMAQ_FUNC EdgeReport* IMAQ_STDCALL
|
||
|
imaqEdgeTool(const Image* image, const Point* points, int numPoints,
|
||
|
const EdgeOptions* options, int* numEdges);
|
||
|
IMAQ_FUNC CircleReport* IMAQ_STDCALL
|
||
|
imaqCircles(Image* dest, const Image* source, float minRadius, float maxRadius,
|
||
|
int* numCircles);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqLabel(Image* dest, Image* source, int connectivity8, int* particleCount);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqFitEllipse(const PointFloat* points, int numPoints, BestEllipse* ellipse);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqFitCircle(const PointFloat* points, int numPoints, BestCircle* circle);
|
||
|
IMAQ_FUNC Color IMAQ_STDCALL imaqChangeColorSpace(const Color* sourceColor,
|
||
|
ColorMode sourceSpace,
|
||
|
ColorMode destSpace);
|
||
|
IMAQ_FUNC PatternMatch* IMAQ_STDCALL
|
||
|
imaqMatchPattern(const Image* image, Image* pattern,
|
||
|
const MatchPatternOptions* options, Rect searchRect,
|
||
|
int* numMatches);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqConvex(Image* dest, const Image* source);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqIsVisionInfoPresent(const Image* image, VisionInfoType type, int* present);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqLineGaugeTool(const Image* image, Point start, Point end,
|
||
|
LineGaugeMethod method, const EdgeOptions* edgeOptions,
|
||
|
const CoordinateTransform* reference, float* distance);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqBestCircle(const PointFloat* points,
|
||
|
int numPoints, PointFloat* center,
|
||
|
double* radius);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSavePattern(const Image* pattern, const char* fileName);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqLoadPattern(Image* pattern, const char* fileName);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqTransformROI(ROI* roi, Point originStart,
|
||
|
float angleStart, Point originFinal,
|
||
|
float angleFinal);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqCoordinateReference(const Point* points,
|
||
|
ReferenceMode mode,
|
||
|
Point* origin, float* angle);
|
||
|
IMAQ_FUNC ContourInfo* IMAQ_STDCALL
|
||
|
imaqGetContourInfo(const ROI* roi, ContourID id);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetWindowOverlay(int windowNumber, const Overlay* overlay);
|
||
|
IMAQ_FUNC Overlay* IMAQ_STDCALL imaqCreateOverlayFromROI(const ROI* roi);
|
||
|
IMAQ_FUNC Overlay* IMAQ_STDCALL
|
||
|
imaqCreateOverlayFromMetafile(const void* metafile);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqSetCalibrationInfo(Image* image, CalibrationUnit unit, float xDistance,
|
||
|
float yDistance);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetCalibrationInfo(const Image* image, CalibrationUnit* unit,
|
||
|
float* xDistance, float* yDistance);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqConstructROI(const Image* image, ROI* roi, Tool initialTool,
|
||
|
const ToolWindowOptions* tools,
|
||
|
const ConstructROIOptions* options, int* okay);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqGetParticleClassifierOptions(
|
||
|
const ClassifierSession* session,
|
||
|
ParticleClassifierPreprocessingOptions* preprocessingOptions,
|
||
|
ParticleClassifierOptions* options);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqZoomWindow(int windowNumber, int xZoom, int yZoom, Point center);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqGetWindowZoom(int windowNumber, int* xZoom, int* yZoom);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqParticleFilter3(Image* dest, Image* source,
|
||
|
const ParticleFilterCriteria2* criteria, int criteriaCount,
|
||
|
const ParticleFilterOptions* options, const ROI* roi,
|
||
|
int* numParticles);
|
||
|
IMAQ_FUNC ReadTextReport2* IMAQ_STDCALL
|
||
|
imaqReadText2(const Image* image, const CharSet* set, const ROI* roi,
|
||
|
const ReadTextOptions* readOptions,
|
||
|
const OCRProcessingOptions* processingOptions,
|
||
|
const OCRSpacingOptions* spacingOptions);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqLearnPattern2(Image* image, LearningMode learningMode,
|
||
|
LearnPatternAdvancedOptions* advancedOptions);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqConvolve(Image* dest, Image* source, const float* kernel, int matrixRows,
|
||
|
int matrixCols, float normalize, const Image* mask);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqDivideConstant(Image* dest, const Image* source, PixelValue value);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqDivide(Image* dest, const Image* sourceA, const Image* sourceB);
|
||
|
IMAQ_FUNC EdgeReport2* IMAQ_STDCALL
|
||
|
imaqEdgeTool3(const Image* image, const ROI* roi, EdgeProcess processType,
|
||
|
const EdgeOptions2* edgeOptions);
|
||
|
IMAQ_FUNC ConcentricRakeReport* IMAQ_STDCALL
|
||
|
imaqConcentricRake(const Image* image, const ROI* roi,
|
||
|
ConcentricRakeDirection direction, EdgeProcess process,
|
||
|
const RakeOptions* options);
|
||
|
IMAQ_FUNC SpokeReport* IMAQ_STDCALL
|
||
|
imaqSpoke(const Image* image, const ROI* roi, SpokeDirection direction,
|
||
|
EdgeProcess process, const SpokeOptions* options);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqLearnPattern(Image* image, LearningMode learningMode);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqLookup(Image* dest, const Image* source,
|
||
|
const short* table, const Image* mask);
|
||
|
IMAQ_FUNC PatternMatch* IMAQ_STDCALL
|
||
|
imaqMatchPattern2(const Image* image, const Image* pattern,
|
||
|
const MatchPatternOptions* options,
|
||
|
const MatchPatternAdvancedOptions* advancedOptions,
|
||
|
Rect searchRect, int* numMatches);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL imaqSetParticleClassifierOptions(
|
||
|
ClassifierSession* session,
|
||
|
const ParticleClassifierPreprocessingOptions* preprocessingOptions,
|
||
|
const ParticleClassifierOptions* options);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqCopyCalibrationInfo(Image* dest, const Image* source);
|
||
|
IMAQ_FUNC int IMAQ_STDCALL
|
||
|
imaqParticleFilter2(Image* dest, Image* source,
|
||
|
const ParticleFilterCriteria2* criteria, int criteriaCount,
|
||
|
int rejectMatches, int connectivity8, int* numParticles);
|
||
|
IMAQ_FUNC EdgeReport* IMAQ_STDCALL
|
||
|
imaqEdgeTool2(const Image* image, const Point* points, int numPoints,
|
||
|
EdgeProcess process, const EdgeOptions* options, int* numEdges);
|
||
|
IMAQ_FUNC ContourID IMAQ_STDCALL
|
||
|
imaqAddRotatedRectContour(ROI* roi, RotatedRect rect);
|
||
|
IMAQ_FUNC Barcode2DInfo* IMAQ_STDCALL
|
||
|
imaqReadDataMatrixBarcode(const Image* image, const ROI* roi,
|
||
|
const DataMatrixOptions* options,
|
||
|
unsigned int* numBarcodes);
|
||
|
IMAQ_FUNC LinearAverages* IMAQ_STDCALL
|
||
|
imaqLinearAverages(const Image* image, Rect rect);
|
||
|
IMAQ_FUNC GeometricPatternMatch* IMAQ_STDCALL imaqMatchGeometricPattern(
|
||
|
const Image* image, const Image* pattern, const CurveOptions* curveOptions,
|
||
|
const MatchGeometricPatternOptions* matchOptions,
|
||
|
const MatchGeometricPatternAdvancedOptions* advancedMatchOptions,
|
||
|
const ROI* roi, int* numMatches);
|
||
|
IMAQ_FUNC CharInfo* IMAQ_STDCALL imaqGetCharInfo(const CharSet* set, int index);
|
||
|
IMAQ_FUNC ReadTextReport* IMAQ_STDCALL
|
||
|
imaqReadText(const Image* image, const CharSet* set, const ROI* roi,
|
||
|
const ReadTextOptions* readOptions,
|
||
|
const OCRProcessingOptions* processingOptions,
|
||
|
const OCRSpacingOptions* spacingOptions);
|
||
|
IMAQ_FUNC ThresholdData* IMAQ_STDCALL
|
||
|
imaqAutoThreshold(Image* dest, Image* source, int numClasses,
|
||
|
ThresholdMethod method);
|
||
|
IMAQ_FUNC ColorHistogramReport* IMAQ_STDCALL
|
||
|
imaqColorHistogram(Image* image, int numClasses, ColorMode mode,
|
||
|
const Image* mask);
|
||
|
IMAQ_FUNC RakeReport* IMAQ_STDCALL
|
||
|
imaqRake(const Image* image, const ROI* roi, RakeDirection direction,
|
||
|
EdgeProcess process, const RakeOptions* options);
|
||
|
|
||
|
IMAQ_FUNC int IMAQ_STDCALL Priv_ReadJPEGString_C(Image* image,
|
||
|
const unsigned char* string,
|
||
|
unsigned int stringLength);
|
||
|
#endif
|