Esempio n. 1
0
 /// <summary>
 /// 更新相机
 /// </summary>
 public void UpdateCameras()
 {
     Cameras.Clear();
     if ((CameraFactory.Cameras?.Values != null) && (Scene?.VisionFrame?.IsEnableCamera == true))
     {
         CameraFactory.AddAllCamera();
         Cameras = new ObservableCollection <ICamera>(CameraFactory.Cameras.Values);
     }
 }
        private void ConfigFrameButton_Click(object sender, RoutedEventArgs e)
        {
            //移除所有的场景和相机
            CameraFactory.RemoveAllCameras();
            SceneManager.ResetScenes();

            //切换环境
            CameraFactory.DefaultCameraSdkType        = (ECameraSdkType)CameraSDKComboBox.SelectedItem;
            VisionFrameFactory.DefaultVisionFrameType = (EVisionFrameType)VisionFrameComboBox.SelectedItem;

            CameraFactory.AddAllCamera();
            SceneManager.RecoverScenes();

            //更新场景
            ScenesListView.Items.Clear();
            foreach (var item in SceneManager.Scenes.Values)
            {
                ScenesListView.Items.Add(item);
            }
        }
        public MainWindow()
        {
            InitializeComponent();

            //更新视觉框架集合
            VisionFrameFactory.UpdateAssembly();
            VisionFrameFactory.DefaultVisionFrameType = EVisionFrameType.HalconDLL;

            //更新相机框架集合
            CameraFactory.UpdateAssembly();
            CameraFactory.DefaultCameraSdkType = ECameraSdkType.uEye;

            if ((VisionFrameFactory.DefaultVisionFrameType != EVisionFrameType.VisionProVpp) && (CameraFactory.DefaultCameraSdkType == ECameraSdkType.VirtualCamera))
            {
                if (Directory.Exists(@"C:\Users\Public\Documents\MVTec\HALCON-17.12-Progress\examples\images"))
                {
                    CameraFactory.AddCamera(@"C:\Users\Public\Documents\MVTec\HALCON-17.12-Progress\examples\images");
                }

                if (Directory.Exists(@"E:\测试图像\刹车片"))
                {
                    CameraFactory.AddCamera(@"E:\测试图像\刹车片");
                }

                if (Directory.Exists(@"E:\测试图像\AGV标定板"))
                {
                    CameraFactory.AddCamera(@"E:\测试图像\AGV标定板");
                }

                if (Directory.Exists(@"E:\测试图像\眼镜"))
                {
                    CameraFactory.AddCamera(@"E:\测试图像\眼镜");
                }

                if (Directory.Exists(@"E:\测试图像\定位圆"))
                {
                    CameraFactory.AddCamera(@"E:\测试图像\定位圆");
                }

                if (Directory.Exists(@"E:\测试图像\眼镜腿"))
                {
                    CameraFactory.AddCamera(@"E:\测试图像\眼镜腿");
                }
            }

            //获取场景管理器实例(单例)
            SceneManager = SceneManager.GetInstance();

            //恢复场景
            SceneManager.RecoverScenes();

            ScenesListView.Items.Clear();
            foreach (var item in SceneManager.Scenes.Values)
            {
                ScenesListView.Items.Add(item);
            }

            //更新控件
            VisionFrameComboBox.Items.Clear();
            VisionFrameComboBox.ItemsSource  = VisionFrameFactory.VisionFrameAssemblys.Keys;
            VisionFrameComboBox.SelectedItem = VisionFrameFactory.DefaultVisionFrameType;

            CameraSDKComboBox.Items.Clear();
            CameraSDKComboBox.ItemsSource  = CameraFactory.CameraAssemblys.Keys;
            CameraSDKComboBox.SelectedItem = CameraFactory.DefaultCameraSdkType;

            //添加所有的相机
            CameraFactory.AddAllCamera();
        }