namespace SHH.CameraSdk
{
///
/// 图像预处理配置模型
/// 用于定义相机采集后的原始帧在分发给订阅者之前的通用处理参数
///
public class PreprocessConfig
{
#region --- 分辨率与缩放控制 (Resolution & Scale) ---
///
/// 目标输出宽度(单位:像素)
/// 范围约束:176 - 1920 px
///
public int Width { get; set; }
///
/// 目标输出高度(单位:像素)
/// 范围约束:44 - 1080 px
///
public int Height { get; set; }
///
/// 等比缩放倍率(基于原始分辨率的系数)
/// 例如:0.5 表示缩小一半,1.2 表示放大 20%
///
public double Scale { get; set; } = 1.0;
///
/// 是否锁定等比缩放
/// true: 修改宽度时高度按比例自动调整;false: 允许拉伸或压缩变形
///
public bool IsAspectRatio { get; set; } = true;
#endregion
#region --- 业务权限约束 (Business Constraints) ---
///
/// 是否允许缩小图像
/// 默认为 true。若为 false,则 Target 尺寸不得低于原始分辨率
///
public bool AllowShrink { get; set; } = true;
///
/// 是否启用放大功能
/// 默认为 false。若未开启,当目标尺寸大于原始分辨率时将强制回退到原始尺寸
///
public bool AllowEnlarge { get; set; } = false;
#endregion
#region --- 图像质量增强 (Image Enhancement) ---
///
/// 是否开启图像增量(亮度/对比度补偿)
/// 只有此项为 true 时,Brightness 增益参数才会生效
///
public bool EnableGain { get; set; } = false;
///
/// 图像增量百分比(Gain/Gamma 调节)
/// 范围:0 - 100%。用于在暗光环境下提升画面可见度
///
public int Brightness { get; set; } = 0;
#endregion
}
}