콘텐츠로 이동

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 값이 담긴 배열입니다.
  • includeAddScore true로 설정 시 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:

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:

  • gpuIndex GPU를 사용하는 기능이며, 사용할 GPU의 인덱스입니다.
  • sourceWidth
  • sourceHeight
  • targetWidth
  • targetHeight

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:

  • sourceImage Source 이미지의 바이트 배열입니다.
  • sourceWidth Source 이미지의 너비입니다.
  • sourceHeight Source 이미지의 높이입니다.
  • sourceChannel Source 이미지의 채널입니다.
  • targetImage Target 이미지의 바이트 배열입니다.
  • targetWidht Target 이미지의 너비입니다.
  • targetHeight Target 이미지의 높이입니다.
  • targetChannel Target 이미지의 채널입니다.
  • flag Crop된 Source 이미지의 테두리를 검출할지 여부입니다.
  • croppedSourceImage Crop된 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"

See also: SaigeInferenceOption::oversizedImageHandling