package com.ard.work.sdk.zlxd.netty.message.parameters;
|
|
import lombok.Data;
|
|
import javax.xml.bind.annotation.*;
|
import java.io.Serializable;
|
|
/**
|
* 相机通用参数基类
|
*/
|
@Data
|
@XmlAccessorType(XmlAccessType.FIELD)
|
@XmlRootElement(name = "parameters")
|
public class CameraParameters implements Serializable {
|
|
// 基础参数
|
@XmlElement(name = "videoId")
|
private Integer videoId;
|
@XmlElement(name = "exposureMode")
|
private Integer exposureMode;
|
@XmlElement(name = "shutterSpeedVal")
|
private String shutterSpeedVal; // 1/10 这类字符串,用 String 接收
|
@XmlElement(name = "shutterSpeedMaxVal")
|
private String shutterSpeedMaxVal; // 空节点,用 String 兼容
|
@XmlElement(name = "shutterSpeedMinVal")
|
private String shutterSpeedMinVal;
|
@XmlElement(name = "apertureMode")
|
private Integer apertureMode;
|
@XmlElement(name = "apertureSensitivity")
|
private Integer apertureSensitivity;
|
@XmlElement(name = "apertureValue")
|
private Integer apertureValue;
|
@XmlElement(name = "apertureMax")
|
private Integer apertureMax;
|
@XmlElement(name = "apertureMin")
|
private Integer apertureMin;
|
@XmlElement(name = "sensorGainMode")
|
private Integer sensorGainMode;
|
@XmlElement(name = "sensorGain")
|
private Integer sensorGain;
|
@XmlElement(name = "sensorMaxGain")
|
private Integer sensorMaxGain;
|
@XmlElement(name = "sensorMinGain")
|
private Integer sensorMinGain;
|
@XmlElement(name = "exposureRegionMode")
|
private Integer exposureRegionMode;
|
@XmlElement(name = "exposureRegionLeftPos")
|
private Integer exposureRegionLeftPos;
|
@XmlElement(name = "exposureRegionTopPos")
|
private Integer exposureRegionTopPos;
|
@XmlElement(name = "exposureRegionHeight")
|
private Integer exposureRegionHeight;
|
@XmlElement(name = "exposureRegionWidth")
|
private Integer exposureRegionWidth;
|
@XmlElement(name = "exposureCompensation")
|
private Integer exposureCompensation;
|
@XmlElement(name = "autoSlowShutter")
|
private Integer autoSlowShutter;
|
@XmlElement(name = "autoSlowShutterValue")
|
private Integer autoSlowShutterValue;
|
@XmlElement(name = "dayNightMode")
|
private Integer dayNightMode;
|
|
// 时间段参数(嵌套子节点)
|
@XmlElement(name = "scheduleStart")
|
private TimeNode scheduleStart;
|
@XmlElement(name = "scheduleEnd")
|
private TimeNode scheduleEnd;
|
|
// 续参数
|
@XmlElement(name = "sensitivity")
|
private Integer sensitivity;
|
@XmlElement(name = "delayTime")
|
private Integer delayTime;
|
@XmlElement(name = "whiteBalanceMode")
|
private Integer whiteBalanceMode;
|
@XmlElement(name = "redGain")
|
private Integer redGain;
|
@XmlElement(name = "greenGain")
|
private Integer greenGain;
|
@XmlElement(name = "blueGain")
|
private Integer blueGain;
|
@XmlElement(name = "sceneMode")
|
private Integer sceneMode;
|
@XmlElement(name = "gamma")
|
private Integer gamma;
|
@XmlElement(name = "colorGain")
|
private Integer colorGain;
|
@XmlElement(name = "highResolution")
|
private Integer highResolution;
|
@XmlElement(name = "highSensitivity")
|
private Integer highSensitivity;
|
@XmlElement(name = "lowBrtChromaSuppress")
|
private Integer lowBrtChromaSuppress;
|
@XmlElement(name = "colorEnhancement")
|
private Integer colorEnhancement;
|
@XmlElement(name = "highIntensityColor")
|
private Integer highIntensityColor;
|
@XmlElement(name = "lowIntensityColor")
|
private Integer lowIntensityColor;
|
@XmlElement(name = "threshold")
|
private Integer threshold;
|
@XmlElement(name = "videoMode")
|
private Integer videoMode;
|
@XmlElement(name = "imageMirror")
|
private Integer imageMirror;
|
@XmlElement(name = "denoiseFilterMode")
|
private Integer denoiseFilterMode;
|
@XmlElement(name = "denoiseLevel")
|
private Integer denoiseLevel;
|
@XmlElement(name = "denoiseFilter")
|
private Integer denoiseFilter;
|
@XmlElement(name = "denoiseFilterLevel")
|
private Integer denoiseFilterLevel;
|
@XmlElement(name = "timeDomainFilterPara")
|
private Integer timeDomainFilterPara;
|
@XmlElement(name = "spaceDomainFilterPara")
|
private Integer spaceDomainFilterPara;
|
@XmlElement(name = "wideDynamicMode")
|
private Integer wideDynamicMode;
|
@XmlElement(name = "wideDynamicValue")
|
private Integer wideDynamicValue;
|
@XmlElement(name = "backlightMode")
|
private Integer backlightMode;
|
@XmlElement(name = "backlightLeftPos")
|
private Integer backlightLeftPos;
|
@XmlElement(name = "backlightTopPos")
|
private Integer backlightTopPos;
|
@XmlElement(name = "backlightHeight")
|
private Integer backlightHeight;
|
@XmlElement(name = "backlightWidth")
|
private Integer backlightWidth;
|
@XmlElement(name = "backlightValue")
|
private Integer backlightValue;
|
@XmlElement(name = "lightInhibitionMode")
|
private Integer lightInhibitionMode;
|
@XmlElement(name = "lightInhibitionValue")
|
private Integer lightInhibitionValue;
|
@XmlElement(name = "hue")
|
private Integer hue;
|
@XmlElement(name = "chroma")
|
private Integer chroma;
|
@XmlElement(name = "sharpness")
|
private Integer sharpness;
|
@XmlElement(name = "bright")
|
private Integer bright;
|
@XmlElement(name = "contrast")
|
private Integer contrast;
|
@XmlElement(name = "saturation")
|
private Integer saturation;
|
@XmlElement(name = "corridorMode")
|
private Integer corridorMode;
|
@XmlElement(name = "defogEnable")
|
private Integer defogEnable;
|
@XmlElement(name = "defogLevel")
|
private Integer defogLevel;
|
@XmlElement(name = "opticalDefog")
|
private Integer opticalDefog;
|
@XmlElement(name = "focusMode")
|
private Integer focusMode;
|
@XmlElement(name = "focusVal")
|
private Integer focusVal;
|
@XmlElement(name = "focusSensitive")
|
private Integer focusSensitive;
|
@XmlElement(name = "focusSpeed")
|
private Integer focusSpeed;
|
@XmlElement(name = "cameraLensInit")
|
private Integer cameraLensInit;
|
|
// 显式无参构造方法(JAXB 必需)
|
public CameraParameters() {
|
}
|
|
/**
|
* 时间节点内部类(scheduleStart/scheduleEnd 子节点)
|
*/
|
@Data
|
@XmlAccessorType(XmlAccessType.FIELD)
|
public static class TimeNode implements Serializable {
|
@XmlElement(name = "hour")
|
private Integer hour;
|
@XmlElement(name = "minute")
|
private Integer minute;
|
@XmlElement(name = "second")
|
private Integer second;
|
|
// 显式无参构造方法(JAXB 必需)
|
public TimeNode() {
|
}
|
|
public TimeNode(Integer hour, Integer minute, Integer second) {
|
this.hour = hour;
|
this.minute = minute;
|
this.second = second;
|
}
|
}
|
}
|