FLImaging 6.7.10.2
AdaptiveThreshold.h
1#pragma once
2
23
24
26namespace FLImaging
27{
29 namespace ImageProcessing
30 {
31 class CInternalAdaptiveThreshold;
32
49 class FL_EXPORT CAdaptiveThreshold : public CAlgorithmFeature_SR_SP_DI_DR_DP_BLK_FBLK_BAT
50 {
51 public:
52
67 {
93
118 };
119
125
130 CAdaptiveThreshold(const CAdaptiveThreshold& AdaptiveThreshold);
131
136 CAdaptiveThreshold(const CAdaptiveThreshold* pAdaptiveThreshold);
137
143
159 const CAdaptiveThreshold& operator=(const CAdaptiveThreshold& AdaptiveThreshold);
160
174 virtual const CResult Assign(const CAdaptiveThreshold& AdaptiveThreshold);
175
187 virtual const CResult Assign(const CAdaptiveThreshold* pAdaptiveThreshold);
188
202 virtual const CResult Execute();
203
215 virtual const CResult Clear() override;
216
234 virtual const CResult SetThresholdOffset(const Base::CMultiVar<double>& mvThresholdOffset);
235
250
266 virtual const CResult SetKernel(int64_t i64Kernel = 7);
267
285 virtual const CResult SetKernel(int64_t i64KernelWidth, int64_t i64KernelHeight);
286
304 virtual const CResult GetKernel(int64_t& i64KernelWidth, int64_t& i64KernelHeight) const;
305
328
343
362
377
392
403
417 virtual const CResult SetPaddingValue(const Base::CMultiVar<double>& mvPaddingValue);
418
429
447 virtual const CResult SetRangeValue(const Base::CMultiVar<double>& mvRangeValue);
448
463
481 virtual const CResult SetOutOfRangeValue(const Base::CMultiVar<double>& mvOutOfRangeValue);
482
497
498
499 virtual bool IsLicenseAvailable() const override;
500
501
502 DeclareGetClassType();
503 SupportToDuplicateObject(CAdaptiveThreshold, *this);
504
505 protected:
506
515
524
537
550
561
574
587
600
613
614 protected:
615 CInternalAdaptiveThreshold* m_pInternal;
616 friend class CInternalAdaptiveThreshold;
617 };
618 };
619}
620
Multi variable class.
Definition MultiVar.h:31
FLImaging module execution result object.
Definition ResultsDef.h:1596
virtual const CResult GetKernel(int64_t &i64KernelWidth, int64_t &i64KernelHeight) const
virtual const CResult SetKernel(int64_t i64Kernel=7)
virtual Base::CMultiVar< double > GetPaddingValue() const
virtual const CResult SetKernel(int64_t i64KernelWidth, int64_t i64KernelHeight)
virtual const CResult SetPaddingValue(const Base::CMultiVar< double > &mvPaddingValue)
int64_t m_i64KernelHeight
Definition AdaptiveThreshold.h:523
virtual const CResult SetThresholdOffset(const Base::CMultiVar< double > &mvThresholdOffset)
virtual ELogicalConditionOfChannels GetLogicalConditionOfChannels() const
CAdaptiveThreshold(const CAdaptiveThreshold *pAdaptiveThreshold)
EAdaptiveThresholdMethod m_eMethod
Definition AdaptiveThreshold.h:549
virtual const CResult SetRangeValue(const Base::CMultiVar< double > &mvRangeValue)
virtual const Base::CMultiVar< double > GetOutOfRangeValue() const
Base::CMultiVar< double > m_mvOutOfRangeValue
Definition AdaptiveThreshold.h:612
Base::CMultiVar< double > m_mvRangeValue
Definition AdaptiveThreshold.h:599
CAdaptiveThreshold(const CAdaptiveThreshold &AdaptiveThreshold)
virtual const CResult SetPaddingMethod(EPaddingMethod ePaddingMethod=EPaddingMethod_Interpolation)
virtual const CResult SetAdaptiveThresholdMethod(EAdaptiveThresholdMethod eThresholdMethod=EAdaptiveThresholdMethod_Normal)
virtual bool IsLicenseAvailable() const override
Returns whether the algorithm can be used with the current license.
EAdaptiveThresholdMethod
Binarization calculation method enum.
Definition AdaptiveThreshold.h:67
@ EAdaptiveThresholdMethod_Normal
A method of binarizing using the average of the kernel size region as a threshold value.
Definition AdaptiveThreshold.h:92
@ EAdaptiveThresholdMethod_Range
After calculating the average of the kernel size region, the region is binarized based on the input v...
Definition AdaptiveThreshold.h:117
virtual const Base::CMultiVar< double > GetThresholdOffset() const
virtual const CResult SetOutOfRangeValue(const Base::CMultiVar< double > &mvOutOfRangeValue)
virtual EAdaptiveThresholdMethod GetAdaptiveThresholdMethod() const
virtual const CResult SetLogicalConditionOfChannels(ELogicalConditionOfChannels eCondition)
const CAdaptiveThreshold & operator=(const CAdaptiveThreshold &AdaptiveThreshold)
ELogicalConditionOfChannels m_eLogicalConditionOfChannels
Definition AdaptiveThreshold.h:560
virtual const CResult Assign(const CAdaptiveThreshold &AdaptiveThreshold)
Base::CMultiVar< double > m_mvThresholdOffset
Definition AdaptiveThreshold.h:536
Base::CMultiVar< double > m_mvPaddingValue
Definition AdaptiveThreshold.h:586
virtual const CResult Assign(const CAdaptiveThreshold *pAdaptiveThreshold)
virtual const Base::CMultiVar< double > GetRangeValue() const
int64_t m_i64KernelWidth
Definition AdaptiveThreshold.h:514
virtual const CResult Clear() override
virtual EPaddingMethod GetPaddingMethod() const
EPaddingMethod m_ePaddingMethod
Definition AdaptiveThreshold.h:573
Definition AbsoluteThreshold.h:25
EPaddingMethod
Definition DefinitionsImgProcBase.h:415
@ EPaddingMethod_Interpolation
Definition DefinitionsImgProcBase.h:420
ELogicalConditionOfChannels
Definition DefinitionsImgProcBase.h:55