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:
imageDetected object가 그려질 이미지 데이터입니다.objects추론으로 검출된 detected object의 배열입니다.modelInfo모델 정보입니다. 클래스 이름과 색상 표시에 사용됩니다.numOfDetectedObjectsDetected 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:
imageSegmented object가 그려질 이미지 데이터입니다.objects추론으로 검출된 segmented object의 배열입니다.modelInfo모델 정보입니다. 클래스 이름과 색상 표시에 사용됩니다.numOfSegmentedObjectsSegmented object의 개수입니다.width이미지의 너비입니다.height이미지의 높이입니다.channels이미지의 채널 수입니다.type이미지의 타입입니다. SaigeImageType 참고overlayAlphaSegmented 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이미지 데이터 타입입니다.inverttrue로 설정하면 색상이 반전되어 표시됩니다.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배경 위에 표시할 이미지의 픽셀 값에 곱해지는 수입니다. 배경 이미지에는 영향이 없습니다.inverttrue로 설정하면 배경 위에 표시할 이미지의 색상이 반전되어 표시됩니다. 배경 이미지에는 영향이 없습니다.waitMS디스플레이 시간입니다. 단위는 밀리초이며 0으로 설정할 시 디스플레이 창을 직접 종료해야 합니다.
Returns:
errorCode 정상 작동 시 0을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.