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:
baseImageSegmentedObject가 그려질 베이스 이미지 데이터입니다.objects추론으로 검출된 SegmentedObject의 배열입니다.modelInfo모델 정보입니다. 클래스 색상 표시에 사용됩니다. null인 경우 빨간색으로 표시됩니다.numOfSegmentedObjectsSegmentedObject의 개수입니다.width베이스, 결과 이미지의 너비입니다.height베이스, 결과 이미지의 높이입니다.channels베이스, 결과 이미지의 채널 수입니다.type이미지의 타입입니다. SaigeImageType 참고overlayAlphaSegmentedObject를 시각화할 때 투명도를 나타내는 값입니다. 범위는 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:
baseImageDetectedObject가 그려질 베이스 이미지 데이터입니다.objects추론으로 검출된 DetectedObject의 배열입니다.modelInfo모델 정보입니다. 클래스 이름과 색상 표시에 사용됩니다. null인 경우 빨간색으로 표시됩니다.numOfDetectedObjectsDetectedObject의 개수입니다.width베이스, 결과 이미지의 너비입니다.height베이스, 결과 이미지의 높이입니다.channels베이스, 결과 이미지의 채널 수입니다.type이미지의 타입입니다. SaigeImageType 참고withClassNametrue로 설정하면 DetectedObject의 클래스 이름을 함께 표시합니다.isRGBtrue로 설정하면 이미지 데이터가 RGB 순서로 되어 있음을 나타냅니다.overlayAlphaDetectedObject를 시각화할 때 투명도를 나타내는 값입니다. 범위는 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:
baseImageSaigeTextObject가 그려질 베이스 이미지 데이터입니다.objects추론으로 검출된 SaigeTextObject의 배열입니다.numOfSaigeTextObjectSaigeTextObject의 개수입니다.width베이스, 결과 이미지의 너비입니다.height베이스, 결과 이미지의 높이입니다.channels베이스, 결과 이미지의 채널 수입니다.type이미지의 타입입니다. SaigeImageType 참고isRGBtrue로 설정하면 이미지 데이터가 RGB 순서로 되어 있음을 나타냅니다.overlayAlphaSaigeTextObject를 시각화할 때 투명도를 나타내는 값입니다. 범위는 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:
baseImageSaigeHeatmap가 그려질 베이스 이미지 데이터입니다.heatmap검사 결과로 얻은 Heatmap의 배열입니다.width베이스, 결과 이미지의 너비입니다.height베이스, 결과 이미지의 높이입니다.channels베이스, 결과 이미지의 채널 수입니다.type이미지의 타입입니다. SaigeImageType 참고isRGBtrue로 설정하면 이미지 데이터가 RGB 순서로 되어 있음을 나타냅니다.overlayAlphaSaigeHeatmap를 시각화할 때 투명도를 나타내는 값입니다. 범위는 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 을 참고해 주세요.isRGBtrue로 설정하면 이미지 데이터가 RGB 순서로 되어 있음을 나타냅니다.inverttrue로 설정하면 색상이 반전되어 표시됩니다.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:
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을 리턴하고, 에러 발생 시 에러코드를 리턴합니다.