FLImaging 6.6.27.1
VarianceThreshold.h
1#pragma once
2
21
22
24namespace FLImaging
25{
27 namespace ImageProcessing
28 {
29 class CInternalVarianceThreshold;
30
49 class FL_EXPORT CVarianceThreshold : public CAlgorithmFeature_SR_SP_DI_DR_DP_BLK_FBLK_BAT
50 {
51 public:
52
71 {
103
134
165
196 };
197
203
208 CVarianceThreshold(const CVarianceThreshold& VarianceThreshold);
209
214 CVarianceThreshold(const CVarianceThreshold* pVarianceThreshold);
215
221
237 const CVarianceThreshold& operator=(const CVarianceThreshold& VarianceThreshold);
238
252 virtual const CResult Assign(const CVarianceThreshold& VarianceThreshold);
253
265 virtual const CResult Assign(const CVarianceThreshold* pVarianceThreshold);
266
280 virtual const CResult Execute();
281
293 virtual const CResult Clear() override;
294
313
328
346 virtual const CResult SetStdDevScale(const Base::CMultiVar<double>& mvStdDevScale);
347
362
380 virtual const CResult SetAbsThreshold(const Base::CMultiVar<double>& mvAbsThreshold);
381
396
414 virtual const CResult SetKernel(int64_t i64KernelWidth, int64_t i64KernelHeight);
415
433 virtual const CResult SetKernel(const Base::CMultiVar<int64_t>& mvKernelSize = Base::CMultiVar<int64_t>(15, 15));
434
448 virtual const Base::CMultiVar<int64_t> GetKernel() const;
449
467 virtual const CResult SetLogicalCondition(EVarianceThresholdCondition eThresholdCondition);
468
488 virtual const CResult SetLogicalCondition(int64_t i64ThresholdCondition);
489
509 virtual const CResult SetLogicalCondition(const Base::CMultiVar<int64_t>& mvThresholdCondition);
510
527
545 virtual const CResult GetLogicalCondition(EVarianceThresholdCondition& eThresholdCondition) const;
546
566 virtual const CResult GetLogicalCondition(Base::CMultiVar<int64_t>& mvThresholdCondition) const;
567
585 virtual const CResult SetRangeValue(const Base::CMultiVar<double>& mvRangeValue);
586
604 virtual const CResult SetRangeValue(const Base::CMultiVar<uint64_t>& mvRangeValue);
605
623 virtual const CResult SetRangeValue(const Base::CMultiVar<int64_t>& mvRangeValue);
624
640 virtual const CResult GetRangeValue(Base::CMultiVar<double>& mvRangeValue) const;
641
657 virtual const CResult GetRangeValue(Base::CMultiVar<uint64_t>& mvRangeValue) const;
658
674 virtual const CResult GetRangeValue(Base::CMultiVar<int64_t>& mvRangeValue) const;
675
691 virtual const CResult GetRangeValue(Base::CMultiVar<double>* pMvRangeValue) const;
692
708 virtual const CResult GetRangeValue(Base::CMultiVar<uint64_t>* pMvRangeValue) const;
709
725 virtual const CResult GetRangeValue(Base::CMultiVar<int64_t>* pMvRangeValue) const;
726
744 virtual const CResult SetOutOfRangeValue(const Base::CMultiVar<double> mvOutOfRangeValue);
745
763 virtual const CResult SetOutOfRangeValue(const Base::CMultiVar<uint64_t> mvOutOfRangeValue);
764
782 virtual const CResult SetOutOfRangeValue(const Base::CMultiVar<int64_t> mvOutOfRangeValue);
783
799 virtual const CResult GetOutOfRangeValue(Base::CMultiVar<double>& mvOutOfRangeValue) const;
800
816 virtual const CResult GetOutOfRangeValue(Base::CMultiVar<uint64_t>& mvOutOfRangeValue) const;
817
833 virtual const CResult GetOutOfRangeValue(Base::CMultiVar<int64_t>& mvOutOfRangeValue) const;
834
850 virtual const CResult GetOutOfRangeValue(Base::CMultiVar<double>* pMvOutOfRangeValue) const;
851
867 virtual const CResult GetOutOfRangeValue(Base::CMultiVar<uint64_t>* pMvOutOfRangeValue) const;
868
884 virtual const CResult GetOutOfRangeValue(Base::CMultiVar<int64_t>* pMvOutOfRangeValue) const;
885
886 virtual bool IsLicenseAvailable() const override;
887
888
889 DeclareGetClassType();
890 SupportToDuplicateObject(CVarianceThreshold, *this);
891
892 protected:
893
906
919
932
945
958
971
984
997
1010
1023
1036
1037 protected:
1038 CInternalVarianceThreshold* m_pInternal;
1039 friend class CInternalVarianceThreshold;
1040 };
1041 };
1042}
1043
다중 변수 클래스
Definition MultiVar.h:31
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1596
EVarianceThresholdCondition
이진화 계산 방식 열거형
Definition VarianceThreshold.h:71
@ EVarianceThresholdCondition_Light
커널 사이즈 영역의 평균과 가변 임계값의 합을 임계값으로 사용하여 이진화
Definition VarianceThreshold.h:133
@ EVarianceThresholdCondition_Equal
커널 사이즈 영역의 평균과 가변 임계값의 합과 차를 임계값으로 사용하여 이진화
Definition VarianceThreshold.h:164
@ EVarianceThresholdCondition_NotEqual
커널 사이즈 영역의 평균과 가변 임계값의 합과 차를 임계값으로 사용하여 이진화
Definition VarianceThreshold.h:195
@ EVarianceThresholdCondition_Dark
커널 사이즈 영역의 평균과 가변 임계값의 차를 임계값으로 사용하여 이진화
Definition VarianceThreshold.h:102
virtual const CResult GetOutOfRangeValue(Base::CMultiVar< int64_t > &mvOutOfRangeValue) const
virtual const CResult GetOutOfRangeValue(Base::CMultiVar< double > *pMvOutOfRangeValue) const
virtual const CResult GetOutOfRangeValue(Base::CMultiVar< double > &mvOutOfRangeValue) const
virtual const CResult GetRangeValue(Base::CMultiVar< int64_t > *pMvRangeValue) const
virtual const CResult GetOutOfRangeValue(Base::CMultiVar< int64_t > *pMvOutOfRangeValue) const
CVarianceThreshold(const CVarianceThreshold *pVarianceThreshold)
ELogicalConditionOfChannels m_eLogicalConditionOfChannels
Definition VarianceThreshold.h:957
Base::CMultiVar< uint64_t > m_mvU64OutOfRangeValue
Definition VarianceThreshold.h:1022
virtual const CResult GetLogicalCondition(EVarianceThresholdCondition &eThresholdCondition) const
CVarianceThreshold(const CVarianceThreshold &VarianceThreshold)
virtual const CResult SetRangeValue(const Base::CMultiVar< double > &mvRangeValue)
const CVarianceThreshold & operator=(const CVarianceThreshold &VarianceThreshold)
virtual const CResult SetKernel(const Base::CMultiVar< int64_t > &mvKernelSize=Base::CMultiVar< int64_t >(15, 15))
virtual const CResult SetStdDevScale(const Base::CMultiVar< double > &mvStdDevScale)
virtual const CResult SetLogicalCondition(const Base::CMultiVar< int64_t > &mvThresholdCondition)
Base::CMultiVar< int64_t > m_mvThresholdCondition
Definition VarianceThreshold.h:944
virtual const Base::CMultiVar< int64_t > GetKernel() const
virtual ELogicalConditionOfChannels GetLogicalConditionOfChannels() const
virtual const CResult SetLogicalConditionOfChannels(ELogicalConditionOfChannels eCondition)
Base::CMultiVar< int64_t > m_mvI64OutOfRangeValue
Definition VarianceThreshold.h:1035
virtual const Base::CMultiVar< double > GetAbsThreshold() const
virtual const CResult SetAbsThreshold(const Base::CMultiVar< double > &mvAbsThreshold)
virtual bool IsLicenseAvailable() const override
현재 보유한 라이선스로 해당 알고리즘을 사용할 수 있는지에 대한 여부를 반환 합니다.
virtual const CResult GetRangeValue(Base::CMultiVar< double > &mvRangeValue) const
Base::CMultiVar< int64_t > m_mvI64RangeValue
Definition VarianceThreshold.h:996
Base::CMultiVar< uint64_t > m_mvU64RangeValue
Definition VarianceThreshold.h:983
virtual const CResult SetRangeValue(const Base::CMultiVar< uint64_t > &mvRangeValue)
virtual const CResult Clear() override
virtual const Base::CMultiVar< int64_t > GetLogicalCondition() const
virtual const CResult GetOutOfRangeValue(Base::CMultiVar< uint64_t > &mvOutOfRangeValue) const
virtual const CResult SetOutOfRangeValue(const Base::CMultiVar< uint64_t > mvOutOfRangeValue)
virtual const Base::CMultiVar< double > GetStdDevScale() const
virtual const CResult SetLogicalCondition(int64_t i64ThresholdCondition)
virtual const CResult SetRangeValue(const Base::CMultiVar< int64_t > &mvRangeValue)
Base::CMultiVar< double > m_mvStdDevScale
Definition VarianceThreshold.h:918
virtual const CResult Assign(const CVarianceThreshold &VarianceThreshold)
virtual const CResult GetLogicalCondition(Base::CMultiVar< int64_t > &mvThresholdCondition) const
virtual const CResult GetRangeValue(Base::CMultiVar< int64_t > &mvRangeValue) const
virtual const CResult GetRangeValue(Base::CMultiVar< uint64_t > *pMvRangeValue) const
Base::CMultiVar< double > m_mvAbsThreshold
Definition VarianceThreshold.h:931
Base::CMultiVar< double > m_mvF64RangeValue
Definition VarianceThreshold.h:970
virtual const CResult SetLogicalCondition(EVarianceThresholdCondition eThresholdCondition)
virtual const CResult SetOutOfRangeValue(const Base::CMultiVar< int64_t > mvOutOfRangeValue)
virtual const CResult SetOutOfRangeValue(const Base::CMultiVar< double > mvOutOfRangeValue)
virtual const CResult GetRangeValue(Base::CMultiVar< double > *pMvRangeValue) const
virtual const CResult SetKernel(int64_t i64KernelWidth, int64_t i64KernelHeight)
virtual const CResult GetRangeValue(Base::CMultiVar< uint64_t > &mvRangeValue) const
virtual const CResult Assign(const CVarianceThreshold *pVarianceThreshold)
Base::CMultiVar< double > m_mvF64OutOfRangeValue
Definition VarianceThreshold.h:1009
Base::CMultiVar< int64_t > m_mvKernelSize
Definition VarianceThreshold.h:905
virtual const CResult GetOutOfRangeValue(Base::CMultiVar< uint64_t > *pMvOutOfRangeValue) const
Definition AbsoluteThreshold.h:25
ELogicalConditionOfChannels
Definition DefinitionsImgProcBase.h:55