12#include "DefinitionsAdvancedFunctions.h"
13#include "ReportDescriptorForBlob.h"
20 class CInternalSegmentationRegionExtractor;
29 template <
typename dataType,
typename maxType>
30 class CInternalBlobTemplate;
32 template <
typename dataType,
typename maxType>
33 class CInternalBlobSubsampledTemplate;
2923 DeclareGetClassType();
2924 SupportToDuplicateObject(
CBlob, *
this);
3098 friend class CInternalBlob;
3099 friend class CBlobSubsampled;
3100 friend class CInternalBlobSubsampled;
3102 friend class CInternalMura;
3103 friend class AI::CInternalSegmentationRegionExtractor;
3105 template<
typename T1,
typename T2>
friend class CInternalBlobTemplate;
3106 template<
typename T1,
typename T2>
friend class CInternalBlobSubsampledTemplate;
3109 CInternalBlob* m_pInternal;
virtual bool IsAbsoluteModeEnabled() const
virtual const CResult Clear()
Base::CFLArray< int32_t > m_flaFilterCondition
Definition Blob.h:3054
CBlob::ESortClusterModeMethod m_eSortClusterMethod
Definition Blob.h:3087
virtual const CResult GetResultSolidAreas(Base::CFLArray< Base::CFLArray< uint64_t > > &flaResultSolidArea) const
virtual const CResult Assign(const CBlob *pCc)
virtual const CResult SetThreshold(const Base::CMultiVar< double > &mvThreshold=127., ImageProcessing::EThresholdIndex eIndex=ImageProcessing::EThresholdIndex_First)
virtual const CResult Assign(const CBlob &cc)
virtual const CResult GetResultBlobImage(Base::CFLImage *pFliResultBlobImage) const
virtual const CResult GetThreshold(Base::CMultiVar< double > &mvThreshold) const
virtual const CResult GetResultAreas(Base::CFLArray< Base::CFLArray< uint64_t > > &flaResultArea) const
Base::CFLArray< int32_t > m_flaFilterItem
Definition Blob.h:3038
bool m_bSortClusterMode
Definition Blob.h:3079
virtual const CResult GetLogicalCondition(Base::ELogicalCondition &eLogicalCondition1, Base::ELogicalCondition &eLogicalCondition2) const
virtual const CResult GetThreshold(double &f64Threshold1, double &f64Threshold2) const
virtual const CResult GetResultCircularities(Base::CFLArray< Base::CFLArray< double > > &flaResultCircularities) const
virtual const CResult SetThreshold(const Base::CMultiVar< double > &mvThreshold1, const Base::CMultiVar< double > &mvThreshold2)
virtual const CResult GetResultArea(int64_t i64Index, uint64_t *pU64ResultArea) const
Base::CMultiVar< int64_t > m_mvLogicalCondition1
Definition Blob.h:2975
virtual const CResult ReportToCSV(const CReportDescriptorForBlob &rd) const
virtual const CResult SetLogicalCondition(const Base::CMultiVar< int64_t > &mvLogicalCondition1, const Base::CMultiVar< int64_t > &mvLogicalCondition2)
virtual const CResult GetResultCircularity(int64_t i64Index, double *pF64ResultCircularity) const
double m_f64SortClusterCoefficient
Definition Blob.h:3095
virtual const CResult GetResultConvexHull(int64_t i64Index, Foundation::CFLRegion *pFlrgResultConvex) const
virtual const CResult GetResultAreas(Base::CFLArray< uint64_t > &flaResultArea) const
virtual const CResult SetConnectedDirection(EConnectedDirection eDireciton=EConnectedDirection_Direction_8)
EContourResultType m_eContourType
Definition Blob.h:3029
virtual const CResult GetFilterItem(Base::CFLArray< int32_t > &flaFilterItem, Base::CFLArray< double > &flaValue, Base::CFLArray< int32_t > &flaFilterCondition) const
virtual const CResult GetResultBoundaryRects(Foundation::CFLFigureArray *pFlfaResultBoundaryRect) const
virtual const CResult GetResultContourRasterRegion(int64_t i64Index, Base::CFLArray< Base::TRect< int32_t > > &flaResult)
virtual Base::CMultiVar< double > GetThreshold(ImageProcessing::EThresholdIndex eIndex=ImageProcessing::EThresholdIndex_First) const
virtual const CResult ClearFilterItem()
virtual bool IsLicenseAvailable() const override
현재 보유한 라이선스로 해당 알고리즘을 사용할 수 있는지에 대한 여부를 반환 합니다.
virtual const CResult GetResultCircularities(Base::CFLArray< double > &flaResultCircularities) const
virtual EConnectedDirection GetConnectedDirection() const
virtual const CResult AddSortItem(CBlob::EFilterItem eSortItem, CBlob::EOrder eOrder)
virtual const CResult GetResultAngle(int64_t i64Index, float &f32ResultAngle) const
virtual const CResult GetResultContourRasterRegion(int64_t i64Index, Foundation::CFLFigureArray *pFlfaResult)
virtual const CResult GetResultSolidAreas(Base::CFLArray< uint64_t > &flaResultSolidArea) const
Base::CFLArray< int32_t > m_flaSortItem
Definition Blob.h:3063
virtual const CResult SetLogicalCondition(const Base::CMultiVar< int64_t > &mvLogicalCondition, ImageProcessing::EThresholdIndex eIndex=ImageProcessing::EThresholdIndex_First)
EBlobResultType
Definition Blob.h:55
@ EBlobResultType_Labeling
Definition Blob.h:60
@ EBlobResultType_MinimumEnclosingRectangle
Definition Blob.h:75
@ EBlobResultType_Contour
Definition Blob.h:70
@ EBlobResultType_SolidArea
Definition Blob.h:100
@ EBlobResultType_Circularity
Definition Blob.h:90
@ EBlobResultType_ConvexHull
Definition Blob.h:80
@ EBlobResultType_GravityCenter
Definition Blob.h:85
@ EBlobResultType_BoundaryRect
Definition Blob.h:65
@ EBlobResultType_Area
Definition Blob.h:95
@ EBlobResultType_Angle
Definition Blob.h:105
virtual const CResult GetResultAngles(Base::CFLArray< Base::CFLArray< float > > &flaResultAngles) const
virtual const CResult GetResultContours(Foundation::CFLFigureArray *pFlfaResultContour) const
virtual const CResult GetResultAngles(Base::CFLArray< Base::CFLArray< float > > *pFlaResultAngles) const
virtual const CResult GetResultBoundaryRect(int64_t i64Index, Foundation::CFLRect< int32_t > *pFlrResultBoundaryRect) const
virtual const CResult Sort(EFilterItem eItem=EFilterItem_Unselected, EOrder eOrder=EOrder_Ascending)
virtual const CResult SortClusterMode(ESortClusterModeMethod eMethod=ESortClusterModeMethod_Center_Y_Asc_X_Asc, double f64Coefficient=.5)
virtual const CResult GetResultConvexHull(int64_t i64Index, Foundation::CFLRegion &flrgResultConvex) const
virtual const CResult GetResultConvexHulls(Foundation::CFLFigureArray &flfaResultConvex) const
Base::CMultiVar< int64_t > m_mvLogicalCondition2
Definition Blob.h:2987
virtual const CResult GetResultContour(int64_t i64Index, Foundation::CFLRegion *pFlrgResultContour) const
virtual const CResult GetResultBoundaryRect(int64_t i64Index, Foundation::CFLRect< int32_t > &flrResultBoundaryRect) const
EBlobResultType m_eType
Definition Blob.h:3013
EOrder
Definition Blob.h:510
@ EOrder_Descending
Definition Blob.h:520
@ EOrder_Ascending
Definition Blob.h:515
EConnectedDirection
Definition Blob.h:116
@ EConnectedDirection_Direction_8
Definition Blob.h:126
@ EConnectedDirection_Direction_4
Definition Blob.h:121
virtual const CResult GetThreshold(double &f64Threshold) const
virtual EBlobResultType GetResultType() const
virtual const CResult GetResultAreas(Base::CFLArray< Base::CFLArray< uint64_t > > *pFlaResultArea) const
Base::CFLArray< int32_t > m_flaSortOrder
Definition Blob.h:3071
virtual const CResult GetSortItem(CBlob::EFilterItem &eSortItem, CBlob::EOrder &eOrder) const
ELogicalConditionOfChannels m_eLogicalConditionOfChannels
Definition Blob.h:3004
virtual const CResult GetResultContours(Foundation::CFLFigureArray &flfaResultContour) const
virtual const CResult GetResultMinimumEnclosingRectangle(int64_t i64Index, Foundation::CFLQuad< double > &flqResultMER) const
virtual const CResult GetResultContourRasterRegions(Base::CFLArray< Base::CFLArray< Base::TRect< int32_t > > > *pFlaResults)
virtual const CResult GetResultPixelCenterContours(Foundation::CFLFigureArray &flfaResultContour) const
virtual const CResult SetSortItem(CBlob::EFilterItem eSortItem, CBlob::EOrder eOrder)
virtual const CResult GetFilterItem(CBlob::EFilterItem &eFilterItem, double &f64Value, Base::ELogicalCondition &eFilterCondition) const
virtual const CResult Sort(const Base::CFLArray< int32_t > &flaItem, const Base::CFLArray< int32_t > &flaOrder)
virtual const CResult GetResultAngles(Base::CFLArray< float > *pFlaResultAngles) const
virtual int64_t GetResultCount() const
virtual const CResult AddFilterItem(CBlob::EFilterItem eFilterItem, double f64Value, Base::ELogicalCondition eFilterCondition)
virtual const CResult GetResultMinimumEnclosingRectangles(Foundation::CFLFigureArray &flfaResultMER) const
virtual bool GetSortClusterMode(CBlob::ESortClusterModeMethod &eMethod, double &f64Coefficient) const
virtual const CResult SetThresholdMode(ImageProcessing::EThresholdMode eThresholdMode=ImageProcessing::EThresholdMode_Single)
Base::CFLArray< double > m_flaFilterValue
Definition Blob.h:3046
virtual const CResult GetResultLabelImage(Base::CFLImage &fliResultLabelImage) const
virtual const CResult SetLogicalConditionOfChannels(ELogicalConditionOfChannels eCondition=ELogicalConditionOfChannels_And)
const CBlob & operator=(const CBlob &cc)
virtual const CResult SetFilterItem(CBlob::EFilterItem eFilterItem, double f64Value, Base::ELogicalCondition eFilterCondition)
virtual const CResult GetResultContourRasterRegions(Foundation::CFLFigureArray *pFlfaResults)
virtual const CResult Filter(EFilterItem eItem, double f64Value, Base::ELogicalCondition eCondition)
ESortClusterModeMethod
Definition Blob.h:308
@ ESortClusterModeMethod_MinimumEnclosingRectangleCenter_X_Asc_Y_Asc
Definition Blob.h:476
@ ESortClusterModeMethod_GravityCenter_X_Asc_Y_Asc
Definition Blob.h:412
@ ESortClusterModeMethod_MinimumEnclosingRectangleCenter_Y_Asc_X_Desc
Definition Blob.h:452
@ ESortClusterModeMethod_MinimumEnclosingRectangleCenter_X_Asc_Y_Desc
Definition Blob.h:484
@ ESortClusterModeMethod_Center_X_Asc_Y_Asc
Definition Blob.h:348
@ ESortClusterModeMethod_Center_X_Asc_Y_Desc
Definition Blob.h:356
@ ESortClusterModeMethod_Center_X_Desc_Y_Desc
Definition Blob.h:372
@ ESortClusterModeMethod_MinimumEnclosingRectangleCenter_X_Desc_Y_Desc
Definition Blob.h:500
@ ESortClusterModeMethod_GravityCenter_Y_Asc_X_Desc
Definition Blob.h:388
@ ESortClusterModeMethod_Center_X_Desc_Y_Asc
Definition Blob.h:364
@ ESortClusterModeMethod_MinimumEnclosingRectangleCenter_Y_Desc_X_Desc
Definition Blob.h:468
@ ESortClusterModeMethod_GravityCenter_X_Desc_Y_Desc
Definition Blob.h:436
@ ESortClusterModeMethod_MinimumEnclosingRectangleCenter_X_Desc_Y_Asc
Definition Blob.h:492
@ ESortClusterModeMethod_Center_Y_Asc_X_Desc
Definition Blob.h:324
@ ESortClusterModeMethod_Center_Y_Asc_X_Asc
Definition Blob.h:316
@ ESortClusterModeMethod_GravityCenter_Y_Desc_X_Asc
Definition Blob.h:396
@ ESortClusterModeMethod_Center_Y_Desc_X_Asc
Definition Blob.h:332
@ ESortClusterModeMethod_GravityCenter_X_Desc_Y_Asc
Definition Blob.h:428
@ ESortClusterModeMethod_GravityCenter_Y_Desc_X_Desc
Definition Blob.h:404
@ ESortClusterModeMethod_MinimumEnclosingRectangleCenter_Y_Asc_X_Asc
Definition Blob.h:444
@ ESortClusterModeMethod_GravityCenter_X_Asc_Y_Desc
Definition Blob.h:420
@ ESortClusterModeMethod_GravityCenter_Y_Asc_X_Asc
Definition Blob.h:380
@ ESortClusterModeMethod_MinimumEnclosingRectangleCenter_Y_Desc_X_Asc
Definition Blob.h:460
@ ESortClusterModeMethod_Center_Y_Desc_X_Desc
Definition Blob.h:340
virtual const CResult ReportToCSV(const Foundation::CReportDescriptor *pRd) const override
알고리즘의 실행결과를 ReportDescriptor 객체에 기록된 옵션에 따라 파일에 기록 합니다. 모든 알고리즘들이 이 함수를 지원하지는 않습니다....
virtual const CResult SetContourResultType(EContourResultType eContourType=EContourResultType_Solid)
virtual const CResult GetResultArea(int64_t i64Index, uint64_t &u64ResultArea) const
virtual ImageProcessing::EThresholdMode GetThresholdMode() const
virtual const CResult GetResultGravityCenter(int64_t i64Index, Foundation::CFLPoint< double > *pFlpResultGravityCenter) const
virtual const CResult GetResultCircularities(Base::CFLArray< double > *pFlaResultCircularities) const
virtual const CResult ReportToCSV(const CReportDescriptorForBlob *pRd) const
Base::CMultiVar< double > m_mvThreshold1
Definition Blob.h:2951
EFilterItem
Definition Blob.h:137
@ EFilterItem_SolidArea
Definition Blob.h:152
@ EFilterItem_BoundaryRectWidthHeightRatio
Definition Blob.h:182
@ EFilterItem_BoundaryRectShortLongRatio
Definition Blob.h:187
@ EFilterItem_GravityCenterX
Definition Blob.h:212
@ EFilterItem_MinimumEnclosingRectangleShortSideLength
Definition Blob.h:277
@ EFilterItem_MinimumEnclosingRectangleCenterY
Definition Blob.h:227
@ EFilterItem_Perimeter
Definition Blob.h:297
@ EFilterItem_MinimumEnclosingRectanglePoint0X
Definition Blob.h:232
@ EFilterItem_BoundaryRectCenterY
Definition Blob.h:167
@ EFilterItem_BoundaryRectWidth
Definition Blob.h:172
@ EFilterItem_MinimumEnclosingRectanglePoint2X
Definition Blob.h:252
@ EFilterItem_MinimumEnclosingRectanglePoint0Y
Definition Blob.h:237
@ EFilterItem_BoundaryRectHeight
Definition Blob.h:177
@ EFilterItem_BoundaryRectCenterX
Definition Blob.h:162
@ EFilterItem_MinimumEnclosingRectanglePoint3X
Definition Blob.h:262
@ EFilterItem_Area
Definition Blob.h:147
@ EFilterItem_BoundaryRectRight
Definition Blob.h:202
@ EFilterItem_MinimumEnclosingRectanglePoint2Y
Definition Blob.h:257
@ EFilterItem_MinimumEnclosingRectanglePoint1X
Definition Blob.h:242
@ EFilterItem_Angle
Definition Blob.h:157
@ EFilterItem_MinimumEnclosingRectangleArea
Definition Blob.h:287
@ EFilterItem_MinimumEnclosingRectanglePoint3Y
Definition Blob.h:267
@ EFilterItem_MinimumEnclosingRectanglePoint1Y
Definition Blob.h:247
@ EFilterItem_BoundaryRectTop
Definition Blob.h:197
@ EFilterItem_MinimumEnclosingRectangleShortLongRatio
Definition Blob.h:282
@ EFilterItem_MinimumEnclosingRectangleCenterX
Definition Blob.h:222
@ EFilterItem_BoundaryRectBottom
Definition Blob.h:207
@ EFilterItem_MinimumEnclosingRectangleLongSideLength
Definition Blob.h:272
@ EFilterItem_Unselected
Definition Blob.h:142
@ EFilterItem_Circularity
Definition Blob.h:292
@ EFilterItem_GravityCenterY
Definition Blob.h:217
@ EFilterItem_BoundaryRectLeft
Definition Blob.h:192
virtual const CResult GetResultAngles(Base::CFLArray< float > &flaResultAngles) const
virtual const CResult GetResultConvexHulls(Foundation::CFLFigureArray *pFlfaResultConvex) const
virtual const CResult GetResultAreas(Base::CFLArray< uint64_t > *pFlaResultArea) const
virtual const CResult GetResultGravityCenters(Foundation::CFLFigureArray &flfaResultGravityCenters) const
virtual const CResult SetSortClusterMode(CBlob::ESortClusterModeMethod eMethod, double f64Coefficient)
EContourResultType
Definition Blob.h:551
@ EContourResultType_Solid
Definition Blob.h:555
@ EContourResultType_Perforated
Definition Blob.h:560
virtual const CResult GetResultContourRasterRegions(Base::CFLArray< Base::CFLArray< Base::TRect< int32_t > > > &flaResults)
virtual const CResult GetResultPixelCenterContours(Foundation::CFLFigureArray *pFlfaResultContour) const
Base::CMultiVar< double > m_mvThreshold2
Definition Blob.h:2963
virtual const CResult SetSortItem(const Base::CFLArray< int32_t > &flaItem, const Base::CFLArray< int32_t > &flaOrder)
ELogicalConditionOfChannels
Definition Blob.h:530
@ ELogicalConditionOfChannels_Or
Definition Blob.h:540
@ ELogicalConditionOfChannels_And
Definition Blob.h:535
virtual const CResult AddFilterItem(const Base::CFLArray< int32_t > &flaFilterItem, const Base::CFLArray< double > &flaValue, const Base::CFLArray< int32_t > &flaFilterCondition)
virtual const CResult GetResultSolidAreas(Base::CFLArray< uint64_t > *pFlaResultSolidArea) const
virtual const CResult GetResultPixelCenterContour(int64_t i64Index, Foundation::CFLRegion &flrgResultContour) const
virtual const CResult SetLogicalCondition(Base::ELogicalCondition eLogicalCondition1, Base::ELogicalCondition eLogicalCondition2)
virtual const CResult SetResultType(EBlobResultType eType=EBlobResultType_BoundaryRect)
virtual const CResult GetResultMinimumEnclosingRectangles(Foundation::CFLFigureArray *pFlfaResultMER) const
virtual const CResult GetThreshold(Base::CMultiVar< double > &mvThreshold1, Base::CMultiVar< double > &mvThreshold2) const
virtual const CResult GetResultBlobImage(Base::CFLImage &fliResultBlobImage) const
virtual const CResult GetResultPixelCenterContour(int64_t i64Index, Foundation::CFLRegion *pFlrgResultContour) const
virtual const CResult GetResultMinimumEnclosingRectangle(int64_t i64Index, Foundation::CFLQuad< double > *pFlqResultMER) const
virtual const CResult SetFilterItem(const Base::CFLArray< int32_t > &flaFilterItem, const Base::CFLArray< double > &flaValue, const Base::CFLArray< int32_t > &flaFilterCondition)
EConnectedDirection m_eConnectedDirection
Definition Blob.h:3021
virtual const CResult GetResultGravityCenter(int64_t i64Index, Foundation::CFLPoint< double > &flpResultGravityCenter) const
virtual const CResult AddSortItem(const Base::CFLArray< int32_t > &flaItem, const Base::CFLArray< int32_t > &flaOrder)
virtual const CResult GetResultGravityCenters(Foundation::CFLFigureArray *pFlfaResultGravityCenters) const
virtual const CResult GetResultSolidAreas(Base::CFLArray< Base::CFLArray< uint64_t > > *pFlaResultSolidArea) const
virtual const CResult GetSortItem(Base::CFLArray< int32_t > &flaItem, Base::CFLArray< int32_t > &flaOrder) const
virtual const CResult SetThreshold(double f64Threshold, ImageProcessing::EThresholdIndex eIndex=ImageProcessing::EThresholdIndex_First)
virtual const CResult GetResultCircularity(int64_t i64Index, double &f64ResultCircularity) const
virtual const CResult GetResultAngle(int64_t i64Index, float *pF32ResultAngle) const
virtual const CResult GetResultSolidArea(int64_t i64Index, uint64_t &u64ResultSolidArea) const
virtual ELogicalConditionOfChannels GetLogicalConditionOfChannels() const
bool m_bAbsoluteMode
Definition Blob.h:2996
virtual const CResult EnabledAbsoluteMode(bool bAbsoluteMode=false)
virtual const CResult GetResultCircularities(Base::CFLArray< Base::CFLArray< double > > *pFlaResultCircularities) const
virtual const Base::CMultiVar< int64_t > GetLogicalCondition(ImageProcessing::EThresholdIndex eIndex=ImageProcessing::EThresholdIndex_First) const
virtual const CResult GetResultSolidArea(int64_t i64Index, uint64_t *pU64ResultSolidArea) const
virtual const CResult Execute()
virtual const CResult GetResultContourRasterRegion(int64_t i64Index, Base::CFLArray< Base::TRect< int32_t > > *pFlaResult)
virtual const CResult GetResultContourRasterRegions(Foundation::CFLFigureArray &flfaResults)
virtual const CResult SetThreshold(double f64Threshold1, double f64Threshold2)
virtual const CResult GetResultContour(int64_t i64Index, Foundation::CFLRegion &flrgResultContour) const
ImageProcessing::EThresholdMode m_eThresholdMode
Definition Blob.h:2939
virtual const CResult GetResultContourRasterRegion(int64_t i64Index, Foundation::CFLFigureArray &flfaResult)
virtual const CResult SetLogicalCondition(Base::ELogicalCondition eLogicalCondition=Base::ELogicalCondition_Greater, ImageProcessing::EThresholdIndex eIndex=ImageProcessing::EThresholdIndex_First)
virtual const CResult GetResultBoundaryRects(Foundation::CFLFigureArray &flfaResultBoundaryRect) const
virtual EContourResultType GetContourResultType() const
virtual const CResult GetResultLabelImage(Base::CFLImage *pFliResultLabelImage) const
virtual const CResult ClearSortItem()
연결 요소 레이블링 클래스
Definition BlobSubsampled.h:35
ReportDescriptorForBlob 클래스
Definition ReportDescriptorForBlob.h:22
Template type 의 배열 클래스.
Definition FLArray.h:53
FLImaging의 이미지 클래스
Definition FLImage.h:35
다중 변수 클래스
Definition MultiVar.h:31
직사각형을 표현하는 간략화된 클래스
Definition TRect.h:37
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1596
점을 표현하는 클래스
Definition FLPoint.h:24
사변형을 표현하는 클래스
Definition FLQuad.h:24
직사각형을 표현하는 클래스
Definition FLRect.h:24
영역을 표현하는 클래스
Definition FLRegion.h:26
ReportDescriptor 클래스
Definition ReportDescriptor.h:22
이미지 처리 클래스의 베이스 클래스
Definition AlgorithmFeature_SR.h:31
Definition AlgorithmAIBase.h:16
Definition AlgorithmFeature_DI_BAT_CI.h:15
ELogicalCondition
논리적 조건
Definition DefinitionsBase.h:3099
@ ELogicalCondition_Greater
큼
Definition DefinitionsBase.h:3108
EThresholdIndex
Definition DefinitionsImgProcBase.h:233
@ EThresholdIndex_First
Definition DefinitionsImgProcBase.h:239
EThresholdMode
Definition DefinitionsImgProcBase.h:27
@ EThresholdMode_Single
Definition DefinitionsImgProcBase.h:33