콘텐츠로 이동

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 * 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

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