Ejemplo n.º 1
0
        /// <summary>
        /// Действие кнопки "Начать"
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void StartCameraButton_Click(object sender, EventArgs e)
        {
            try
            {
                // Инициализируем обработчик изображения
                routine = new ImageProcessingRoutine
                          (
                    webCamChoiceComboBox.SelectedIndex,
                    webCamFrameSizes[webCamFrameSizeComboBox.SelectedIndex]
                          );

                routine.BeforeProcessingEvent += refrashForm;
                routine.GetImageEvent         += onRefrashImage;
                routine.DrawCornersEvent      += onRefrashImage;
                routine.FindContoursEvent     += onRefrashImage;
                routine.CalibrateEvent        += onCalibrate;
                routine.MeasureEvent          += onMeasure;

                // Меняем состояние формы
                observer.State = MainFormStateObserver.FormState.WebCamChosen;
            }

            catch (Exception)
            {
                MessageBox.Show("Ошибка при выборе веб-камеры", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        /// <summary>
        /// Создает объект, используя конфигурационный файл
        /// </summary>
        /// <param name="configFile">Файл с настройками</param>
        public static ImageProcessingRoutine CreateFromConfigFile(int deviceId, CvSize frameSize, string configFile)
        {
            ImageProcessingRoutine ipr = new ImageProcessingRoutine(deviceId, frameSize);

            // Десериализуем объект с настройками
            Stream                configFileStream = File.OpenRead(configFile);
            BinaryFormatter       deserializer     = new BinaryFormatter();
            ImageProcessingConfig ipc = (ImageProcessingConfig)deserializer.Deserialize(configFileStream);

            configFileStream.Close();

            // Настраиваем обработчик изображений
            ipr.Transformer            = ipc.Transformer;
            ipr.Finder.BackgroundRange = ipc.BackgroundRange;
            ipr.CorrectionOffset       = ipc.CorrectionOffset;
            ipr.CorrectionMultiplier   = ipc.CorrectionMultiplier;

            return(ipr);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Создает объект, используя конфигурационный файл
        /// </summary>
        /// <param name="configFile">Файл с настройками</param>
        public static ImageProcessingRoutine CreateFromConfigFile(int deviceId, CvSize frameSize, string configFile)
        {
            ImageProcessingRoutine ipr = new ImageProcessingRoutine(deviceId, frameSize);

            // Десериализуем объект с настройками
            Stream configFileStream = File.OpenRead(configFile);
            BinaryFormatter deserializer = new BinaryFormatter();
            ImageProcessingConfig ipc = (ImageProcessingConfig)deserializer.Deserialize(configFileStream);
            configFileStream.Close();

            // Настраиваем обработчик изображений
            ipr.Transformer = ipc.Transformer;
            ipr.Finder.BackgroundRange = ipc.BackgroundRange;
            ipr.CorrectionOffset = ipc.CorrectionOffset;
            ipr.CorrectionMultiplier = ipc.CorrectionMultiplier;

            return ipr;
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Действие кнопки "Начать"
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void StartCameraButton_Click(object sender, EventArgs e)
        {
            try
            {
                // Инициализируем обработчик изображения
                routine = new ImageProcessingRoutine
                (
                    webCamChoiceComboBox.SelectedIndex,
                    webCamFrameSizes[webCamFrameSizeComboBox.SelectedIndex]
                );

                routine.BeforeProcessingEvent += refrashForm;
                routine.GetImageEvent += onRefrashImage;
                routine.DrawCornersEvent += onRefrashImage;
                routine.FindContoursEvent += onRefrashImage;
                routine.CalibrateEvent += onCalibrate;
                routine.MeasureEvent += onMeasure;

                // Меняем состояние формы
                observer.State = MainFormStateObserver.FormState.WebCamChosen;
            }

            catch(Exception)
            {
                MessageBox.Show("Ошибка при выборе веб-камеры", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }