FLImaging 6.6.27.1
Blob.h
1#pragma once
2
11
12#include "DefinitionsAdvancedFunctions.h"
13#include "ReportDescriptorForBlob.h"
14
16namespace FLImaging
17{
18 namespace AI
19 {
20 class CInternalSegmentationRegionExtractor;
21 }
22
24 namespace AdvancedFunctions
25 {
26 class CInternalBlob;
27 class CBlobSubsampled;
28
29 template <typename dataType, typename maxType>
30 class CInternalBlobTemplate;
31
32 template <typename dataType, typename maxType>
33 class CInternalBlobSubsampledTemplate;
34
45 {
46 public:
55 {
106 };
107
116 {
127 };
128
137 {
298 };
299
308 {
501 };
502
510 {
521 };
522
530 {
541 };
542
551 {
561 };
562
572 CBlob(const CBlob& cc);
577 CBlob(const CBlob* pCc);
582 virtual ~CBlob();
583
597 const CBlob& operator=(const CBlob& cc);
598
610 virtual const CResult Assign(const CBlob& cc);
622 virtual const CResult Assign(const CBlob* pCc);
623
656
710 virtual const CResult SetThreshold(double f64Threshold1, double f64Threshold2);
768 virtual const CResult SetThreshold(const Base::CMultiVar<double>& mvThreshold1, const Base::CMultiVar<double>& mvThreshold2);
769
801 virtual const CResult GetThreshold(double& f64Threshold) const;
817 virtual const CResult GetThreshold(double& f64Threshold1, double& f64Threshold2) const;
833 virtual const CResult GetThreshold(Base::CMultiVar<double>& mvThreshold) const;
851 virtual const CResult GetThreshold(Base::CMultiVar<double>& mvThreshold1, Base::CMultiVar<double>& mvThreshold2) const;
852
868 virtual const CResult EnabledAbsoluteMode(bool bAbsoluteMode = false);
880 virtual bool IsAbsoluteModeEnabled() const;
881
914
956 virtual const CResult SetLogicalCondition(Base::ELogicalCondition eLogicalCondition1, Base::ELogicalCondition eLogicalCondition2);
1002 virtual const CResult SetLogicalCondition(const Base::CMultiVar<int64_t>& mvLogicalCondition1, const Base::CMultiVar<int64_t>& mvLogicalCondition2);
1003
1043 virtual const CResult GetLogicalCondition(Base::ELogicalCondition& eLogicalCondition1, Base::ELogicalCondition& eLogicalCondition2) const;
1044
1077
1110
1143
1161 virtual const CResult GetResultLabelImage(Base::CFLImage& fliResultLabelImage) const;
1179 virtual const CResult GetResultLabelImage(Base::CFLImage* pFliResultLabelImage) const;
1180
1198 virtual const CResult GetResultBlobImage(Base::CFLImage& fliResultBlobImage) const;
1216 virtual const CResult GetResultBlobImage(Base::CFLImage* pFliResultBlobImage) const;
1217
1239 virtual const CResult GetResultBoundaryRects(Foundation::CFLFigureArray* pFlfaResultBoundaryRect) const;
1259 virtual const CResult GetResultBoundaryRects(Foundation::CFLFigureArray& flfaResultBoundaryRect) const;
1281 virtual const CResult GetResultBoundaryRect(int64_t i64Index, Foundation::CFLRect<int32_t>* pFlrResultBoundaryRect) const;
1302 virtual const CResult GetResultBoundaryRect(int64_t i64Index, Foundation::CFLRect<int32_t>& flrResultBoundaryRect) const;
1303
1325 virtual const CResult GetResultContours(Foundation::CFLFigureArray* pFlfaResultContour) const;
1345 virtual const CResult GetResultContours(Foundation::CFLFigureArray& flfaResultContour) const;
1367 virtual const CResult GetResultContour(int64_t i64Index, Foundation::CFLRegion* pFlrgResultContour) const;
1388 virtual const CResult GetResultContour(int64_t i64Index, Foundation::CFLRegion& flrgResultContour) const;
1389
1411 virtual const CResult GetResultPixelCenterContours(Foundation::CFLFigureArray* pFlfaResultContour) const;
1431 virtual const CResult GetResultPixelCenterContours(Foundation::CFLFigureArray& flfaResultContour) const;
1453 virtual const CResult GetResultPixelCenterContour(int64_t i64Index, Foundation::CFLRegion* pFlrgResultContour) const;
1474 virtual const CResult GetResultPixelCenterContour(int64_t i64Index, Foundation::CFLRegion& flrgResultContour) const;
1538 virtual const CResult GetResultMinimumEnclosingRectangle(int64_t i64Index, Foundation::CFLQuad<double>* pFlqResultMER) const;
1559 virtual const CResult GetResultMinimumEnclosingRectangle(int64_t i64Index, Foundation::CFLQuad<double>& flqResultMER) const;
1560
1582 virtual const CResult GetResultConvexHulls(Foundation::CFLFigureArray* pFlfaResultConvex) const;
1602 virtual const CResult GetResultConvexHulls(Foundation::CFLFigureArray& flfaResultConvex) const;
1624 virtual const CResult GetResultConvexHull(int64_t i64Index, Foundation::CFLRegion* pFlrgResultConvex) const;
1645 virtual const CResult GetResultConvexHull(int64_t i64Index, Foundation::CFLRegion& flrgResultConvex) const;
1646
1666 virtual const CResult GetResultCircularities(Base::CFLArray<double>* pFlaResultCircularities) const;
1684 virtual const CResult GetResultCircularities(Base::CFLArray<double>& flaResultCircularities) const;
1705 virtual const CResult GetResultCircularities(Base::CFLArray<Base::CFLArray<double>>* pFlaResultCircularities) const;
1724 virtual const CResult GetResultCircularities(Base::CFLArray<Base::CFLArray<double>>& flaResultCircularities) const;
1743 virtual const CResult GetResultCircularity(int64_t i64Index, double* pF64ResultCircularity) const;
1762 virtual const CResult GetResultCircularity(int64_t i64Index, double& f64ResultCircularity) const;
1763
1785 virtual const CResult GetResultGravityCenters(Foundation::CFLFigureArray* pFlfaResultGravityCenters) const;
1806 virtual const CResult GetResultGravityCenters(Foundation::CFLFigureArray& flfaResultGravityCenters) const;
1828 virtual const CResult GetResultGravityCenter(int64_t i64Index, Foundation::CFLPoint<double>* pFlpResultGravityCenter) const;
1850 virtual const CResult GetResultGravityCenter(int64_t i64Index, Foundation::CFLPoint<double>& flpResultGravityCenter) const;
1851
1871 virtual const CResult GetResultAreas(Base::CFLArray<uint64_t>* pFlaResultArea) const;
1889 virtual const CResult GetResultAreas(Base::CFLArray<uint64_t>& flaResultArea) const;
1910 virtual const CResult GetResultAreas(Base::CFLArray<Base::CFLArray<uint64_t>>* pFlaResultArea) const;
1948 virtual const CResult GetResultArea(int64_t i64Index, uint64_t* pU64ResultArea) const;
1967 virtual const CResult GetResultArea(int64_t i64Index, uint64_t& u64ResultArea) const;
1968
1988 virtual const CResult GetResultSolidAreas(Base::CFLArray<uint64_t>* pFlaResultSolidArea) const;
2006 virtual const CResult GetResultSolidAreas(Base::CFLArray<uint64_t>& flaResultSolidArea) const;
2027 virtual const CResult GetResultSolidAreas(Base::CFLArray<Base::CFLArray<uint64_t>>* pFlaResultSolidArea) const;
2046 virtual const CResult GetResultSolidAreas(Base::CFLArray<Base::CFLArray<uint64_t>>& flaResultSolidArea) const;
2065 virtual const CResult GetResultSolidArea(int64_t i64Index, uint64_t* pU64ResultSolidArea) const;
2084 virtual const CResult GetResultSolidArea(int64_t i64Index, uint64_t& u64ResultSolidArea) const;
2085
2103 virtual const CResult GetResultAngles(Base::CFLArray<float>* pFlaResultAngles) const;
2121 virtual const CResult GetResultAngles(Base::CFLArray<float>& flaResultAngles) const;
2142 virtual const CResult GetResultAngles(Base::CFLArray<Base::CFLArray<float>>* pFlaResultAngles) const;
2161 virtual const CResult GetResultAngles(Base::CFLArray<Base::CFLArray<float>>& flaResultAngles) const;
2180 virtual const CResult GetResultAngle(int64_t i64Index, float* pF32ResultAngle) const;
2199 virtual const CResult GetResultAngle(int64_t i64Index, float& f32ResultAngle) const;
2200
2224 virtual const CResult Filter(EFilterItem eItem, double f64Value, Base::ELogicalCondition eCondition);
2272 virtual const CResult Sort(const Base::CFLArray<int32_t>& flaItem, const Base::CFLArray<int32_t>& flaOrder);
2273
2295
2309 virtual const CResult Clear();
2310
2322 virtual int64_t GetResultCount() const;
2323
2338 virtual const CResult Execute();
2339
2340
2341 virtual const CResult ReportToCSV(const Foundation::CReportDescriptor* pRd) const override;
2342
2362 virtual const CResult ReportToCSV(const CReportDescriptorForBlob& rd) const;
2382 virtual const CResult ReportToCSV(const CReportDescriptorForBlob* pRd) const;
2383
2407 virtual const CResult SetFilterItem(CBlob::EFilterItem eFilterItem, double f64Value, Base::ELogicalCondition eFilterCondition);
2431 virtual const CResult AddFilterItem(CBlob::EFilterItem eFilterItem, double f64Value, Base::ELogicalCondition eFilterCondition);
2457 virtual const CResult SetFilterItem(const Base::CFLArray<int32_t>& flaFilterItem, const Base::CFLArray<double>& flaValue, const Base::CFLArray<int32_t>& flaFilterCondition);
2483 virtual const CResult AddFilterItem(const Base::CFLArray<int32_t>& flaFilterItem, const Base::CFLArray<double>& flaValue, const Base::CFLArray<int32_t>& flaFilterCondition);
2484
2508 virtual const CResult GetFilterItem(CBlob::EFilterItem& eFilterItem, double& f64Value, Base::ELogicalCondition& eFilterCondition) const;
2534 virtual const CResult GetFilterItem(Base::CFLArray<int32_t>& flaFilterItem, Base::CFLArray<double>& flaValue, Base::CFLArray<int32_t>& flaFilterCondition) const;
2535
2549 virtual const CResult ClearFilterItem();
2550
2572 virtual const CResult SetSortItem(CBlob::EFilterItem eSortItem, CBlob::EOrder eOrder);
2594 virtual const CResult AddSortItem(CBlob::EFilterItem eSortItem, CBlob::EOrder eOrder);
2618 virtual const CResult SetSortItem(const Base::CFLArray<int32_t>& flaItem, const Base::CFLArray<int32_t>& flaOrder);
2642 virtual const CResult AddSortItem(const Base::CFLArray<int32_t>& flaItem, const Base::CFLArray<int32_t>& flaOrder);
2664 virtual const CResult GetSortItem(CBlob::EFilterItem& eSortItem, CBlob::EOrder& eOrder) const;
2688 virtual const CResult GetSortItem(Base::CFLArray<int32_t>& flaItem, Base::CFLArray<int32_t>& flaOrder) const;
2689
2709 virtual const CResult SetSortClusterMode(CBlob::ESortClusterModeMethod eMethod, double f64Coefficient);
2729 virtual bool GetSortClusterMode(CBlob::ESortClusterModeMethod& eMethod, double& f64Coefficient) const;
2730
2744 virtual const CResult ClearSortItem();
2745
2850 virtual const CResult GetResultContourRasterRegion(int64_t i64Index, Base::CFLArray<Base::TRect<int32_t>>* pFlaResult);
2872 virtual const CResult GetResultContourRasterRegion(int64_t i64Index, Base::CFLArray<Base::TRect<int32_t>>& flaResult);
2896 virtual const CResult GetResultContourRasterRegion(int64_t i64Index, Foundation::CFLFigureArray* pFlfaResult);
2918 virtual const CResult GetResultContourRasterRegion(int64_t i64Index, Foundation::CFLFigureArray& flfaResult);
2919
2920 virtual bool IsLicenseAvailable() const override;
2921
2922
2923 DeclareGetClassType();
2924 SupportToDuplicateObject(CBlob, *this);
2925
2926 protected:
2927
2988
3005
3030
3055
3096
3097 protected:
3098 friend class CInternalBlob;
3099 friend class CBlobSubsampled;
3100 friend class CInternalBlobSubsampled;
3101 friend class CMura;
3102 friend class CInternalMura;
3103 friend class AI::CInternalSegmentationRegionExtractor;
3104
3105 template<typename T1, typename T2> friend class CInternalBlobTemplate;
3106 template<typename T1, typename T2> friend class CInternalBlobSubsampledTemplate;
3107
3108
3109 CInternalBlob* m_pInternal;
3110 };
3111 }
3112}
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_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 FLFigureArray.h:26
점을 표현하는 클래스
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