/// <summary>
        /// 添加相机
        /// </summary>
        /// <param name="cameraSerial">相机序列号</param>
        /// <exception cref="InvalidOperationException">
        /// 打开相机失败
        /// </exception>
        public static void AddCamera(string cameraSerial)
        {
            //校验相机SDK是否有效
            if (!CameraAssemblys.ContainsKey(DefaultCameraSdkType))
            {
                throw new ArgumentException("ECameraSdkType invalid");
            }

            if (string.IsNullOrEmpty(cameraSerial))
            {
                throw new ArgumentException("cameraSerial cannot be null");
            }

            //如果当前相机已经注册了,则直接返回
            if (Cameras.ContainsKey(cameraSerial))
            {
                return;
            }

            ICamera camera = CreateInstance(DefaultCameraSdkType);

            if (camera.Connect(cameraSerial))
            {
                Cameras.Add(cameraSerial, camera);
                SetToDefaultConfiguration(camera);
                return;
            }
            else
            {
                throw new InvalidOperationException($"open camera[{cameraSerial}] err!");
            }
        }
        /// <summary>
        /// 获取所有的相机
        /// </summary>
        /// <returns>相机信息列表</returns>
        public static List <DeviceInfo> GetAllCameras()
        {
            //校验相机SDK是否有效
            if (!CameraAssemblys.ContainsKey(DefaultCameraSdkType))
            {
                throw new ArgumentException("ECameraSdkType invalid");
            }

            return(CreateInstance(DefaultCameraSdkType).GetDeviceList());
        }
        /// <summary>
        /// 添加所有的相机
        /// </summary>
        /// <returns>执行结果</returns>
        public static void AddAllCamera()
        {
            //校验相机SDK名是否有效
            if (!CameraAssemblys.ContainsKey(DefaultCameraSdkType))
            {
                throw new ArgumentException("ECameraSdkType invalid");
            }

            try
            {
                //添加所有的相机
                var devices = GetAllCameras();
                foreach (var item in devices)
                {
                    AddCamera(item.SerialNumber);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }