SaigeVision C/C++ 1.5.0
SaigeVision API document for C/C++
 
Loading...
Searching...
No Matches
SegPostProcessFunctionsDLL.h File Reference

Header file for segmentation post process module. More...

Go to the source code of this file.

Classes

struct  SR_SegPostProcessOptions
 SR_SegPostProcessOptions 는 후처리할 때 설정할 수 있는 파라미터를 나타탭니다.
nProducts: 이미지에 몇 개의 제품(셀)이 들어가는지를 나타냅니다.
nTargetTopsPerProduct: 한 개의 제품(셀)에 위쪽 극의 수를 나타냅니다.
nTargetBottomsPerProduct: 한 개의 제품(셀)에 아래쪽 극의 수를 나타냅니다.
topClassIdx: Segmentation 학습 시 위쪽 극을 표시했던 클래스 인덱스를 나타냅니다. (클래스 인덱스는 0부터 셉니다.)
bottomClassIdx: Segmentation 학습 시 아래쪽 극을 표시했던 클래스 인덱스를 나타냅니다. (클래스 인덱스는 0부터 셉니다.)
convexityDefectThreshold: 두 개 이상의 극이 붙은 경우 잘라내기 위한 픽셀 단위의 기준값입니다.
useImageDataAtTop: 위쪽 극에 대한 후처리 알고리즘의 이미지 데이터 사용 여부를 결정합니다.
isTopBrighterThanBackGround: 위쪽 극에 대한 후처리 알고리즘에 이미지 데이터를 사용할 때 위쪽 극이 주변부보다 밝은지 여부를 나타냅니다.
useImageDataAtBottom: 아래쪽 극에 대한 후처리 알고리즘의 이미지 데이터 사용 여부를 결정합니다.
isBottomBrighterThanBackGround: 아래쪽 극에 대한 후처리 알고리즘에 이미지 데이터를 사용할 때 아래쪽 극이 주변부보다 밝은지 여부를 나타냅니다.
maxLengthOfSkeletonToRemoveAtTop : 위쪽 극에 대한 후처리 알고리즘 중 병합하거나 제거해야하는 스켈레톤을 뽑을 때 이 값 이하의 스켈레톤은 모두 추가합니다.
maxRatioThresholdOfMedianLengthToRemoveAtTop: 위쪽 극에 대한 후처리 알고리즘 중 병합하거나 제거해야하는 스켈레톤을 뽑을 때 위쪽 극 스켈레토 길이의 median 값에 이 값을 곱한 값 이하의 스켈레톤은 모두 추가합니다.
minLengthOfSkeletonToKeepAtTop : 위쪽 극에 대한 후처리 알고리즘 중 병합하거나 제거해야하는 스켈레톤을 뽑을 때 이 값 이상의 스켈레톤은 추가하지 않습니다.
maxLengthOfSkeletonToRemoveAtBottom : 아래쪽 극에 대한 후처리 알고리즘 중 병합하거나 제거해야하는 스켈레톤을 뽑을 때 이 값 이하의 스켈레톤은 모두 추가합니다.
maxRatioThresholdOfMedianLengthToRemoveAtBottom: 아래쪽 극에 대한 후처리 알고리즘 중 병합하거나 제거해야하는 스켈레톤을 뽑을 때 아래쪽 극 스켈레토 길이의 median 값에 이 값을 곱한 값 이하의 스켈레톤은 모두 추가합니다.
minLengthOfSkeletonToKeepAtBottom : 아래쪽 극에 대한 후처리 알고리즘 중 병합하거나 제거해야하는 스켈레톤을 뽑을 때 이 값 이상의 스켈레톤은 추가하지 않습니다.
useImageDataForDividingProducts : 제품(셀)을 구분하는 알고리즘의 이미지 데이터 사용 여부를 결정합니다.
isBorderBrighterThanPoles : 제품(셀)을 구분하는 알고리즘에 이미지 데이터를 사용할 때 경계영역이 주변의 극보다 밝은지 여부를 나타냅니다.
adjustProductIndexUsingAlternateness : 제품(셀)을 구분하는 알고리즘에 음극과 양극이 교차해야 한다는 정보를 이용합니다.
lengthThresholdToRemoveTopsAtUpperSide : 셀 위쪽에 검출되는 영역 중 top 을 제거하기 위한 기준값입니다.
lengthThresholdToRemoveBottomsAtUpperSide : 셀 위쪽에 검출되는 영역 중 bottom 을 제거하기 위한 기준값입니다.
lengthThresholdToRemoveTopsAtLowerSide : 셀 아래쪽에 검출되는 영역 중 top 을 제거하기 위한 기준값입니다.
lengthThresholdToRemoveBottomsAtLowerSide : 셀 아래쪽에 검출되는 영역 중 bottom 을 제거하기 위한 기준값입니다.
appendPointToUpperDirAtTop : 최종 검출된 위쪽 극의 위쪽 방향으로 설정된 픽셀값만큼 떨어진 포인트를 추가합니다.
appendPointToLowerDirAtTop : 최종 검출된 위쪽 극의 아래쪽 방향으로 설정된 픽셀값만큼 떨어진 포인트를 추가합니다.
appendPointToUpperDirAtBottom : 최종 검출된 아래쪽 극의 위쪽 방향으로 설정된 픽셀값만큼 떨어진 포인트를 추가합니다.
appendPointToLowerDirAtBottom : 최종 검출된 아래쪽 극의 아래쪽 방향으로 설정된 픽셀값만큼 떨어진 포인트를 추가합니다.
isUpsideDown : 극이 위쪽 방향으로 뻗어 있는 경우 false, 반대의 경우 true 로 설정합니다.
isBottomFirst : 한 개의 제품(셀) 내에서 bottom 이 먼저 나오는 경우 true, top 이 먼저 나오는 경우 false 로 설정합니다.
angleThresholdToMerge : 병합하는 연결 각도의 기준값입니다. 0-180 도 사이의 값으로 설정되며 값을 크게 설정할수록 병합될 확률이 높아집니다.
More...
 
struct  SR_SegPostProcessSkeleton
 SR_SegPostProcessSkeleton 은 후처리된 결과를 나타냅니다.
nPoints: 스켈레톤 모델에 저장된 점의 수를 나타냅니다..
xPts: 스켈레톤 모델에 저장된 점의 x 좌표입니다.
yPts: 스켈레톤 모델에 저장된 점의 y 좌표입니다.
xStartPoint: 스켈레톤 모델에 저장된 점 중 첫번째 점의 x 좌표입니다.
yStartPoint: 스켈레톤 모델에 저장된 점 중 첫번째 점의 y 좌표입니다.
xEndPoint: 스켈레톤 모델에 저장된 점 중 마지막 점의 x 좌표입니다.
yEndPoint: 스켈레톤 모델에 저장된 점 중 마지막 점의 y 좌표입니다.
idxProduct: 검출된 스켈레톤이 몇번째 제품(셀)에 속하는지를 나타냅니다.
idxPoleInProduct: 검출된 스켈레톤이 각 클래스 별로 해당 제품(셀)에서 몇번째 극에 속하는지를 나타냅니다.
idxClass: 검출된 스켈레톤이 어느 클래스에 속하는지를 나타냅니다.
More...
 
struct  SR_SegPostProcessAngleDetection
 Struct describing features of outputs of angle detector. More...
 

Typedefs

typedef void * SegPostProcessHandle
 Segmentation post process handler. More...
 

Enumerations

enum  eSegPostProcessType
 Segmentation post process target cell type. More...
 

Functions

SR_SegPostProcessOptions SR_CreateSegPostProcessOptions ()
 SR_SegPostProcessOptions 를 기본값으로 생성합니다.
 
eErrorType SR_CheckValiditySegPostProcessOptions (SR_SegPostProcessOptions &options)
 설정된 SR_SegPostProcessOptions 값에 대한 유효성 검사를 수행합니다.
 
eErrorType SR_SetSegPostProcessOptions (SegPostProcessHandle handle, SR_SegPostProcessOptions &segPostProcessOptions)
 SegPostProcessHandle의 SR_SegPostProcessOptions 값을 재설정합니다.
 
eErrorType SR_PrintSegPostProcessOptions (SegPostProcessHandle handle)
 SegPostProcessHandle의 SR_SegPostProcessOptions 값을 콘솔 창에 print 합니다.
 
SegPostProcessHandle SR_CreateSegPostProcessHandle (eSegPostProcessType segPostProcessType, SR_SegPostProcessOptions segPostProcessOptions)
 SegPostProcessHandle 을 생성합니다. More...
 
eErrorType SR_DestroySegPostProcessHandle (SegPostProcessHandle handle)
 SegPostProcessHandle 을 소멸합니다.
 
eErrorType SR_UseImageDataFromImageFile (SegPostProcessHandle handle, const char *imagePath)
 후처리 알고리즘에 사용되는 이미지 데이터를 이미지 경로로 설정합니다.
 
eErrorType SR_UseImageDataFromImageFileByWideCharPath (SegPostProcessHandle handle, const wchar_t *imagePath)
 후처리 알고리즘에 사용되는 이미지 데이터를 이미지 경로로 설정합니다.
 
eErrorType SR_UseImageDataFrom8bitCharGrayArray (SegPostProcessHandle handle, const unsigned char *imageData, const int height, const int width)
 후처리 알고리즘에 사용되는 이미지 데이터를 1-channel 8-bit 배열로 설정합니다.
 
eErrorType SR_UseImageDataFrom8bitCharColorArray (SegPostProcessHandle handle, const unsigned char *imageData, const int height, const int width)
 후처리 알고리즘에 사용되는 이미지 데이터를 3-channel 8-bit 배열로 설정합니다.
 
eErrorType SR_UseImageDataFromUnsignedIntColorArray (SegPostProcessHandle handle, const unsigned int *imageData, const int height, const int width)
 후처리 알고리즘에 사용되는 이미지 데이터를 4-channel 8-bit 배열로 설정합니다.
 
eErrorType SR_UseImageDataFrom16bitCharGrayArray (SegPostProcessHandle handle, const unsigned char *imageData, const int height, const int width)
 후처리 알고리즘에 사용되는 이미지 데이터를 1-channel 16-bit 배열로 설정합니다.
 
eErrorType SR_UseImageDataFrom16bitCharColorArray (SegPostProcessHandle handle, const unsigned char *imageData, const int height, const int width)
 후처리 알고리즘에 사용되는 이미지 데이터를 3-channel 16-bit 배열로 설정합니다.
 
eErrorType SR_UseImageDataFrom16bitUnsignedIntColorArray (SegPostProcessHandle handle, const unsigned int *imageData, const int height, const int width)
 후처리 알고리즘에 사용되는 이미지 데이터를 4-channel 16-bit 배열로 설정합니다.
 
eErrorType SR_SegRunPostProcessBySegmentedObjects (SegPostProcessHandle handle, int nSegObjects, SR_SegmentedObject *segObjects, int originalImageWidth, int originalImageHeight)
 SR_SegmentedObject 를 이용하여 후처리를 수행합니다.
 
eErrorType SR_SegRunPostProcessByTestResultHandle (SegPostProcessHandle handle, SegTestResult segResult)
 SegTestResult 를 이용하여 후처리를 수행합니다.
 
eErrorType SR_SegPostProcessGetNumberOfSkeletons (SegPostProcessHandle handle, int *numberOfSkeletonsOut)
 후처리 결과로 검출된 스켈레톤의 개수를 받아옵니다.
 
eErrorType SR_SegPostProcessGetSkeletons (SegPostProcessHandle handle, SR_SegPostProcessSkeleton *skeletonsOut)
 후처리 결과로 검출된 스켈레톤 정보를 받아옵니다.
 
eErrorType SR_SegPostProcessFindAngleAndCenter (DetTestHandle handle, SR_DetectedBox *box, int numSegmentedObject, SR_SegmentedObject *segObjects, SR_SegPostProcessAngleDetection *angleObject)
 Convert SR_DetectedBox to SR_SegPostProcessAngleDetection.
 

Detailed Description

Header file for segmentation post process module.

Typedef Documentation

◆ SegPostProcessHandle

typedef void* SegPostProcessHandle

Segmentation post process handler.

SegPostProcessHandle 은 segmentation 후처리를 다루는 handle입니다. SegPostProcessHandle 을 이용하여 검사 및 후처리 후 결과 정보(SR_SegPostProcessSkeleton)를 받아 올 수 있습니다.

See also
SR_CreateSegPostProcessHandle, SR_DestroySegPostProcessHandle

Enumeration Type Documentation

◆ eSegPostProcessType

Segmentation post process target cell type.

StackCell: StackCell 배터리용 후처리 타입입니다.

Function Documentation

◆ SR_CreateSegPostProcessHandle()

SegPostProcessHandle SR_CreateSegPostProcessHandle ( eSegPostProcessType  segPostProcessType,
SR_SegPostProcessOptions  segPostProcessOptions 
)

SegPostProcessHandle 을 생성합니다.

Warning
SegPostProcessHandle 은 후처리가 끝난 후 SR_DestroySegPostProcessHandle 로 소멸되어야 합니다.
Examples
ExampleSegPostProcess.cpp.