SaigeVisionAPI.h¶
Go to the source code of this file.
#include <stdint.h>#include "saige_error.h"
SaigeVision 추론 기능에 필요한 핵심적인 함수, 상수, 구조체, 플래그 등이 정의되어 있습니다.
Classes¶
| Type | Name |
|---|---|
| struct | SaigeHandleConfig 추론 핸들 설정 사항이 담긴 구조체입니다. GPU 메모리 및 추론 시간에 영향을 미칠 수 있는 항목들입니다. |
| struct | SaigeRoiInfo ROI 정보가 담긴 구조체입니다. ROI 모드와 그에 대응하는 파라미터, 그리고 공통적으로 사용되는 blind mask 정보로 구성되어 있습니다. |
| struct | SaigeModelInfo 모델 정보가 담긴 구조체입니다. |
| struct | SaigeTextFormatting (OCR) 인식하고자 하는 글자의 포맷을 지정하는 옵션입니다. 글자 수에 관계 없이 인식하고자 하는 글자집합을 설정하는 방식과, 글자의 위치별로 인식하고자 하는 글자집합을 설정하는 두 가지 방식이 있습니다. |
| struct | SaigeInferenceOption 추론 옵션이 담긴 구조체입니다. |
| struct | SaigeRotatedBox 회전 가능한 직사각형의 정보가 담긴 구조체입니다. |
| struct | SaigeDetectedObject Object detection(DET)을 통해 검출된 영역의 정보가 담긴 구조체입니다. |
| struct | SaigeEllipse 타원 정보가 담긴 구조체입니다. |
| struct | SaigeSegmentedObject Segmentation(SEG) 또는 Anomaly Detection(IAD)을 통해 검출된 영역의 정보가 담긴 구조체입니다. |
| struct | SaigeTextObject 텍스트를 검출하는 OCR 검사의 결과가 담긴 구조체입니다. |
Public Types¶
| Type | Name |
|---|---|
| typedef void * | SaigeInferenceHandle 추론에 필요한 정보를 다루고 추론을 수행하는 데 사용되는 매개체입니다. |
| typedef void * | SaigeInferenceResult 추론 결과를 다루는 데 사용되는 매개체입니다. |
Public Attributes¶
| Type | Name |
|---|---|
| constexpr int | kProjectTypeCLS = = 0 Classification 프로젝트를 나타내는 상수입니다. |
| constexpr int | kProjectTypeDET = = 1 Detection 프로젝트를 나타내는 상수입니다. |
| constexpr int | kProjectTypeSEG = = 2 Segmentation 프로젝트를 나타내는 상수입니다. |
| constexpr int | kProjectTypeIAD = = 3 Anomaly Detection 프로젝트를 나타내는 상수입니다. |
| constexpr int | kProjectTypeOCR = = 4 OCR 프로젝트를 나타내는 상수입니다. |
| constexpr int | kProjectTypeIEN = = 5 IEN 프로젝트를 나타내는 상수입니다. |
| constexpr int | kMaxLenOfClassName = = 63 클래스 이름의 최대 길이를 나타내는 상수입니다. |
| constexpr int | kMaxNumOfClasses = = 255 클래스 개수의 최댓값을 나타내는 상수입니다. |
| constexpr int | kMaxLenOfModelName = = 63 모델 이름의 최대 길이를 나타내는 상수입니다. |
| constexpr int | kMaxLenOfCameraName = = 63 MLOps 기능 반영 시 안내 예정. |
| constexpr int | kMaxLenOfTrainedVersion = = 63 버전 정보 문자열의 최대 길이를 나타내는 상수입니다. |
| constexpr int | kMaxLenOfToolName = = 63 MLOps 기능 반영 시 안내 예정. |
| constexpr int | kMaxLenOfTextFormatting = = 200 (OCR) 인식할 수 있는 글자의 최대 길이입니다. 하나의 SaigeTextObject 에 인식된 글자는 이 길이를 넘을 수 없습니다. |
Public Functions¶
| Type | Name |
|---|---|
| int | SaigeInferFromImageFile (SaigeInferenceHandle handle, const char * imagePath, SaigeInferenceResult result) 이미지 경로를 입력하여 추론을 수행합니다. |
| int | SaigeInferFromByteArray (SaigeInferenceHandle handle, const unsigned char * imageData, const int width, const int height, const unsigned int flags, SaigeInferenceResult result) 한 장의 이미지 데이터를 입력하여 추론을 수행합니다. 3채널 컬러 이미지의 경우 RGB 순서가 연산속도에 약간 유리합니다. 실시간 검사에서 이미지 취득이 RGB로 가능한 경우 RGB를 권장합니다. SaigeGetImageData 함수는 항상 RGB로 이미지 파일을 로드합니다. |
| int | SaigeInferFromByteArrayWithProductId (SaigeInferenceHandle handle, const unsigned char * imageData, const int width, const int height, const unsigned int flags, const char * productId, SaigeInferenceResult result) 한 장의 이미지 데이터를 입력하여 추론을 수행합니다.SaigeInferFromByteArray 와 동일하며 입력으로 productId를 추가로 받습니다. productId는 이용자가 설정한 검사대상의 식별자입니다. |
| int | SaigeInferFromMultipleByteArray (SaigeInferenceHandle handle, const int numOfImages, const unsigned char ** imageData, const int width, const int height, const unsigned int flags, SaigeInferenceResult * results) 크기가 같은 이미지 데이터를 여러 장 입력하여 배치 추론을 수행합니다. |
| int | SaigeInferFromMultiPageByteArray (SaigeInferenceHandle handle, const int numOfPages, const unsigned char ** imageData, const int width, const int height, const int * channels, const unsigned int flags, SaigeInferenceResult result) 여러 페이지의 이미지 데이터를 입력하여 추론을 수행합니다. |
| int | SaigeGetInferenceResultScore (SaigeInferenceResult result, float * scores, bool includeAddScore) (CLS) 클래스별 score 값이 담긴 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultClass (SaigeInferenceResult result, int * classIndex) (CLS) Additional score 까지 반영된 클래스별 최종 score 값 중 가장 값이 큰 인덱스를 받아 옵니다. |
| int | SaigeGetInferenceResultClassActivationMap (SaigeInferenceResult result, unsigned char ** classActivationMap) (CLS) Class activation map 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultNumOfDetectedObjects (SaigeInferenceResult result, int * numOfObjects) (DET) 검출된 detected object의 개수를 받아 옵니다. |
| int | SaigeGetInferenceResultDetectedObjects (SaigeInferenceResult result, SaigeDetectedObject * detectedObjects) (DET) 검출된 detected object의 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultNumOfSegmentedObjects (SaigeInferenceResult result, int * num) (IAD, SEG) 검출된 segmented object의 개수를 받아 옵니다. |
| int | SaigeGetInferenceResultSegmentedObjects (SaigeInferenceResult result, SaigeSegmentedObject * segObjects) (IAD, SEG) 검출된 segmented object의 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultMask (SaigeInferenceResult result, unsigned char ** mask) (IAD, SEG) Mask 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultScoremapSEG (SaigeInferenceResult result, unsigned char ** scoremap) (SEG) Scoremap 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultIsOversized (SaigeInferenceResult result, bool * isOversized) (SEG) 추론에 입력한 이미지의 크기가 SaigeHandleConfig에서 지정한 inspection size보다 컸는지 여부를 받아 옵니다. |
| int | SaigeGetInferenceResultAnomalyScores (SaigeInferenceResult result, double * anomalyScore, double * minScore, double * maxScore) (IAD) 세 가지 score를 받아 옵니다. |
| int | SaigeGetInferenceResultIsNg (SaigeInferenceResult result, bool * isNg) (IAD) 이미지의 정상/비정상 판별 결과를 받아 옵니다. |
| int | SaigeGetInferenceResultScoremapIAD (SaigeInferenceResult result, float ** scoremap) (IAD) Scoremap 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultHeatmap (SaigeInferenceResult result, float ** heatmap) (IAD) Heatmap 배열을 받아 옵니다. |
| int | SaigeGetInferenceResultNumOfTextObjects (SaigeInferenceResult result, int * num) (OCR) 검사 이미지에서 검출된 텍스트 영역의 개수를 받아 옵니다. |
| int | SaigeGetInferenceResultTextObjects (SaigeInferenceResult result, SaigeTextObject * textObjects) (OCR) 검출된 텍스트 영역인 SaigeTextObject들을 받아 옵니다. |
| int | SaigeGetInferenceResultEnhancedImage (SaigeInferenceResult result, unsigned char ** image) (IEN) 향상된 품질의 이미지를 받아 옵니다. |
| int | SaigeGetInferenceResultInspectionTime (SaigeInferenceResult result, long long * imreadTime, long long * inferenceTime, long long * postProcessingTime) (Common) 추론 API 실행에 소요된 시간을 밀리초 단위로 받아 옵니다. |
| int | SaigeGetInferenceResultProductId (SaigeInferenceResult result, const char ** productId, unsigned int * length) (Common) 추론 API 실행시 지정하거나, 지정하지 않은 경우 자동으로 생성된 Product ID를 받아 옵니다. |
| int | SaigeInitializeAlignModule (const int gpuIndex, const int sourceWidth, const int sourceHeight, const int targetWidth, const int targetHeight) Saige Alignment 기능을 활성화하는 함수입니다. |
| int | SaigeFinalizeAlignModule () Saige Alignment 기능을 종료하는 함수입니다. 기능에 사용된 GPU 메모리를 해제합니다. |
| int | SaigeAlignImageFromByteArray (const unsigned char * sourceImage, const int sourceWidth, const int sourceHeight, const int sourceChannel, const unsigned char * targetImage, const int targetWidht, const int targetHeight, const int targetChannel, unsigned int flag, unsigned char * croppedSourceImage) Source 이미지를 Target 이미지에 맞게 위치를 조정하여 Crop하는 함수입니다. |
| int | SaigeAlignImageFromFile (const char * sourceImagePath, const char * targetImagePath, int * cropWidth, int * cropHeight, int * cropChannel, unsigned char * croppedSourceImage) Not Implemented. |
| int | SaigeCreateInferenceHandle (SaigeInferenceHandle * handle, const int projectType, const char * modelFilePath, const int deviceIndex, SaigeHandleConfig * config, const unsigned int flags) 추론 핸들을 생성합니다. |
| int | SaigeDestroyInferenceHandle (SaigeInferenceHandle handle) 추론 핸들을 파괴합니다. |
| int | SaigeCreateInferenceResult (SaigeInferenceResult * result) 결과 핸들을 생성합니다. |
| int | SaigeDestroyInferenceResult (SaigeInferenceResult result) 결과 핸들을 파괴합니다. |
| int | SaigeGetModelInfo (SaigeInferenceHandle handle, SaigeModelInfo * info) 추론 핸들로부터 모델 정보를 받아 옵니다. |
| int | SaigeSetInferenceOption (SaigeInferenceHandle handle, SaigeInferenceOption * option, const unsigned int flags) 추론 옵션값을 추론 핸들에 설정합니다. |
| int | SaigeGetInferenceOption (SaigeInferenceHandle handle, SaigeInferenceOption * option) 추론 핸들로부터 추론 옵션값을 받아 옵니다. |
| const char * | SaigeStrError (const int errnum) SaigeVision의 에러코드에 대응하는 메시지를 받아 옵니다. |
| const char * | SaigeGetModuleVersion () SaigeVision에서 사용하는 모듈 버전을 받아 옵니다. |
| int | SaigeSetHandleMetadata (SaigeInferenceHandle handle, const char * key, const char * value) 데이터가 수집되는 경우 수집된 이미지에 대한 메타데이터를 설정합니다. 한 번 설정하면 계속 유지됩니다. |
| int | SaigeSetInferenceMetadata (SaigeInferenceResult result, const char * key, const char * value) 데이터가 수집되는 경우, 수집된 이미지에 대한 일회성 메타데이터를 설정합니다. |
| int | SaigeSetResultMetadata (SaigeInferenceResult result, const char * key, const char * value) 데이터가 수집되는 경우, 수집된 이미지에 대한 일회성 검사 결과 메타데이터를 설정합니다. |
Macros¶
| Type | Name |
|---|---|
| define | SAIGE_WRITE_ON_MODEL_FILE 0x01 (Common) SaigeSetInferenceOption 으로 추론 옵션값을 설정할 때, 이 플래그를 함께 사용하면 해당 옵션값들이 모델 파일에도 저장됩니다. |
| define | SAIGE_SET_CALC_TIME 0x2 (Common) calcTime 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_OVERSIZED_IMAGE_HANDLING 0x4 (SEG, OCR, IEN) oversizedImageHandling 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_ADDITIONAL_SCORES 0x8 (CLS) additionalScores 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_CALC_CLASS_ACTIVATION_MAP 0x10 (CLS) calcClassActivationMap 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_MAX_NUM_OF_DETECTED_OBJECTS 0x20 (DET) maxNumOfDetectedObjects 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_CALC_SCOREMAP 0x40 (SEG) calcScoremap 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_CALC_OBJECT 0x80 (SEG, IAD) calcObject 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_CALC_OBJECT_AREA_AND_APPLY_THRESHOLD 0x100 (SEG, IAD) calcObjectAreaAndApplyThreshold 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_CALC_OBJECT_SCORE_AND_APPLY_THRESHOLD 0x200 (SEG, IAD) calcObjectScoreAndApplyThreshold 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_OBJECT_BOUNDARY_THRESHOLD 0x400 (SEG, IAD) SEG에서는 objectBoundaryThresholdPerClass 옵션을, IAD에서는 objectBoundaryThreshold 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_OBJECT_AREA_THRESHOLD 0x800 (SEG, DET, IAD) SEG, DET에서는 objectAreaThresholdPerClass 옵션을, IAD에서는 objectAreaThreshold 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_OBJECT_SCORE_THRESHOLD 0x1000 (SEG, DET, IAD) SEG, DET에서는 objectScoreThresholdPerClass 옵션을, IAD에서는 objectScoreThreshold 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_CALC_MASK 0x2000 (SEG, IAD) calcMask 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_CALC_HEATMAP 0x4000 (IAD) calcHeatmap 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_ANOMALY_SCORE_THRESHOLD 0x8000 (IAD) anomalyScoreThreshold 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_HEATMAP_COLOR_RANGE 0x10000 (IAD) heatmapColorRangeMin, heatmapColorRangeMax 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_POLYGON_SCORE_THRESHOLD 0x20000 (OCR) polygonScoreThreshold 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_TEXT_SIZE_RANGE 0x40000 (OCR) textSizeRangeMin, textSizeRangeMax 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_NUM_OF_TEXT_OBJECTS 0x80000 (OCR) maxNumOfTextObjects 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_TEXT_SCORE_THRESHOLD 0x100000 (OCR) textScoreThreshold 옵션을 설정하는 플래그입니다. |
| define | SAIGE_SET_TEXT_FORMATTING 0x200000 (OCR) textFormatting 옵션을 설정하는 플래그입니다. |
| define | SAIGE_IMAGE_COLOR 0x01 컬러 이미지 데이터임을 나타내는 플래그입니다. |
| define | SAIGE_IMAGE_16BIT 0x02 16 Bit Per Channel 이미지임을 나타내는 플래그입니다. |
| define | SAIGE_IMAGE_ALPHA 0x04 Alpha 채널을 가지는 데이터임을 나타내는 플래그입니다. |
| define | SAIGE_IMAGE_BGR 0x08 채널의 컬러 순서가 Blue, Green, Red 순서인 데이터임을 나타내는 플래그입니다. |
| define | SAIGE_IMAGE_8BIT_GRAY 0x00 8-bit 회색조 이미지 데이터임을 나타내는 매크로입니다. 1 Channel, Width x Height 크기의 배열입니다. |
| define | SAIGE_IMAGE_24BIT_RGB (SAIGE_IMAGE_COLOR) 24-bit RGB 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (3) 크기의 배열이며, 채널 순서는 R, G, B 입니다. |
| define | SAIGE_IMAGE_24BIT_BGR (SAIGE_IMAGE_COLOR | SAIGE_IMAGE_BGR) 24-bit BGR 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (3) 크기의 배열이며, 채널 순서는 B, G, R 입니다. |
| define | SAIGE_IMAGE_32BIT_RGBA (SAIGE_IMAGE_COLOR | SAIGE_IMAGE_ALPHA) 32-bit RGBA 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (4) 크기의 배열이며, 채널 순서는 R, G, B, A 입니다. |
| define | SAIGE_IMAGE_32BIT_BGRA (SAIGE_IMAGE_COLOR | SAIGE_IMAGE_ALPHA | SAIGE_IMAGE_BGR) 32-bit BGRA 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (4) 크기의 배열이며, 채널 순서는 B, G, R, A 입니다. |
| define | SAIGE_IMAGE_16BIT_GRAY (SAIGE_IMAGE_16BIT) 16-bit 회색조 이미지 데이터임을 나타내는 매크로입니다. 1 Channel, Width x Height 크기의 배열입니다. 픽셀 당 2바이트를 사용하는 unsigned short 타입입니다. |
| define | SAIGE_IMAGE_48BIT_RGB (SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT) 48-bit RGB 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (3) 크기의 배열이며, 채널 순서는 R, G, B 입니다. 픽셀 당 2바이트를 사용하는 unsigned short 타입입니다. |
| define | SAIGE_IMAGE_48BIT_BGR (SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT | SAIGE_IMAGE_BGR) 48-bit BGR 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (3) 크기의 배열이며, 채널 순서는 B, G, R 입니다. 픽셀 당 2바이트를 사용하는 unsigned short 타입입니다. |
| define | SAIGE_IMAGE_64BIT_RGBA (SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT | SAIGE_IMAGE_ALPHA) 64-bit RGBA 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (4) 크기의 배열이며, 채널 순서는 R, G, B, A 입니다. 픽셀 당 2바이트를 사용하는 unsigned short 타입입니다. |
| define | SAIGE_IMAGE_64BIT_BGRA (SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT | SAIGE_IMAGE_ALPHA | SAIGE_IMAGE_BGR) 64-bit BGRA 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (4) 크기의 배열이며, 채널 순서는 B, G, R, A 입니다. 픽셀 당 2바이트를 사용하는 unsigned short 타입입니다. |
| define | SAIGEVISION_RUNTIME_VERSION_MAJOR 2 SAIGE VISION Runtime C/C++ SDK의 Major 버전 |
| define | SAIGEVISION_RUNTIME_VERSION_MINOR 12 SAIGE VISION Runtime C/C++ SDK의 Minor 버전 |
| define | SAIGEVISION_RUNTIME_VERSION_PATCH 3 SAIGE VISION Runtime C/C++ SDK의 Patch 버전 |
| define | SV_STR (x) #x |
| define | SV_VER (M, m, p) SV_STR(M) "." SV_STR(m) "." SV_STR(p) |
| define | SAIGEVISION_RUNTIME_VERSION "2.12.3" SaigeVision Runtime C/C++ SDK의 버전입니다. (폐기 예정) 가급적이면 MAJOR, MINOR, PATCH 버전을 사용해주시기 바랍니다. |
| define | SAIGE_SET_BATCH_SIZE 0x01 (CLS, DET, SEG, IAD) 배치 사이즈를 설정하는 플래그입니다. 배치 추론 API를 사용하는 경우에 적용됩니다. |
| define | SAIGE_SET_INSPECTION_SIZE 0x02 (SEG, OCR) 추론할 때의 이미지 너비와 높이를 설정하는 플래그입니다. |
| define | SAIGE_OPTIMIZE_HANDLE 0x04 (Common) 추론 핸들에 최적화를 적용하는 플래그입니다. 추론 최적화를 적용하면 추론 시간이 단축되지만, 추론 결과가 약간 달라질 수 있습니다. |
| define | SAIGE_DO_NOT_INSPECT "do_not_inspect" (SEG) oversizedImageHandling 옵션 중 하나로, 이 값으로 설정 시 추론을 수행하지 않고 에러를 일으킵니다. |
| define | SAIGE_DO_NOT_ENHANCE "do_not_enhance" (IEN) oversizedImageHandling 옵션 중 하나로, 이 값으로 설정 시 추론을 수행하지 않고 에러를 일으킵니다. |
| define | SAIGE_RESIZE_TO_FIT "resize_to_fit" (SEG) oversizedImageHandling 옵션 중 하나로, 이 값으로 설정 시 이미지의 가로-세로 비율을 유지하면서 inspection size 보다는 크지 않게 이미지를 리사이즈하여 추론을 수행합니다. |
| define | SAIGE_CROP_INTO_TILES "crop_into_tiles" (SEG, IEN) oversizedImageHandling 옵션 중 하나로, 이 값으로 설정 시 inspection size로 이미지를 크롭하여 패치마다 추론을 수행한 뒤 패치별 결과를 합쳐 내보냅니다. |
Public Types Documentation¶
SaigeInferenceHandle¶
추론에 필요한 정보를 다루고 추론을 수행하는 데 사용되는 매개체입니다.
void * SaigeInferenceHandle;
See also: SaigeCreateInferenceHandle, SaigeDestroyInferenceHandle
SaigeInferenceResult¶
추론 결과를 다루는 데 사용되는 매개체입니다.
void * SaigeInferenceResult;
Public Attributes Documentation¶
kProjectTypeCLS¶
Classification 프로젝트를 나타내는 상수입니다.
constexpr int kProjectTypeCLS;
kProjectTypeDET¶
Detection 프로젝트를 나타내는 상수입니다.
constexpr int kProjectTypeDET;
kProjectTypeSEG¶
Segmentation 프로젝트를 나타내는 상수입니다.
constexpr int kProjectTypeSEG;
kProjectTypeIAD¶
Anomaly Detection 프로젝트를 나타내는 상수입니다.
constexpr int kProjectTypeIAD;
kProjectTypeOCR¶
OCR 프로젝트를 나타내는 상수입니다.
constexpr int kProjectTypeOCR;
kProjectTypeIEN¶
IEN 프로젝트를 나타내는 상수입니다.
constexpr int kProjectTypeIEN;
kMaxLenOfClassName¶
클래스 이름의 최대 길이를 나타내는 상수입니다.
constexpr int kMaxLenOfClassName;
kMaxNumOfClasses¶
클래스 개수의 최댓값을 나타내는 상수입니다.
constexpr int kMaxNumOfClasses;
kMaxLenOfModelName¶
모델 이름의 최대 길이를 나타내는 상수입니다.
constexpr int kMaxLenOfModelName;
kMaxLenOfCameraName¶
MLOps 기능 반영 시 안내 예정.
constexpr int kMaxLenOfCameraName;
kMaxLenOfTrainedVersion¶
버전 정보 문자열의 최대 길이를 나타내는 상수입니다.
constexpr int kMaxLenOfTrainedVersion;
kMaxLenOfToolName¶
MLOps 기능 반영 시 안내 예정.
constexpr int kMaxLenOfToolName;
kMaxLenOfTextFormatting¶
(OCR) 인식할 수 있는 글자의 최대 길이입니다. 하나의 SaigeTextObject 에 인식된 글자는 이 길이를 넘을 수 없습니다.
constexpr int kMaxLenOfTextFormatting;
Public Functions Documentation¶
SaigeInferFromImageFile¶
이미지 경로를 입력하여 추론을 수행합니다.
int SaigeInferFromImageFile (
SaigeInferenceHandle handle,
const char * imagePath,
SaigeInferenceResult result
)
Parameters:
handle추론을 수행할 추론 핸들입니다.imagePath추론을 수행할 이미지의 경로입니다. 사용 가능한 확장자는jpg,jpeg,png,ppm,bmp,pgm,tif,tiff,webp입니다.result추론 결과를 담을 결과 핸들입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeInferFromByteArray¶
한 장의 이미지 데이터를 입력하여 추론을 수행합니다. 3채널 컬러 이미지의 경우 RGB 순서가 연산속도에 약간 유리합니다. 실시간 검사에서 이미지 취득이 RGB로 가능한 경우 RGB를 권장합니다. SaigeGetImageData 함수는 항상 RGB로 이미지 파일을 로드합니다.
int SaigeInferFromByteArray (
SaigeInferenceHandle handle,
const unsigned char * imageData,
const int width,
const int height,
const unsigned int flags,
SaigeInferenceResult result
)
Parameters:
handle추론을 수행할 추론 핸들입니다.imageData추론을 수행할 이미지 데이터입니다.width이미지 데이터의 너비입니다.height이미지 데이터의 높이입니다.flags이미지의 색상 및 비트 수를 설정하는 플래그입니다.result추론 결과를 담을 결과 핸들입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
See also: SAIGE_IMAGE_8BIT_GRAY, SAIGE_IMAGE_24BIT_RGB
SaigeInferFromByteArrayWithProductId¶
한 장의 이미지 데이터를 입력하여 추론을 수행합니다.SaigeInferFromByteArray 와 동일하며 입력으로 productId를 추가로 받습니다. productId는 이용자가 설정한 검사대상의 식별자입니다.
int SaigeInferFromByteArrayWithProductId (
SaigeInferenceHandle handle,
const unsigned char * imageData,
const int width,
const int height,
const unsigned int flags,
const char * productId,
SaigeInferenceResult result
)
Parameters:
handle추론을 수행할 추론 핸들입니다.imageData추론을 수행할 이미지 데이터입니다.width이미지 데이터의 너비입니다.height이미지 데이터의 높이입니다.flags이미지의 색상 및 비트 수를 설정하는 플래그입니다.productId추론을 수행할 제품의 ID입니다.result추론 결과를 담을 결과 핸들입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
See also: SAIGE_IMAGE_8BIT_GRAY, SAIGE_IMAGE_24BIT_RGB
SaigeInferFromMultipleByteArray¶
크기가 같은 이미지 데이터를 여러 장 입력하여 배치 추론을 수행합니다.
int SaigeInferFromMultipleByteArray (
SaigeInferenceHandle handle,
const int numOfImages,
const unsigned char ** imageData,
const int width,
const int height,
const unsigned int flags,
SaigeInferenceResult * results
)
Parameters:
handle추론을 수행할 추론 핸들입니다.numOfImages추론을 수행할 이미지 데이터의 개수입니다.imageData추론을 수행할 이미지 데이터입니다.width이미지 데이터의 너비입니다.height이미지 데이터의 높이입니다.flags이미지의 색상 및 비트 수를 설정하는 플래그입니다.results추론 결과를 담을 결과 핸들의 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
See also: SAIGE_IMAGE_24BIT_RGB, SaigeHandleConfig::batchSize
SaigeInferFromMultiPageByteArray¶
여러 페이지의 이미지 데이터를 입력하여 추론을 수행합니다.
int SaigeInferFromMultiPageByteArray (
SaigeInferenceHandle handle,
const int numOfPages,
const unsigned char ** imageData,
const int width,
const int height,
const int * channels,
const unsigned int flags,
SaigeInferenceResult result
)
Parameters:
handle추론을 수행할 추론 핸들입니다.numOfPages이미지 데이터의 페이지 수입니다.imageData이미지 데이터 배열입니다.width이미지 데이터의 너비입니다.height이미지 데이터의 높이입니다.channels이미지 데이터의 채널 수 배열입니다. 각 페이지의 채널 수를 나타냅니다.flags이미지의 색상 및 비트 수를 설정하는 플래그입니다.result추론 결과를 담을 결과 핸들입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultScore¶
(CLS) 클래스별 score 값이 담긴 배열을 받아 옵니다.
int SaigeGetInferenceResultScore (
SaigeInferenceResult result,
float * scores,
bool includeAddScore
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.scores[out] 클래스별 score 값이 담긴 배열입니다.includeAddScoretrue로 설정 시 additional score가 반영된 score 값을 받아 오며,false일 시 원본 score 값을 받아 옵니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultClass¶
(CLS) Additional score 까지 반영된 클래스별 최종 score 값 중 가장 값이 큰 인덱스를 받아 옵니다.
int SaigeGetInferenceResultClass (
SaigeInferenceResult result,
int * classIndex
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.classIndex[out] Score 값이 가장 큰 클래스의 인덱스입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultClassActivationMap¶
(CLS) Class activation map 배열을 받아 옵니다.
int SaigeGetInferenceResultClassActivationMap (
SaigeInferenceResult result,
unsigned char ** classActivationMap
)
- Class activation map은 딥러닝 모델이 이미지를 특정 클래스로 분류할 때 이미지의 어떤 영역이 얼마나 영향을 끼쳤는지 나타내는 heatmap입니다.
- 픽셀 값은 0 ~ 255 범위의 정수로 표시되며 값이 큰 픽셀일수록 분류 결과에 큰 영향을 끼쳤다고 볼 수 있습니다.
- 형상은 (원본 이미지 높이
H, 원본 이미지 너비W)입니다. - 코드상에서는 싱글 포인터로 표현되는 1차원 배열이며 행 우선 방식을 따릅니다. 즉
i번째 행,j번째 열의 값은data[W*i + j]입니다.
Parameters:
result추론 결과가 담긴 결과 핸들입니다.classActivationMap[out] Class activation map 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultNumOfDetectedObjects¶
(DET) 검출된 detected object의 개수를 받아 옵니다.
int SaigeGetInferenceResultNumOfDetectedObjects (
SaigeInferenceResult result,
int * numOfObjects
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.numOfObjects[out] 검출된 detected object의 개수입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultDetectedObjects¶
(DET) 검출된 detected object의 배열을 받아 옵니다.
int SaigeGetInferenceResultDetectedObjects (
SaigeInferenceResult result,
SaigeDetectedObject * detectedObjects
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.detectedObjects[out] 검출된 detected object의 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultNumOfSegmentedObjects¶
(IAD, SEG) 검출된 segmented object의 개수를 받아 옵니다.
int SaigeGetInferenceResultNumOfSegmentedObjects (
SaigeInferenceResult result,
int * num
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.num[out] 검출된 segmented object의 개수입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultSegmentedObjects¶
(IAD, SEG) 검출된 segmented object의 배열을 받아 옵니다.
int SaigeGetInferenceResultSegmentedObjects (
SaigeInferenceResult result,
SaigeSegmentedObject * segObjects
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.segObjects[out] 검출된 segmented object의 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultMask¶
(IAD, SEG) Mask 배열을 받아 옵니다.
int SaigeGetInferenceResultMask (
SaigeInferenceResult result,
unsigned char ** mask
)
- (IAD) 정상으로 분류된 픽셀은 0, 비정상으로 분류된 픽셀은 1로 표시됩니다.
- (SEG)
OK클래스로 분류된 픽셀은 0, 다른 클래스로 분류된 픽셀은 해당 클래스 인덱스 값으로 표시됩니다. - 형상은 (원본 이미지 높이
H, 원본 이미지 너비W)입니다. - 코드상에서는 싱글 포인터로 표현되는 1차원 배열이며 행 우선 방식을 따릅니다. 즉
i번째 행,j번째 열의 값은data[W*i + j]입니다.
Parameters:
result추론 결과가 담긴 결과 핸들입니다.mask[out] Mask 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultScoremapSEG¶
(SEG) Scoremap 배열을 받아 옵니다.
int SaigeGetInferenceResultScoremapSEG (
SaigeInferenceResult result,
unsigned char ** scoremap
)
- SEG의 scoremap으로 IAD의 scoremap과는 다릅니다.
- 형상은 (
OK를 포함하는 클래스 개수, 원본 이미지 높이H, 원본 이미지 너비W)입니다. - 이미지의
i번째 행,j번째 열 픽셀이c번째 클래스로 예측되었다면,(c, i, j)픽셀에 해당 클래스로 예측한 score 값이 0 ~ 255 범위의 정수로 표시됩니다. - 코드상에서는 싱글 포인터로 표현되는 1차원 배열이며 행 우선 방식을 따릅니다. 즉
c번째 클래스,i번째 행,j번째 열의 값은data[W*H*c + W*i + j]로 얻을 수 있습니다.
Parameters:
result추론 결과가 담긴 결과 핸들입니다.scoremap[out] Scoremap 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultIsOversized¶
(SEG) 추론에 입력한 이미지의 크기가 SaigeHandleConfig에서 지정한 inspection size보다 컸는지 여부를 받아 옵니다.
int SaigeGetInferenceResultIsOversized (
SaigeInferenceResult result,
bool * isOversized
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.isOversized[out]true면 입력 이미지 크기가 inspection size보다 컸음을,false면 입력 이미지 크기가 inspection size보다 크지 않았음을 나타냅니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
See also: SaigeHandleConfig.inspectionSizeWidth, SaigeHandleConfig.inspectionSizeHeight, SaigeInferenceOption.oversizedImageHandling
SaigeGetInferenceResultAnomalyScores¶
(IAD) 세 가지 score를 받아 옵니다.
int SaigeGetInferenceResultAnomalyScores (
SaigeInferenceResult result,
double * anomalyScore,
double * minScore,
double * maxScore
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.anomalyScore[out] 이미지의 대표 anomaly score입니다.minScore[out] 이미지의 픽셀별 score 중 최솟값입니다.maxScore[out] 이미지의 픽셀별 score 중 최댓값입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultIsNg¶
(IAD) 이미지의 정상/비정상 판별 결과를 받아 옵니다.
int SaigeGetInferenceResultIsNg (
SaigeInferenceResult result,
bool * isNg
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.isNg[out] 정상/비정상 판별 결과입니다.true면 비정상 이미지임을,false면 정상 이미지임을 나타냅니다.
SaigeGetInferenceResultScoremapIAD¶
(IAD) Scoremap 배열을 받아 옵니다.
int SaigeGetInferenceResultScoremapIAD (
SaigeInferenceResult result,
float ** scoremap
)
- IAD의 scoremap으로 SEG의 scoremap과는 다릅니다.
- 픽셀별 score 값이 0 이상의 실수로 표시됩니다.
- 형상은 (원본 이미지 높이
H, 원본 이미지 너비W)입니다. - 코드상에서는 싱글 포인터로 표현되는 1차원 배열이며 행 우선 방식을 따릅니다. 즉
i번째 행,j번째 열의 값은data[W*i + j]입니다.
Parameters:
result추론 결과가 담긴 결과 핸들입니다.scoremap[out] Scoremap 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultHeatmap¶
(IAD) Heatmap 배열을 받아 옵니다.
int SaigeGetInferenceResultHeatmap (
SaigeInferenceResult result,
float ** heatmap
)
- Scoremap을
heatmapColorRangeMin과heatmapColorRangeMax사이로 노멀라이징한 배열입니다. 각 픽셀 값은 0 ~ 1 범위의 실수로 표시됩니다. - 형상은 (원본 이미지 높이
H, 원본 이미지 너비W)입니다. - 코드상에서는 싱글 포인터로 표현되는 1차원 배열이며 행 우선 방식을 따릅니다. 즉
i번째 행,j번째 열의 값은data[W*i + j]입니다.
Parameters:
result추론 결과가 담긴 결과 핸들입니다.heatmap[out] Heatmap 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultNumOfTextObjects¶
(OCR) 검사 이미지에서 검출된 텍스트 영역의 개수를 받아 옵니다.
int SaigeGetInferenceResultNumOfTextObjects (
SaigeInferenceResult result,
int * num
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.num[out] 검출된 텍스트 영역의 개수입니다.
Returns:
errorCode 정상 작동시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultTextObjects¶
(OCR) 검출된 텍스트 영역인 SaigeTextObject들을 받아 옵니다.
int SaigeGetInferenceResultTextObjects (
SaigeInferenceResult result,
SaigeTextObject * textObjects
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.textObjects[out] 결과 SaigeTextObject 배열입니다. SaigeGetInferenceResultNumOfTextObjects 에서 반환된 개수 이상 할당되어있어야 합니다.
Returns:
errorCode 정상 작동시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
See also: SaigeTextObject
SaigeGetInferenceResultEnhancedImage¶
(IEN) 향상된 품질의 이미지를 받아 옵니다.
int SaigeGetInferenceResultEnhancedImage (
SaigeInferenceResult result,
unsigned char ** image
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.image[out] 이미지를 저장할 주소입니다.
Returns:
errorCode 정상 작동시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultInspectionTime¶
(Common) 추론 API 실행에 소요된 시간을 밀리초 단위로 받아 옵니다.
int SaigeGetInferenceResultInspectionTime (
SaigeInferenceResult result,
long long * imreadTime,
long long * inferenceTime,
long long * postProcessingTime
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.imreadTime[out] 이미지를 읽는 시간입니다.inferenceTime[out] 이미지 전처리 및 딥러닝 추론에 소요된 시간입니다.postProcessingTime[out] 후처리 시간입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeGetInferenceResultProductId¶
(Common) 추론 API 실행시 지정하거나, 지정하지 않은 경우 자동으로 생성된 Product ID를 받아 옵니다.
int SaigeGetInferenceResultProductId (
SaigeInferenceResult result,
const char ** productId,
unsigned int * length
)
Parameters:
result추론 결과가 담긴 결과 핸들입니다.productId[out] 받아올 Product ID 문자열의 포인터입니다.length[out] 받아올 Product ID 문자열의 길이입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeInitializeAlignModule¶
Saige Alignment 기능을 활성화하는 함수입니다.
int SaigeInitializeAlignModule (
const int gpuIndex,
const int sourceWidth,
const int sourceHeight,
const int targetWidth,
const int targetHeight
)
Alignment 기능은 Source 이미지를 Target 이미지에 맞게 위치를 조정하여 Crop하는 기능입니다. 따라서, Source 이미지가 Target 이미지보다 크기가 커야 합니다.
Parameters:
gpuIndexGPU를 사용하는 기능이며, 사용할 GPU의 인덱스입니다.sourceWidthsourceHeighttargetWidthtargetHeight
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeFinalizeAlignModule¶
Saige Alignment 기능을 종료하는 함수입니다. 기능에 사용된 GPU 메모리를 해제합니다.
int SaigeFinalizeAlignModule ()
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeAlignImageFromByteArray¶
Source 이미지를 Target 이미지에 맞게 위치를 조정하여 Crop하는 함수입니다.
int SaigeAlignImageFromByteArray (
const unsigned char * sourceImage,
const int sourceWidth,
const int sourceHeight,
const int sourceChannel,
const unsigned char * targetImage,
const int targetWidht,
const int targetHeight,
const int targetChannel,
unsigned int flag,
unsigned char * croppedSourceImage
)
Source 이미지가 Target 이미지에 맞게 가로, 세로가 Crop되기 때문에 croppedSourceImage의 크기는 targetWidth * targetHeight * sourceChannel이어야 합니다.
Parameters:
sourceImageSource 이미지의 바이트 배열입니다.sourceWidthSource 이미지의 너비입니다.sourceHeightSource 이미지의 높이입니다.sourceChannelSource 이미지의 채널입니다.targetImageTarget 이미지의 바이트 배열입니다.targetWidhtTarget 이미지의 너비입니다.targetHeightTarget 이미지의 높이입니다.targetChannelTarget 이미지의 채널입니다.flagCrop된 Source 이미지의 테두리를 검출할지 여부입니다.croppedSourceImageCrop된 Source 이미지의 바이트 배열입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
SaigeAlignImageFromFile¶
Not Implemented.
int SaigeAlignImageFromFile (
const char * sourceImagePath,
const char * targetImagePath,
int * cropWidth,
int * cropHeight,
int * cropChannel,
unsigned char * croppedSourceImage
)
SaigeCreateInferenceHandle¶
추론 핸들을 생성합니다.
int SaigeCreateInferenceHandle (
SaigeInferenceHandle * handle,
const int projectType,
const char * modelFilePath,
const int deviceIndex,
SaigeHandleConfig * config,
const unsigned int flags
)
원하는 작업에 맞게 프로젝트 타입과 모델 파일 경로를 올바르게 설정해 주시기 바랍니다. 설정한 프로젝트 타입과 모델 파일이 가진 프로젝트 정보가 일치하지 않을 시 에러가 발생합니다.
Parameters:
handle[out]사용할 추론 핸들입니다.projectType프로젝트 타입을 나타내는 정수 값입니다.modelFilePath모델 파일의 경로입니다.deviceIndex추론에 사용할 장치의 인덱스입니다. GPU를 사용할 경우 GPU의 인덱스(0 이상의 정수), CPU를 사용할 경우 -1을 입력합니다.config추론 핸들 설정 사항이 담긴 구조체입니다.flags설정하고자 하는 항목들입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
See also: SaigeInferenceHandle, SaigeHandleConfig, SaigeDestroyInferenceResult
SaigeDestroyInferenceHandle¶
추론 핸들을 파괴합니다.
int SaigeDestroyInferenceHandle (
SaigeInferenceHandle handle
)
Parameters:
handle사용을 마친 추론 핸들입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
See also: SaigeInferenceHandle, SaigeCreateInferenceHandle
SaigeCreateInferenceResult¶
결과 핸들을 생성합니다.
int SaigeCreateInferenceResult (
SaigeInferenceResult * result
)
Parameters:
result[out] 사용할 결과 핸들입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
See also: SaigeInferenceResult, SaigeDestroyInferenceResult
SaigeDestroyInferenceResult¶
결과 핸들을 파괴합니다.
int SaigeDestroyInferenceResult (
SaigeInferenceResult result
)
Parameters:
result사용을 마친 결과 핸들입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
See also: SaigeInferenceResult, SaigeCreateInferenceResult
SaigeGetModelInfo¶
추론 핸들로부터 모델 정보를 받아 옵니다.
int SaigeGetModelInfo (
SaigeInferenceHandle handle,
SaigeModelInfo * info
)
Parameters:
handle정보를 가져올 추론 핸들입니다.info[out] 모델 정보를 담을 구조체입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
See also: SaigeModelInfo
SaigeSetInferenceOption¶
추론 옵션값을 추론 핸들에 설정합니다.
int SaigeSetInferenceOption (
SaigeInferenceHandle handle,
SaigeInferenceOption * option,
const unsigned int flags
)
Parameters:
handle사용할 추론 핸들입니다.option설정하고자 하는 옵션값이 담긴 구조체입니다.flags새롭게 설정하고자 하는 옵션 항목들입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
See also: SaigeInferenceOption
SaigeGetInferenceOption¶
추론 핸들로부터 추론 옵션값을 받아 옵니다.
int SaigeGetInferenceOption (
SaigeInferenceHandle handle,
SaigeInferenceOption * option
)
Parameters:
handle옵션값을 가져올 추론 핸들입니다.option[out] 옵션값을 담을 구조체입니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.
See also: SaigeInferenceOption
SaigeStrError¶
SaigeVision의 에러코드에 대응하는 메시지를 받아 옵니다.
const char * SaigeStrError (
const int errnum
)
Parameters:
errnum에러코드입니다.
Returns:
errorMessage 에러코드에 대응하는 메시지를 리턴합니다.
SaigeGetModuleVersion¶
SaigeVision에서 사용하는 모듈 버전을 받아 옵니다.
const char * SaigeGetModuleVersion ()
Returns:
형식: (기능)버전; (기능)버전; ...
SaigeSetHandleMetadata¶
데이터가 수집되는 경우 수집된 이미지에 대한 메타데이터를 설정합니다. 한 번 설정하면 계속 유지됩니다.
int SaigeSetHandleMetadata (
SaigeInferenceHandle handle,
const char * key,
const char * value
)
Parameters:
handle추론 핸들입니다.key메타데이터의 키 입니다. 모니터링 시스템에서 설정된 키만 반영 됩니다.value메타데이터의 값 입니다. 모니터링 시스템에서 설정된 타입으로 해석됩니다.
SaigeSetInferenceMetadata¶
데이터가 수집되는 경우, 수집된 이미지에 대한 일회성 메타데이터를 설정합니다.
int SaigeSetInferenceMetadata (
SaigeInferenceResult result,
const char * key,
const char * value
)
Parameters:
result추론 결과 핸들입니다.key메타데이터의 키 입니다. 모니터링 시스템에서 설정된 키만 반영 됩니다.value메타데이터의 값 입니다. 모니터링 시스템에서 설정된 타입으로 해석됩니다.
SaigeSetResultMetadata¶
데이터가 수집되는 경우, 수집된 이미지에 대한 일회성 검사 결과 메타데이터를 설정합니다.
int SaigeSetResultMetadata (
SaigeInferenceResult result,
const char * key,
const char * value
)
Parameters:
result추론 결과 핸들입니다.key메타데이터의 키 입니다. 모니터링 시스템에서 설정된 키만 반영 됩니다.value메타데이터의 값 입니다. 모니터링 시스템에서 설정된 타입으로 해석됩니다.
Macro Definition Documentation¶
SAIGE_WRITE_ON_MODEL_FILE¶
(Common) SaigeSetInferenceOption 으로 추론 옵션값을 설정할 때, 이 플래그를 함께 사용하면 해당 옵션값들이 모델 파일에도 저장됩니다.
#define SAIGE_WRITE_ON_MODEL_FILE 0x01
SAIGE_SET_CALC_TIME¶
(Common) calcTime 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_CALC_TIME 0x2
See also: SaigeInferenceOption::calcTime
SAIGE_SET_OVERSIZED_IMAGE_HANDLING¶
(SEG, OCR, IEN) oversizedImageHandling 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_OVERSIZED_IMAGE_HANDLING 0x4
See also: SaigeInferenceOption::oversizedImageHandling
SAIGE_SET_ADDITIONAL_SCORES¶
(CLS) additionalScores 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_ADDITIONAL_SCORES 0x8
See also: SaigeInferenceOption::additionalScores
SAIGE_SET_CALC_CLASS_ACTIVATION_MAP¶
(CLS) calcClassActivationMap 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_CALC_CLASS_ACTIVATION_MAP 0x10
See also: SaigeInferenceOption::calcClassActivationMap
SAIGE_SET_MAX_NUM_OF_DETECTED_OBJECTS¶
(DET) maxNumOfDetectedObjects 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_MAX_NUM_OF_DETECTED_OBJECTS 0x20
SAIGE_SET_CALC_SCOREMAP¶
(SEG) calcScoremap 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_CALC_SCOREMAP 0x40
See also: SaigeInferenceOption::calcScoremap
SAIGE_SET_CALC_OBJECT¶
(SEG, IAD) calcObject 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_CALC_OBJECT 0x80
See also: SaigeInferenceOption::calcObject
SAIGE_SET_CALC_OBJECT_AREA_AND_APPLY_THRESHOLD¶
(SEG, IAD) calcObjectAreaAndApplyThreshold 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_CALC_OBJECT_AREA_AND_APPLY_THRESHOLD 0x100
See also: SaigeInferenceOption::calcObjectAreaAndApplyThreshold
SAIGE_SET_CALC_OBJECT_SCORE_AND_APPLY_THRESHOLD¶
(SEG, IAD) calcObjectScoreAndApplyThreshold 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_CALC_OBJECT_SCORE_AND_APPLY_THRESHOLD 0x200
See also: SaigeInferenceOption::calcObjectScoreAndApplyThreshold
SAIGE_SET_OBJECT_BOUNDARY_THRESHOLD¶
(SEG, IAD) SEG에서는 objectBoundaryThresholdPerClass 옵션을, IAD에서는 objectBoundaryThreshold 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_OBJECT_BOUNDARY_THRESHOLD 0x400
See also: SaigeInferenceOption::objectBoundaryThresholdPerClass, SaigeInferenceOption::objectBoundaryThreshold
SAIGE_SET_OBJECT_AREA_THRESHOLD¶
(SEG, DET, IAD) SEG, DET에서는 objectAreaThresholdPerClass 옵션을, IAD에서는 objectAreaThreshold 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_OBJECT_AREA_THRESHOLD 0x800
See also: SaigeInferenceOption::objectAreaThresholdPerClass, SaigeInferenceOption::objectAreaThreshold
SAIGE_SET_OBJECT_SCORE_THRESHOLD¶
(SEG, DET, IAD) SEG, DET에서는 objectScoreThresholdPerClass 옵션을, IAD에서는 objectScoreThreshold 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_OBJECT_SCORE_THRESHOLD 0x1000
See also: SaigeInferenceOption::objectScoreThresholdPerClass, SaigeInferenceOption::objectScoreThreshold
SAIGE_SET_CALC_MASK¶
(SEG, IAD) calcMask 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_CALC_MASK 0x2000
See also: SaigeInferenceOption::calcMask
SAIGE_SET_CALC_HEATMAP¶
(IAD) calcHeatmap 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_CALC_HEATMAP 0x4000
See also: SaigeInferenceOption::calcHeatmap
SAIGE_SET_ANOMALY_SCORE_THRESHOLD¶
(IAD) anomalyScoreThreshold 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_ANOMALY_SCORE_THRESHOLD 0x8000
See also: SaigeInferenceOption::anomalyScoreThreshold
SAIGE_SET_HEATMAP_COLOR_RANGE¶
(IAD) heatmapColorRangeMin, heatmapColorRangeMax 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_HEATMAP_COLOR_RANGE 0x10000
See also: SaigeInferenceOption::heatmapColorRangeMin, SaigeInferenceOption::heatmapColorRangeMax
SAIGE_SET_POLYGON_SCORE_THRESHOLD¶
(OCR) polygonScoreThreshold 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_POLYGON_SCORE_THRESHOLD 0x20000
See also: SaigeInferenceOption::polygonScoreThreshold
SAIGE_SET_TEXT_SIZE_RANGE¶
(OCR) textSizeRangeMin, textSizeRangeMax 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_TEXT_SIZE_RANGE 0x40000
See also: SaigeInferenceOption::textSizeRangeMin, SaigeInferenceOption::textSizeRangeMax
SAIGE_SET_NUM_OF_TEXT_OBJECTS¶
(OCR) maxNumOfTextObjects 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_NUM_OF_TEXT_OBJECTS 0x80000
See also: SaigeInferenceOption::maxNumOfTextObjects
SAIGE_SET_TEXT_SCORE_THRESHOLD¶
(OCR) textScoreThreshold 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_TEXT_SCORE_THRESHOLD 0x100000
See also: SaigeInferenceOption::textScoreThreshold
SAIGE_SET_TEXT_FORMATTING¶
(OCR) textFormatting 옵션을 설정하는 플래그입니다.
#define SAIGE_SET_TEXT_FORMATTING 0x200000
SAIGE_IMAGE_COLOR¶
컬러 이미지 데이터임을 나타내는 플래그입니다.
#define SAIGE_IMAGE_COLOR 0x01
SAIGE_IMAGE_16BIT¶
16 Bit Per Channel 이미지임을 나타내는 플래그입니다.
#define SAIGE_IMAGE_16BIT 0x02
SAIGE_IMAGE_ALPHA¶
Alpha 채널을 가지는 데이터임을 나타내는 플래그입니다.
#define SAIGE_IMAGE_ALPHA 0x04
SAIGE_IMAGE_BGR¶
채널의 컬러 순서가 Blue, Green, Red 순서인 데이터임을 나타내는 플래그입니다.
#define SAIGE_IMAGE_BGR 0x08
SAIGE_IMAGE_8BIT_GRAY¶
8-bit 회색조 이미지 데이터임을 나타내는 매크로입니다. 1 Channel, Width x Height 크기의 배열입니다.
#define SAIGE_IMAGE_8BIT_GRAY 0x00
See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray
SAIGE_IMAGE_24BIT_RGB¶
24-bit RGB 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (3) 크기의 배열이며, 채널 순서는 R, G, B 입니다.
#define SAIGE_IMAGE_24BIT_RGB ( SAIGE_IMAGE_COLOR )
See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray
SAIGE_IMAGE_24BIT_BGR¶
24-bit BGR 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (3) 크기의 배열이며, 채널 순서는 B, G, R 입니다.
#define SAIGE_IMAGE_24BIT_BGR ( SAIGE_IMAGE_COLOR | SAIGE_IMAGE_BGR )
See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray
SAIGE_IMAGE_32BIT_RGBA¶
32-bit RGBA 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (4) 크기의 배열이며, 채널 순서는 R, G, B, A 입니다.
#define SAIGE_IMAGE_32BIT_RGBA ( SAIGE_IMAGE_COLOR | SAIGE_IMAGE_ALPHA )
See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray
SAIGE_IMAGE_32BIT_BGRA¶
32-bit BGRA 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (4) 크기의 배열이며, 채널 순서는 B, G, R, A 입니다.
#define SAIGE_IMAGE_32BIT_BGRA ( SAIGE_IMAGE_COLOR | SAIGE_IMAGE_ALPHA | SAIGE_IMAGE_BGR )
See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray
SAIGE_IMAGE_16BIT_GRAY¶
16-bit 회색조 이미지 데이터임을 나타내는 매크로입니다. 1 Channel, Width x Height 크기의 배열입니다. 픽셀 당 2바이트를 사용하는 unsigned short 타입입니다.
#define SAIGE_IMAGE_16BIT_GRAY ( SAIGE_IMAGE_16BIT )
See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray
SAIGE_IMAGE_48BIT_RGB¶
48-bit RGB 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (3) 크기의 배열이며, 채널 순서는 R, G, B 입니다. 픽셀 당 2바이트를 사용하는 unsigned short 타입입니다.
#define SAIGE_IMAGE_48BIT_RGB ( SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT )
See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray
SAIGE_IMAGE_48BIT_BGR¶
48-bit BGR 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (3) 크기의 배열이며, 채널 순서는 B, G, R 입니다. 픽셀 당 2바이트를 사용하는 unsigned short 타입입니다.
#define SAIGE_IMAGE_48BIT_BGR ( SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT | SAIGE_IMAGE_BGR )
See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray
SAIGE_IMAGE_64BIT_RGBA¶
64-bit RGBA 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (4) 크기의 배열이며, 채널 순서는 R, G, B, A 입니다. 픽셀 당 2바이트를 사용하는 unsigned short 타입입니다.
#define SAIGE_IMAGE_64BIT_RGBA ( SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT | SAIGE_IMAGE_ALPHA )
See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray
SAIGE_IMAGE_64BIT_BGRA¶
64-bit BGRA 컬러 이미지 데이터임을 나타내는 매크로입니다. Width x Height x Channels (4) 크기의 배열이며, 채널 순서는 B, G, R, A 입니다. 픽셀 당 2바이트를 사용하는 unsigned short 타입입니다.
#define SAIGE_IMAGE_64BIT_BGRA ( SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT | SAIGE_IMAGE_ALPHA | SAIGE_IMAGE_BGR )
See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray
SAIGEVISION_RUNTIME_VERSION_MAJOR¶
SAIGE VISION Runtime C/C++ SDK의 Major 버전
#define SAIGEVISION_RUNTIME_VERSION_MAJOR 2
SAIGEVISION_RUNTIME_VERSION_MINOR¶
SAIGE VISION Runtime C/C++ SDK의 Minor 버전
#define SAIGEVISION_RUNTIME_VERSION_MINOR 12
SAIGEVISION_RUNTIME_VERSION_PATCH¶
SAIGE VISION Runtime C/C++ SDK의 Patch 버전
#define SAIGEVISION_RUNTIME_VERSION_PATCH 3
SV_STR¶
#define SV_STR (
x
) #x
SV_VER¶
#define SV_VER (
M,
m,
p
) SV_STR(M) "." SV_STR(m) "." SV_STR(p)
SAIGEVISION_RUNTIME_VERSION¶
SaigeVision Runtime C/C++ SDK의 버전입니다. (폐기 예정) 가급적이면 MAJOR, MINOR, PATCH 버전을 사용해주시기 바랍니다.
#define SAIGEVISION_RUNTIME_VERSION "2.12.3"
SAIGE_SET_BATCH_SIZE¶
(CLS, DET, SEG, IAD) 배치 사이즈를 설정하는 플래그입니다. 배치 추론 API를 사용하는 경우에 적용됩니다.
#define SAIGE_SET_BATCH_SIZE 0x01
SAIGE_SET_INSPECTION_SIZE¶
(SEG, OCR) 추론할 때의 이미지 너비와 높이를 설정하는 플래그입니다.
#define SAIGE_SET_INSPECTION_SIZE 0x02
SAIGE_OPTIMIZE_HANDLE¶
(Common) 추론 핸들에 최적화를 적용하는 플래그입니다. 추론 최적화를 적용하면 추론 시간이 단축되지만, 추론 결과가 약간 달라질 수 있습니다.
#define SAIGE_OPTIMIZE_HANDLE 0x04
SAIGE_DO_NOT_INSPECT¶
(SEG) oversizedImageHandling 옵션 중 하나로, 이 값으로 설정 시 추론을 수행하지 않고 에러를 일으킵니다.
#define SAIGE_DO_NOT_INSPECT "do_not_inspect"
See also: SaigeInferenceOption::oversizedImageHandling
SAIGE_DO_NOT_ENHANCE¶
(IEN) oversizedImageHandling 옵션 중 하나로, 이 값으로 설정 시 추론을 수행하지 않고 에러를 일으킵니다.
#define SAIGE_DO_NOT_ENHANCE "do_not_enhance"
See also: SaigeInferenceOption::oversizedImageHandling
SAIGE_RESIZE_TO_FIT¶
(SEG) oversizedImageHandling 옵션 중 하나로, 이 값으로 설정 시 이미지의 가로-세로 비율을 유지하면서 inspection size 보다는 크지 않게 이미지를 리사이즈하여 추론을 수행합니다.
#define SAIGE_RESIZE_TO_FIT "resize_to_fit"
See also: SaigeInferenceOption::oversizedImageHandling
SAIGE_CROP_INTO_TILES¶
(SEG, IEN) oversizedImageHandling 옵션 중 하나로, 이 값으로 설정 시 inspection size로 이미지를 크롭하여 패치마다 추론을 수행한 뒤 패치별 결과를 합쳐 내보냅니다.
#define SAIGE_CROP_INTO_TILES "crop_into_tiles"