/// <summary> /// 获取图像传感器对角线长度 /// </summary> /// <param name="s">图像传感器画幅</param> /// <returns>图像传感器对角线长度(mm)</returns> public static double GetSensorDiagonal(ImageSensorTyprEnum s) { double r = 0.0; switch (s) { case ImageSensorTyprEnum.Full: r = 43.27; break; case ImageSensorTyprEnum.CannonC: r = 26.68; break; case ImageSensorTyprEnum.APSC: r = 28.4; break; default: r = 43.27; break; } return(r); }
public ImageSensor(ImageSensorTyprEnum s) { ImageSensorType = s; }
/// <summary> /// 新建一个相机 /// </summary> /// <param name="sensorEnum">传感器类型</param> /// <param name="f">焦距</param> /// <param name="name">相机名称</param> public Camera(ImageSensorTyprEnum sensorEnum, int f, string name = "Default") { Name = name; Sensor = new ImageSensor(sensorEnum); Focal = f; }
/// <summary> /// 获取水平视场 /// </summary> /// <param name="f">焦距</param> /// <param name="s">图像传感器画幅</param> /// <returns>水平视场(角度)</returns> public static double GetFOV(int f, ImageSensorTyprEnum s) { return(GetFOV(f, GetSensorDiagonal(s))); }