콘텐츠로 이동

SaigeVisionUtil.h

Go to the source code of this file.

  • #include "SaigeVisionAPI.h"

SaigeVision 예제를 실행하기 위해 필요한 함수가 정의되어 있습니다. 이미지 데이터 사용, 추론 결과 시각화 등에 사용됩니다.

Public Types

Type Name
enum _SaigeImageType
typedef enum _SaigeImageType SaigeImageType

Public Functions

Type Name
void SaigeInitTextFormatting (SaigeTextFormatting * formatting)
주어진 SaigeTextFormatting의 문자집합 포함 여부 배열의 모든 값을 false로 초기화합니다.
unsigned int SaigeConvertImageType (const int channel, const int type)
이미지 채널과 SaigeImageType을 SaigeInferFromByteArray에서 사용하는 image flag 매크로로 변환합니다.
int SaigeOverlaySegmentedObjects (const void * baseImage, const SaigeSegmentedObject * objects, SaigeModelInfo * modelInfo, const int numOfSegmentedObjects, const int width, const int height, const int channels, const int type, const bool isRGB, const double overlayAlpha, void * resultImage)
(SEG, IAD) 베이스 이미지에 SegmentedObject를 그려 결과 이미지에 저장합니다.
int SaigeOverlayDetectedObjects (const void * baseImage, const SaigeDetectedObject * objects, SaigeModelInfo * modelInfo, const int numOfDetectedObjects, const int width, const int height, const int channels, const int type, const bool withClassName, const bool isRGB, const double overlayAlpha, void * resultImage)
(DET) 베이스 이미지에 DetectedObject의 Bounding Box를 그려 결과 이미지에 저장합니다.
int SaigeOverlayTextObjects (const void * baseImage, const SaigeTextObject * objects, const int numOfTextObjects, const int width, const int height, const int channels, const int type, const bool isRGB, const double overlayAlpha, const double textScale, void * resultImage)
(OCR) 베이스 이미지에 OCR 검사 결과인 SaigeTextObject를 그려 결과 이미지에 저장합니다. 현재 한글은 ? 로 나오며 추후 지원예정입니다.
int SaigeOverlayHeatmap (const void * baseImage, const float * heatmap, const int width, const int height, const int channels, const int type, const bool isRGB, const double overlayAlpha, void * resultImage)
(IAD) 베이스 이미지에 색상을 입힌 Heatmap을 그려 결과 이미지에 저장합니다.
int SaigeShowImage (const void * image, const int width, const int height, const int channels, const int type, const bool isRGB, const bool invert, const double alpha, const int waitMS)
이미지를 별도의 윈도우에 디스플레이합니다.
void * SaigeGetImageData (const char * imagePath, int * width, int * height, int * channels, int * type)
이미지 경로로부터 이미지 데이터를 받아 옵니다. 컬러 이미지의 경우 항상 RGB순서로 받아옵니다.
int SaigeFreeImageData (void * image)
SaigeGetImageData로 받아 온 이미지의 메모리를 해제합니다.
int SaigeColorCodeToRGB (const char * color, unsigned char * r, unsigned char * g, unsigned char * b)
모델에 담긴 클래스 색상 코드를 RGB 값으로 변환합니다.
int SaigeDrawDetectedObjects (const void * image, const SaigeDetectedObject * objects, SaigeModelInfo * modelInfo, const int numOfDetectedObjects, const int width, const int height, const int channels, const int type, const int waitMS)
(DET) 이미지 위에 detected object를 그려 디스플레이합니다.
int SaigeDrawSegmentedObjects (const void * image, const SaigeSegmentedObject * objects, SaigeModelInfo * modelInfo, const int numOfSegmentedObjects, const int width, const int height, const int channels, const int type, const double overlayAlpha, const int waitMS)
(SEG, IAD) 이미지 위에 segmented object를 그려 디스플레이합니다.
int SaigeDrawTextObjects (const void * image, const SaigeTextObject * objects, const int numBoxes, const int width, const int height, const int channels, const int type, const int waitMS)
OCR 검사결과인 SaigeTextObject를 이미지 위에 디스플레이합니다. 현재 한글은 ? 로 나오며 추후 지원예정입니다.
int SaigeDrawHeatmap (const float * image, const int width, const int height, const int waitMS)
히트맵 이미지를 디스플레이합니다.
int SaigeDrawImage (const void * image, const int width, const int height, const int channels, const double alpha, const int type, const bool invert, const int waitMS)
이미지를 디스플레이합니다.
int SaigeDrawImageOverBase (const void * base_img, const void * img, const int width, const int height, const int channels_base, const int channels_img, const int type_base, const int type_img, const double alpha, const bool invert, const int waitMS)
한 이미지 위에 다른 이미지를 겹쳐 디스플레이합니다.

Public Types Documentation

_SaigeImageType

enum _SaigeImageType {
    SV_U8 = 0,
    SV_U16 = 1,
    SV_F32 = 2,
    SV_F64 = 3,
    SV_FILEPATH = 4
};

SaigeImageType

enum _SaigeImageType SaigeImageType;

Public Functions Documentation

SaigeInitTextFormatting

주어진 SaigeTextFormatting의 문자집합 포함 여부 배열의 모든 값을 false로 초기화합니다.

void SaigeInitTextFormatting (
    SaigeTextFormatting * formatting
) 

Parameters:

  • formatting 설정하고자하는 변수의 포인터입니다.

SaigeConvertImageType

이미지 채널과 SaigeImageType을 SaigeInferFromByteArray에서 사용하는 image flag 매크로로 변환합니다.

unsigned int SaigeConvertImageType (
    const int channel,
    const int type
) 

Parameters:

  • channel 이미지의 채널 수입니다.
  • type 이미지의 데이터 타입입니다. SaigeDrawImage 를 참고해 주세요.

Returns:

imageFlag 변환된 image flag 매크로를 리턴합니다.

SaigeOverlaySegmentedObjects

(SEG, IAD) 베이스 이미지에 SegmentedObject를 그려 결과 이미지에 저장합니다.

int SaigeOverlaySegmentedObjects (
    const void * baseImage,
    const SaigeSegmentedObject * objects,
    SaigeModelInfo * modelInfo,
    const int numOfSegmentedObjects,
    const int width,
    const int height,
    const int channels,
    const int type,
    const bool isRGB,
    const double overlayAlpha,
    void * resultImage
) 

Parameters:

  • baseImage SegmentedObject가 그려질 베이스 이미지 데이터입니다.
  • objects 추론으로 검출된 SegmentedObject의 배열입니다.
  • modelInfo 모델 정보입니다. 클래스 색상 표시에 사용됩니다. null인 경우 빨간색으로 표시됩니다.
  • numOfSegmentedObjects SegmentedObject의 개수입니다.
  • width 베이스, 결과 이미지의 너비입니다.
  • height 베이스, 결과 이미지의 높이입니다.
  • channels 베이스, 결과 이미지의 채널 수입니다.
  • type 이미지의 타입입니다. SaigeImageType 참고
  • overlayAlpha SegmentedObject를 시각화할 때 투명도를 나타내는 값입니다. 범위는 0~1이며 1에 가까울수록 SegmentedObject가 투명하게 그려집니다.
  • resultImage [out] SegmentedObject가 그려진 결과 이미지 데이터입니다.

Returns:

errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.

See also: SaigeGetInferenceResultNumOfSegmentedObjects, SaigeGetInferenceResultSegmentedObjects

SaigeOverlayDetectedObjects

(DET) 베이스 이미지에 DetectedObject의 Bounding Box를 그려 결과 이미지에 저장합니다.

int SaigeOverlayDetectedObjects (
    const void * baseImage,
    const SaigeDetectedObject * objects,
    SaigeModelInfo * modelInfo,
    const int numOfDetectedObjects,
    const int width,
    const int height,
    const int channels,
    const int type,
    const bool withClassName,
    const bool isRGB,
    const double overlayAlpha,
    void * resultImage
) 

Parameters:

  • baseImage DetectedObject가 그려질 베이스 이미지 데이터입니다.
  • objects 추론으로 검출된 DetectedObject의 배열입니다.
  • modelInfo 모델 정보입니다. 클래스 이름과 색상 표시에 사용됩니다. null인 경우 빨간색으로 표시됩니다.
  • numOfDetectedObjects DetectedObject의 개수입니다.
  • width 베이스, 결과 이미지의 너비입니다.
  • height 베이스, 결과 이미지의 높이입니다.
  • channels 베이스, 결과 이미지의 채널 수입니다.
  • type 이미지의 타입입니다. SaigeImageType 참고
  • withClassName true로 설정하면 DetectedObject의 클래스 이름을 함께 표시합니다.
  • isRGB true로 설정하면 이미지 데이터가 RGB 순서로 되어 있음을 나타냅니다.
  • overlayAlpha DetectedObject를 시각화할 때 투명도를 나타내는 값입니다. 범위는 0~1이며 1에 가까울수록 DetectedObject가 투명하게 그려집니다.
  • resultImage [out] DetectedObject가 그려진 결과 이미지 데이터입니다.

Returns:

errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.

See also: SaigeGetInferenceResultNumOfDetectedObjects, SaigeGetInferenceResultDetectedObjects

SaigeOverlayTextObjects

(OCR) 베이스 이미지에 OCR 검사 결과인 SaigeTextObject를 그려 결과 이미지에 저장합니다. 현재 한글은 ? 로 나오며 추후 지원예정입니다.

int SaigeOverlayTextObjects (
    const void * baseImage,
    const SaigeTextObject * objects,
    const int numOfTextObjects,
    const int width,
    const int height,
    const int channels,
    const int type,
    const bool isRGB,
    const double overlayAlpha,
    const double textScale,
    void * resultImage
) 

Parameters:

  • baseImage SaigeTextObject가 그려질 베이스 이미지 데이터입니다.
  • objects 추론으로 검출된 SaigeTextObject의 배열입니다.
  • numOfSaigeTextObject SaigeTextObject의 개수입니다.
  • width 베이스, 결과 이미지의 너비입니다.
  • height 베이스, 결과 이미지의 높이입니다.
  • channels 베이스, 결과 이미지의 채널 수입니다.
  • type 이미지의 타입입니다. SaigeImageType 참고
  • isRGB true로 설정하면 이미지 데이터가 RGB 순서로 되어 있음을 나타냅니다.
  • overlayAlpha SaigeTextObject를 시각화할 때 투명도를 나타내는 값입니다. 범위는 0~1이며 1에 가까울수록 SaigeTextObject가 투명하게 그려집니다.
  • resultImage [out] SaigeTextObject가 그려진 결과 이미지 데이터입니다.

Returns:

errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.

See also: SaigeGetInferenceResultNumOfSaigeTextObject, SaigeGetInferenceResultSaigeTextObject

SaigeOverlayHeatmap

(IAD) 베이스 이미지에 색상을 입힌 Heatmap을 그려 결과 이미지에 저장합니다.

int SaigeOverlayHeatmap (
    const void * baseImage,
    const float * heatmap,
    const int width,
    const int height,
    const int channels,
    const int type,
    const bool isRGB,
    const double overlayAlpha,
    void * resultImage
) 

Parameters:

  • baseImage SaigeHeatmap가 그려질 베이스 이미지 데이터입니다.
  • heatmap 검사 결과로 얻은 Heatmap의 배열입니다.
  • width 베이스, 결과 이미지의 너비입니다.
  • height 베이스, 결과 이미지의 높이입니다.
  • channels 베이스, 결과 이미지의 채널 수입니다.
  • type 이미지의 타입입니다. SaigeImageType 참고
  • isRGB true로 설정하면 이미지 데이터가 RGB 순서로 되어 있음을 나타냅니다.
  • overlayAlpha SaigeHeatmap를 시각화할 때 투명도를 나타내는 값입니다. 범위는 0~1이며 1에 가까울수록 SaigeHeatmap가 투명하게 그려집니다.
  • resultImage [out] SaigeHeatmap가 그려진 결과 이미지 데이터입니다.

Returns:

errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.

See also: SaigeGetInferenceResultHeatmap

SaigeShowImage

이미지를 별도의 윈도우에 디스플레이합니다.

int SaigeShowImage (
    const void * image,
    const int width,
    const int height,
    const int channels,
    const int type,
    const bool isRGB,
    const bool invert,
    const double alpha,
    const int waitMS
) 

Parameters:

  • image 디스플레이할 이미지 데이터입니다.
  • width 이미지의 너비입니다.
  • height 이미지의 높이입니다.
  • channels 이미지의 채널 수입니다.
  • type 이미지 데이터 타입입니다. 설정 방법은 SaigeImageType 을 참고해 주세요.
  • isRGB true로 설정하면 이미지 데이터가 RGB 순서로 되어 있음을 나타냅니다.
  • invert true로 설정하면 색상이 반전되어 표시됩니다.
  • alpha 이미지 데이터의 픽셀 값에 곱해지는 수입니다.
  • waitMS 디스플레이 시간입니다. 단위는 밀리초이며 0으로 설정할 시 디스플레이 창을 직접 종료해야 합니다.

SaigeGetImageData

이미지 경로로부터 이미지 데이터를 받아 옵니다. 컬러 이미지의 경우 항상 RGB순서로 받아옵니다.

void * SaigeGetImageData (
    const char * imagePath,
    int * width,
    int * height,
    int * channels,
    int * type
) 

Parameters:

  • imagePath 이미지 경로입니다.
  • width [out] 이미지의 너비입니다.
  • height [out] 이미지의 높이입니다.
  • channels [out] 이미지의 채널 수입니다.
  • type [out] 이미지의 타입입니다.

Returns:

image 이미지 데이터를 void* 타입으로 리턴합니다.

See also: SaigeFreeImageData

SaigeFreeImageData

SaigeGetImageData로 받아 온 이미지의 메모리를 해제합니다.

int SaigeFreeImageData (
    void * image
) 

Parameters:

  • image 메모리를 해제할 이미지 데이터입니다.

Returns:

errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.

See also: SaigeGetImageData

SaigeColorCodeToRGB

모델에 담긴 클래스 색상 코드를 RGB 값으로 변환합니다.

int SaigeColorCodeToRGB (
    const char * color,
    unsigned char * r,
    unsigned char * g,
    unsigned char * b
) 

Parameters:

  • color 색상 코드입니다.
  • r [out] RGB 중 R 값입니다.
  • g [out] RGB 중 G 값입니다.
  • b [out] RGB 중 B 값입니다.

Returns:

errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.

See also: SaigeModelInfo::classColors

SaigeDrawDetectedObjects

(DET) 이미지 위에 detected object를 그려 디스플레이합니다.

int SaigeDrawDetectedObjects (
    const void * image,
    const SaigeDetectedObject * objects,
    SaigeModelInfo * modelInfo,
    const int numOfDetectedObjects,
    const int width,
    const int height,
    const int channels,
    const int type,
    const int waitMS
) 

Parameters:

  • image Detected object가 그려질 이미지 데이터입니다.
  • objects 추론으로 검출된 detected object의 배열입니다.
  • modelInfo 모델 정보입니다. 클래스 이름과 색상 표시에 사용됩니다.
  • numOfDetectedObjects Detected object의 개수입니다.
  • width 이미지의 너비입니다.
  • height 이미지의 높이입니다.
  • channels 이미지의 채널 수입니다.
  • type 이미지의 타입입니다. SaigeImageType 참고
  • waitMS 디스플레이 시간입니다. 단위는 밀리초이며 0으로 설정할 시 디스플레이 창을 직접 종료해야 합니다.

Returns:

errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.

See also: SaigeGetInferenceResultNumOfDetectedObjects, SaigeGetInferenceResultDetectedObjects

SaigeDrawSegmentedObjects

(SEG, IAD) 이미지 위에 segmented object를 그려 디스플레이합니다.

int SaigeDrawSegmentedObjects (
    const void * image,
    const SaigeSegmentedObject * objects,
    SaigeModelInfo * modelInfo,
    const int numOfSegmentedObjects,
    const int width,
    const int height,
    const int channels,
    const int type,
    const double overlayAlpha,
    const int waitMS
) 

Parameters:

  • image Segmented object가 그려질 이미지 데이터입니다.
  • objects 추론으로 검출된 segmented object의 배열입니다.
  • modelInfo 모델 정보입니다. 클래스 이름과 색상 표시에 사용됩니다.
  • numOfSegmentedObjects Segmented object의 개수입니다.
  • width 이미지의 너비입니다.
  • height 이미지의 높이입니다.
  • channels 이미지의 채널 수입니다.
  • type 이미지의 타입입니다. SaigeImageType 참고
  • overlayAlpha Segmented object를 시각화할 때 투명도를 나타내는 값입니다. 범위는 0~1이며 1에 가까울수록 segmented object가 투명하게 그려집니다.
  • waitMS 디스플레이 시간입니다. 단위는 밀리초이며 0으로 설정할 시 디스플레이 창을 직접 종료해야 합니다.

Returns:

errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.

See also: SaigeGetInferenceResultNumOfSegmentedObjects, SaigeGetInferenceResultSegmentedObjects

SaigeDrawTextObjects

OCR 검사결과인 SaigeTextObject를 이미지 위에 디스플레이합니다. 현재 한글은 ? 로 나오며 추후 지원예정입니다.

int SaigeDrawTextObjects (
    const void * image,
    const SaigeTextObject * objects,
    const int numBoxes,
    const int width,
    const int height,
    const int channels,
    const int type,
    const int waitMS
) 

Parameters:

  • image 디스플레이할 이미지 데이터입니다.
  • objects 검출된 SaigeTextObject 구조체의 배열입니다.
  • numBoxes 검출된 텍스트 객체의 개수입니다.
  • width 이미지의 너비입니다.
  • height 이미지의 높이입니다.
  • channels 이미지의 채널 수입니다.
  • type 이미지의 타입입니다. SaigeImageType 참고
  • waitMS 디스플레이 시간입니다. 단위는 밀리초이며 0으로 설정할 시 디스플레이 창을 직접 종료해야 합니다.

See also: SaigeTextObject

SaigeDrawHeatmap

히트맵 이미지를 디스플레이합니다.

int SaigeDrawHeatmap (
    const float * image,
    const int width,
    const int height,
    const int waitMS
) 

Parameters:

  • image 히트맵 이미지 데이터입니다.
  • width 히트맵의 너비입니다.
  • height 히트맵의 높이입니다.
  • waitMS 디스플레이 시간입니다. 단위는 밀리초이며 0으로 설정할 시 디스플레이 창을 직접 종료해야 합니다.

Returns:

errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.

See also: SaigeGetInferenceResultHeatmap

SaigeDrawImage

이미지를 디스플레이합니다.

int SaigeDrawImage (
    const void * image,
    const int width,
    const int height,
    const int channels,
    const double alpha,
    const int type,
    const bool invert,
    const int waitMS
) 

Parameters:

  • image 디스플레이할 이미지 데이터입니다.
  • width 이미지의 너비입니다.
  • height 이미지의 높이입니다.
  • channels 이미지의 채널 수입니다.
  • alpha 이미지 데이터의 픽셀 값에 곱해지는 수입니다.
  • type 이미지 데이터 타입입니다.
  • invert true로 설정하면 색상이 반전되어 표시됩니다.
  • waitMS 디스플레이 시간입니다. 단위는 밀리초이며 0으로 설정할 시 디스플레이 창을 직접 종료해야 합니다.

alpha 값 설정하기

이미지가 unsigned char 데이터일 때는 픽셀 값의 범위가 0~255이 되도록 설정하는 것을 권장합니다.

이미지가 float 데이터일 때는 픽셀 값의 범위가 0~1이 되도록 설정하는 것을 권장합니다.

type 설정하기

이미지가 unsigned char 데이터일 때는 'SV_U8'를 입력합니다.

이미지가 unsigned short 데이터일 때는 'SV_U16'를 입력합니다.

이미지가 float 데이터일 때는 'SV_F32'를 입력합니다.

Returns:

errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.

See also: SaigeGetInferenceResultScoremapSEG, SaigeGetInferenceResultScoremapIAD, SaigeGetInferenceResultMask

SaigeDrawImageOverBase

한 이미지 위에 다른 이미지를 겹쳐 디스플레이합니다.

int SaigeDrawImageOverBase (
    const void * base_img,
    const void * img,
    const int width,
    const int height,
    const int channels_base,
    const int channels_img,
    const int type_base,
    const int type_img,
    const double alpha,
    const bool invert,
    const int waitMS
) 

Parameters:

  • base_img 배경이 될 이미지 데이터입니다.
  • img 배경 위에 표시할 이미지 데이터입니다.
  • width 두 이미지의 너비입니다. 너비가 같은 두 이미지를 사용해야 합니다.
  • height 두 이미지의 높이입니다. 높이가 같은 두 이미지를 사용해야 합니다.
  • channels_base 배경 이미지의 채널 수입니다.
  • channels_img 배경 위에 표시할 이미지의 채널 수입니다.
  • type_base 배경 이미지의 데이터 타입입니다. 설정 방법은 SaigeDrawImage 를 참고해 주세요.
  • type_img 배경 위에 표시할 이미지의 데이터 타입입니다. 설정 방법은 SaigeDrawImage 를 참고해 주세요.
  • alpha 배경 위에 표시할 이미지의 픽셀 값에 곱해지는 수입니다. 배경 이미지에는 영향이 없습니다.
  • invert true로 설정하면 배경 위에 표시할 이미지의 색상이 반전되어 표시됩니다. 배경 이미지에는 영향이 없습니다.
  • waitMS 디스플레이 시간입니다. 단위는 밀리초이며 0으로 설정할 시 디스플레이 창을 직접 종료해야 합니다.

Returns:

errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.

See also: SaigeGetInferenceResultClassActivationMap