2026-01-26 18:56:53 +09:00

44 lines
1.3 KiB
C#

/*
* Copyright (c) 2025 LG Electronics Inc.
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
*/
using System;
namespace VisionCommon {
public class PreProcessingParam : ICloneCopy<PreProcessingParam> {
public FilteringParam FilParam { get; set; } = new FilteringParam();
public BinarizationParam BinParam { get; set; } = new BinarizationParam();
public MorphologyParam MorphParam { get; set; } = new MorphologyParam();
public bool Enabled() {
return FilteringEnabled() || BinaryEnabled();
}
public bool FilteringEnabled() {
return FilParam.Enabled;
}
public bool BinaryEnabled() {
return BinParam.Enabled;
}
public bool MorphEnabled() {
return BinParam.Enabled && MorphParam.Enabled;
}
public PreProcessingParam Clone() {
return ((ICloneable)this).Clone() as PreProcessingParam;
}
object ICloneable.Clone() {
var cloneObj = new PreProcessingParam();
CopyTo(cloneObj);
return cloneObj;
}
public void CopyTo(PreProcessingParam target) {
target.FilParam = this.FilParam.Clone();
target.BinParam = this.BinParam.Clone();
target.MorphParam = this.MorphParam.Clone();
}
}
}