コード例 #1
0
        //private void Button_Click(object sender, RoutedEventArgs e)
        private void StartScanning()
        {
            try
            {
                if ((videoSource == null) || (!videoSource.IsRunning))
                {
                    // front camera
#if DEBUG
                    int ind = 0;
#else
                    int ind = 1;
#endif
                    videoSource = new VideoCaptureDevice(videoDevices[ind].MonikerString);
                    videoSource.VideoResolution  = videoSource.VideoCapabilities.Last();
                    videoSource.ProvideSnapshots = true;

                    qrwm.StepSize = videoSource.SnapshotCapabilities.Length;
                    qrwm.FrameStart(true);

                    videoSource.SetCameraProperty(CameraControlProperty.Focus, 100, CameraControlFlags.Auto);
                    videoSource.SetCameraProperty(CameraControlProperty.Exposure, -5, CameraControlFlags.Auto);

                    videoSource.Start();
                }
                else
                {
                    qrwm.FrameStart(false);
                    videoSource.SignalToStop();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
コード例 #2
0
ファイル: MainForm.cs プロジェクト: ponchio22/clover
        private void controlCameraSettings()
        {
            videoSource.SetCameraProperty(CameraControlProperty.Focus, (int)((255 / 15) * 15), CameraControlFlags.Manual);
            videoSource.SetCameraProperty(CameraControlProperty.Zoom, 2, CameraControlFlags.Manual);
            videoSource.SetCameraProperty(CameraControlProperty.Pan, 1, CameraControlFlags.Manual);
            videoSource.SetCameraProperty(CameraControlProperty.Tilt, -2, CameraControlFlags.Manual);


            object o;
            Guid   IID_IBaseFilter = new Guid("56a86895-0ad4-11ce-b03a-0020af0ba770");

            IAMVideoProcAmp   vpa = (IAMVideoProcAmp)o;
            int               pMin, pMax, pSteppingDelta, pDefault;
            VideoProcAmpFlags pFlags;

            vpa.GetRange(
                VideoProcAmpProperty.Brightness,
                out pMin,
                out pMax,
                out pSteppingDelta,
                out pDefault,
                out pFlags);

            vpa.Set(VideoProcAmpProperty.Gain, 20, pFlags);
            vpa.Set(VideoProcAmpProperty.Contrast, 70, pFlags);
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: jis1218/C-Directshow-Example
        private void Form1_Load(object sender, EventArgs e)
        {
            _videoDevices    = new FilterInfoCollection(FilterCategory.VideoInputDevice);
            imageRekognition = new AWSImageRekognition();
            imageRekognition.initialize();
            del = delegate(string s)
            {
                this.Invoke((Action)(() =>
                {
                    label5.Text = s;
                }), null);
            };

            if (_videoDevices.Count == 0)
            {
                button1.Enabled = false;
                MessageBox.Show("No video input device");
                return;
            }

            _videoSource = new VideoCaptureDevice(_videoDevices[0].MonikerString);
            _videoSource.SetCameraProperty(CameraControlProperty.Zoom, 100, CameraControlFlags.Auto);
            _videoSource.SetCameraProperty(CameraControlProperty.Exposure, -7, CameraControlFlags.Auto);
            _videoSource.SetCameraProperty(CameraControlProperty.Focus, 0, CameraControlFlags.Manual);
            videoCapabilities = _videoSource.VideoCapabilities;


            foreach (VideoCapabilities cap in videoCapabilities)
            {
                comboBox1.Items.Add(string.Format("{0} x {1}", cap.FrameSize.Width, cap.FrameSize.Height));
            }

            comboBox1.SelectedIndex = 0;
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: jis1218/C-Directshow-Example
        private void trackBar1_Scroll(object sender, EventArgs e)
        {
            System.Windows.Forms.TrackBar myTb;
            myTb = (System.Windows.Forms.TrackBar)sender;

            _videoSource.SetCameraProperty(CameraControlProperty.Zoom, myTb.Value, CameraControlFlags.Manual);
        }
コード例 #5
0
 private void TBFocus_Scroll(object sender, EventArgs e)
 {
     if (videoSource1 == null)
     {
         return;
     }
     videoSource1.SetCameraProperty(CameraControlProperty.Focus, TBFocus.Value, CameraControlFlags.Manual);
 }
コード例 #6
0
        private void Camera2_Start_Button_Click(object sender, EventArgs e)
        {
            if (this.Camera2_Start_Button.Text == "&Start")
            {
                if (videoSource2 != null)
                {
                    if (videoSource2.IsRunning)
                    {
                        videoSource2.SignalToStop();
                        videoSource2 = null;
                    }
                }

                videoSource2 = new VideoCaptureDevice(videoDevices[0].MonikerString);

                var selectedCapabilityIndex = this.Camera2_Caps_Combo.SelectedIndex;

                videoSource2.VideoResolution = videoSource2.VideoCapabilities[selectedCapabilityIndex];
                videoSource2.NewFrame       += VideoSource2_NewFrame;
                videoSource2.SetCameraProperty(CameraControlProperty.Exposure, -3, CameraControlFlags.Auto);
                videoSource2.SetCameraProperty(CameraControlProperty.Focus, -5, CameraControlFlags.Auto);
                videoSource2.ProvideSnapshots = false;
                label34.Text = "Camera Running At: ";
                videoSource2.Start();

                label34.Text = "Camera Running At: ";
                this.Camera2_Start_Button.Text = "&Stop";
                timer2.Enabled = true;
                timer2.Start();
            }
            else
            {
                if (videoSource2.IsRunning)
                {
                    timer2.Enabled = false;
                    timer2.Stop();

                    if (videoSource2 != null)
                    {
                        if (videoSource2.IsRunning)
                        {
                            videoSource2.SignalToStop();
                            videoSource2 = null;
                        }
                    }

                    label34.Text = "Device stopped.";
                    this.Camera2_Start_Button.Text = "&Start";
                }
            }
        }
コード例 #7
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            videoCaptureDevice = new VideoCaptureDevice(filterInfoCollection[1].MonikerString);
            FilterInfoCollection VideoCaptureDevices;

            VideoCaptureDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
            videoCaptureDevice.SetCameraProperty(CameraControlProperty.Iris, -4, CameraControlFlags.Manual);
            videoCaptureDevice.SetCameraProperty(CameraControlProperty.Zoom, 7, CameraControlFlags.Manual);
            videoCaptureDevice.SetCameraProperty(CameraControlProperty.Pan, -4, CameraControlFlags.Manual);
            videoCaptureDevice.SetCameraProperty(CameraControlProperty.Tilt, -4, CameraControlFlags.Manual);
            videoCaptureDevice.SetCameraProperty(CameraControlProperty.Exposure, -8, CameraControlFlags.Manual);
            //videoCaptureDevice.DisplayPropertyPage(IntPtr.Zero); //This will display a form with camera controls
            videoCaptureDevice.NewFrame += VideoCaptureDevce_NewFrame;
            videoCaptureDevice.Start();
        }
コード例 #8
0
        private static void WriteProperty(VideoCaptureDevice device, CameraControlProperty property, CameraProperty value)
        {
            CameraControlFlags flags = value.Automatic ? CameraControlFlags.Auto : CameraControlFlags.Manual;
            int v = int.Parse(value.CurrentValue, CultureInfo.InvariantCulture);

            device.SetCameraProperty(property, v, flags);
        }
コード例 #9
0
        private static void WriteProperty(VideoCaptureDevice device, CameraControlProperty property, CameraProperty value)
        {
            if (!value.Supported)
            {
                return;
            }

            try
            {
                CameraControlFlags flags = value.Automatic ? CameraControlFlags.Auto : CameraControlFlags.Manual;
                int  v;
                bool parsed = int.TryParse(value.CurrentValue, NumberStyles.Any, CultureInfo.InvariantCulture, out v);
                if (parsed)
                {
                    device.SetCameraProperty(property, v, flags);
                }
                else
                {
                    log.ErrorFormat("Could not parse property {0}, value: {1}.", value.Identifier, value.CurrentValue);
                }
            }
            catch (Exception e)
            {
                log.ErrorFormat("Could not write property {0}. {1}.", value.Identifier, e.Message);
            }
        }
コード例 #10
0
        private void SetPostConnectionOptions()
        {
            // Some options only work after the graph is actually connected.
            // For example logitech exposure. Probably due to a bug in Logitech firmware.
            SpecificInfo info = summary.Specific as SpecificInfo;

            // Only do this for Logitech devices.
            if (!summary.Identifier.Contains("usb#vid_046d") || info == null)
            {
                return;
            }

            if (info.CameraProperties.ContainsKey("exposure_logitech"))
            {
                if (info.CameraProperties["exposure_logitech"].Automatic)
                {
                    return;
                }

                int exposure = int.Parse(info.CameraProperties["exposure_logitech"].CurrentValue, CultureInfo.InvariantCulture);
                device.Logitech_SetExposure(exposure, true);
            }
            else if (info.CameraProperties.ContainsKey("exposure"))
            {
                if (info.CameraProperties["exposure"].Automatic)
                {
                    return;
                }

                int exposure = int.Parse(info.CameraProperties["exposure"].CurrentValue, CultureInfo.InvariantCulture);
                device.SetCameraProperty(CameraControlProperty.Exposure, exposure, CameraControlFlags.Manual);
            }
        }
コード例 #11
0
 public void SetExposure(int val, CameraControlFlags flags = CameraControlFlags.Manual)
 {
     if (_values["Exposure"] != val)
     {
         _videoSource.SetCameraProperty(CameraControlProperty.Exposure, val, flags);
         _values["Exposure"] = val;
     }
 }
コード例 #12
0
        public Experiment(VideoCaptureDevice dev)
        {
            this.dev = dev;
            InitializeComponent();
            dev.SetCameraProperty(CameraControlProperty.Exposure, -8, CameraControlFlags.Manual);
            dev.NewFrame += Dev_NewFrame;
            dev.Start();

            timer1.Start();
        }
コード例 #13
0
ファイル: CameraProperty.cs プロジェクト: glenninn/testptz
        private bool move(int howMuch)
        {
            int curP;

            theDevice.GetCameraProperty(camProp, out curP, out camFlags);
            curP += howMuch;
            bool retVal = theDevice.SetCameraProperty(camProp, curP, camFlags);

            return(retVal);
        }
コード例 #14
0
        private void BtnStart_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "" || comboBoxAttachedCameras.Text == "" || comboBoxSupportedModes.Text == "")
            {
                MessageBox.Show("未選擇儲存路徑 or 未選擇相機 or 未選擇解析度");
            }
            else if (BtnStart.Text == "開啟相機")
            {
                FinalVideo.SetVideoProperty(VideoProcAmpProperty.Brightness, 128, VideoProcAmpFlags.Manual);                                       // 亮度
                FinalVideo.SetVideoProperty(VideoProcAmpProperty.Contrast, 128, VideoProcAmpFlags.Manual);                                         // 對比
                FinalVideo.SetVideoProperty(VideoProcAmpProperty.Saturation, 128, VideoProcAmpFlags.Manual);                                       // 飽和度
                FinalVideo.SetVideoProperty(VideoProcAmpProperty.WhiteBalance, 5500, VideoProcAmpFlags.Manual);                                    // 白平衡
                FinalVideo.SetVideoProperty(VideoProcAmpProperty.BacklightCompensation, 0, VideoProcAmpFlags.Manual);                              // 背光補償
                FinalVideo.SetVideoProperty(VideoProcAmpProperty.Gain, 0, VideoProcAmpFlags.Manual);                                               // 增益
                FinalVideo.SetVideoProperty(VideoProcAmpProperty.KSPROPERTY_VIDEOPROCAMP_POWERLINE_FREQUENCY, 2, VideoProcAmpFlags.Manual);        // 電源基線
                FinalVideo.SetCameraProperty(CameraControlProperty.Zoom, 100, CameraControlFlags.Manual);                                          // 縮放
                FinalVideo.SetCameraProperty(CameraControlProperty.Focus, 0, CameraControlFlags.Manual);                                           // 焦距
                FinalVideo.SetCameraProperty(CameraControlProperty.Exposure, -5, CameraControlFlags.Manual);                                       // 曝光度
                FinalVideo.SetCameraProperty(CameraControlProperty.Pan, 0, CameraControlFlags.Manual);                                             // 取景位置調整
                FinalVideo.SetCameraProperty(CameraControlProperty.Tilt, 0, CameraControlFlags.Manual);                                            // 傾斜
                FinalVideo.SetCameraProperty(CameraControlProperty.KSPROPERTY_CAMERACONTROL_AUTO_EXPOSURE_PRIORITY, 0, CameraControlFlags.Manual); // 弱光補償

                FinalVideo.VideoResolution = FinalVideo.VideoCapabilities[comboBoxSupportedModes.SelectedIndex];
                Btnsetcamera.Enabled       = true;
                rect = new Rectangle(FinalVideo.VideoResolution.FrameSize.Width / 2 - 175, FinalVideo.VideoResolution.FrameSize.Height / 2 - 200, 350, 400);
                FinalVideo.Start();
                t.Start();
                BtnStart.Text    = "關閉相機";
                BtnStart.Enabled = false;
                comboBoxAttachedCameras.Enabled = false;
                comboBoxSupportedModes.Enabled  = false;
                label4.Visible = true;
            }
        }
コード例 #15
0
        private void Start_Button_Click(object sender, EventArgs e)
        {
            if (this.Camera1_Start_Button.Text == "&Start")
            {
                if (videoDevices.Count > 0)
                {
                    CloseVideoSource();

                    videoSource = new VideoCaptureDevice(videoDevices[1].MonikerString);

                    var selectedCapabilityIndex = this.Camera1_Caps_Combo.SelectedIndex;

                    videoSource.VideoResolution = videoSource.VideoCapabilities[selectedCapabilityIndex];
                    videoSource.NewFrame       += VideoSource_NewFrame;
                    videoSource.SetCameraProperty(CameraControlProperty.Zoom, 0, CameraControlFlags.Auto);
                    videoSource.SetCameraProperty(CameraControlProperty.Exposure, -3, CameraControlFlags.Auto);
                    videoSource.SetCameraProperty(CameraControlProperty.Focus, -5, CameraControlFlags.Auto);

                    videoSource.ProvideSnapshots = false;

                    videoSource.Start();
                    label2.Text = "Camera Running At: ";
                    this.Camera1_Start_Button.Text = "&Stop";
                    timer.Enabled = true;
                    timer.Start();
                }
            }
            else
            {
                if (videoSource.IsRunning)
                {
                    timer.Enabled = false;
                    timer.Stop();
                    CloseVideoSource();
                    label2.Text = "Device stopped.";
                    this.Camera1_Start_Button.Text = "&Start";
                }
            }
        }
コード例 #16
0
        public BoardPage()
        {
            InitializeComponent();

            string savedir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "//pickandplacelogs//";

            System.IO.Directory.CreateDirectory(savedir);

            LogFile = savedir + DateTime.Now.ToString("yyyyMMdd-HH-mm") + ".xml";

            dtLog.TableName = "boardcomponents";
            dtLog.Columns.Add("ComponentValue", typeof(string));
            dtLog.Columns.Add("Package", typeof(string));
            dtLog.Columns.Add("TapeFeeder", typeof(bool));
            dtLog.Columns.Add("FeederID", typeof(string));
            dtLog.Columns.Add("ComponentCode", typeof(int));
            dtLog.Columns.Add("Placed", typeof(int));
            dtLog.WriteXml(LogFile);


            SetupGridView(_dgComponents);

            SetupFeeders(_dgFeeders);

            CapturedImageBox.Source = new BitmapImage(new Uri("/Resources/testcard.png", UriKind.Relative));
            videoDevices            = new FilterInfoCollection(FilterCategory.VideoInputDevice);
            videoHeadCam            = new VideoCaptureDevice(videoDevices[0].MonikerString);
            videoHeadCam.NewFrame  += new NewFrameEventHandler(ProcessFrame);

            try
            {
                videoBaseCam           = new VideoCaptureDevice(videoDevices[1].MonikerString);
                videoBaseCam.NewFrame += new NewFrameEventHandler(ProcessFrame);
                videoBaseCam.SetCameraProperty(
                    CameraControlProperty.Exposure,
                    -9,
                    CameraControlFlags.Manual);
            }
            catch { }
            CaptureSelect.SelectedIndex = 0;

            App MyApplication = ((App)Application.Current);

            _kflop = MyApplication.GetKFlop();

            usbController = MyApplication.GetUSBDevice();

            builder.SetupPCBBuilder(_kflop, usbController, dsData, LogFile, CapturedImageBox, videoBaseCam);

            // video setup
        }
コード例 #17
0
ファイル: WebcamFixer.cs プロジェクト: Oliphan/WebcamFixer
        static void Main(string[] args)
        {
            FilterInfoCollection filterCol = new FilterInfoCollection(FilterCategory.VideoInputDevice);

            foreach (FilterInfo filterInfo in filterCol)
            {
                VideoCaptureDevice tmp = new VideoCaptureDevice(filterInfo.MonikerString);
                try
                {
                    tmp.SetCameraProperty((CameraControlProperty)(19), 0, CameraControlFlags.None);
                }
                catch { }
            }
        }
コード例 #18
0
        public int checkCamera()
        {
            string sourceCheck = null;
            //List all available video sources. (That can be webcams as well as tv cards, etc)
            FilterInfoCollection videosources = new FilterInfoCollection(FilterCategory.VideoInputDevice);

            //Check if atleast one video source is available

            if (videosources.Count > 0)
            {
                for (int i = 0; i < videosources.Count; i++)
                {
                    //For example use first video device. You may check if this is your webcam.
                    videoSource = new VideoCaptureDevice(videosources[i].Name);
                    if (videoSource.Source == "Logitech HD Pro Webcam C920")
                    {
                        sourceCheck = "Logitech";
                        videoSource = new VideoCaptureDevice(videosources[i].MonikerString);
                    }
                }

                if (sourceCheck == "Logitech") //check if video source found is the logitech webcam!
                {
                    try
                    {
                        //Check if the video device provides a list of supported resolutions
                        if (videoSource.VideoCapabilities.Length > 0)
                        {
                            //Set the highest resolution as active
                            videoSource.VideoResolution = videoSource.VideoCapabilities[0];
                            //Set Frame rate to highest
                            videoSource.DesiredFrameRate = 33;
                            videoSource.SetCameraProperty(CameraControlProperty.Focus, 0, CameraControlFlags.Manual); //set focus to auto
                        }
                    }
                    catch
                    {
                    }
                    ///// TODO : Constructor
                    videoSource.NewFrame += new AForge.Video.NewFrameEventHandler(videoSource_NewFrame);
                    videoSource.Start(); //turn video on
                    return(1);
                }
                return(0);       //return 0 if webcam not found
            }
            else
            {
                return(0);
            }
        }
コード例 #19
0
            /// <summary>
            /// Initialize access to the camera hardware
            /// </summary>
            public Cam()
            {
                // Event used to wait for completion of camera tasks
                _finished = new EventWaitHandle(false, EventResetMode.ManualReset);

                // Find the integrated camera device
                var coll = new FilterInfoCollection(FilterCategory.VideoInputDevice);

                if (!coll.Any(fi => fi.MonikerString.StartsWith(@"@device:pnp:\\?\usb#vid_5986&pid_2115")))
                {
                    throw new Exception("Integrated Camera device not found");
                }
                _vdev = new VideoCaptureDevice(coll.First(fi => fi.MonikerString.StartsWith(@"@device:pnp:\\?\usb#vid_5986&pid_2115")).MonikerString);

                // Initial settings and hook handlers
                _vdev.VideoResolution  = _vdev.VideoCapabilities.First(sn => sn.FrameSize == new System.Drawing.Size(320, 240));
                _vdev.PlayingFinished += (sender, e) => _finished.Set();
                _vdev.NewFrame        += (sender, e) =>
                {
                    int o_exp = -3;
                    CameraControlFlags o_flag = CameraControlFlags.Auto;
                    if (_cnt == 0)
                    {
                        // 1st frame, camera is open and working. Change settings to fixed constants.
                        _vdev.GetCameraProperty(CameraControlProperty.Exposure, out o_exp, out o_flag);
                        _vdev.SetCameraProperty(CameraControlProperty.Exposure, -3, CameraControlFlags.Manual);
                    }
                    if (_cnt == 4)
                    {
                        // 5th frame, keep this frame. Revert camera settings. Signal to stop querying for frames.
                        _img = e.Frame.Clone(new System.Drawing.Rectangle(0, 0, e.Frame.Width, e.Frame.Height), System.Drawing.Imaging.PixelFormat.DontCare);
                        _vdev.SetCameraProperty(CameraControlProperty.Exposure, o_exp, o_flag);
                        _vdev.SignalToStop();
                    }
                    _cnt++;
                };
            }
コード例 #20
0
        public static void CameraOption_set_Update(int Option_menu, int value, int option_mORa)
        {
            //Focus
            if ((Option_menu == (int)CameraControlProperty.Focus) && (option_mORa == (int)CameraControlFlags.Auto))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Focus, value, CameraControlFlags.Auto);
            }
            else if ((Option_menu == (int)CameraControlProperty.Focus) && (option_mORa == (int)CameraControlFlags.Manual))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Focus, value, CameraControlFlags.Manual);
            }
            else if ((Option_menu == (int)CameraControlProperty.Focus) && (option_mORa == (int)CameraControlFlags.None))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Focus, value, CameraControlFlags.None);
            }

            //Pan
            if ((Option_menu == (int)CameraControlProperty.Pan) && (option_mORa == (int)CameraControlFlags.Auto))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Pan, value, CameraControlFlags.Auto);
            }
            else if ((Option_menu == (int)CameraControlProperty.Pan) && (option_mORa == (int)CameraControlFlags.Manual))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Pan, value, CameraControlFlags.Manual);
            }
            else if ((Option_menu == (int)CameraControlProperty.Pan) && (option_mORa == (int)CameraControlFlags.None))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Pan, value, CameraControlFlags.None);
            }

            //Tilt
            if ((Option_menu == (int)CameraControlProperty.Tilt) && (option_mORa == (int)CameraControlFlags.Auto))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Tilt, value, CameraControlFlags.Auto);
            }
            else if ((Option_menu == (int)CameraControlProperty.Tilt) && (option_mORa == (int)CameraControlFlags.Manual))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Tilt, value, CameraControlFlags.Manual);
            }
            else if ((Option_menu == (int)CameraControlProperty.Tilt) && (option_mORa == (int)CameraControlFlags.None))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Tilt, value, CameraControlFlags.None);
            }

            //Roll
            if ((Option_menu == (int)CameraControlProperty.Roll) && (option_mORa == (int)CameraControlFlags.Auto))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Roll, value, CameraControlFlags.Auto);
            }
            else if ((Option_menu == (int)CameraControlProperty.Roll) && (option_mORa == (int)CameraControlFlags.Manual))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Roll, value, CameraControlFlags.Manual);
            }
            else if ((Option_menu == (int)CameraControlProperty.Roll) && (option_mORa == (int)CameraControlFlags.None))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Roll, value, CameraControlFlags.None);
            }

            //Zoom
            if ((Option_menu == (int)CameraControlProperty.Zoom) && (option_mORa == (int)CameraControlFlags.Auto))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Zoom, value, CameraControlFlags.Auto);
            }
            else if ((Option_menu == (int)CameraControlProperty.Zoom) && (option_mORa == (int)CameraControlFlags.Manual))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Zoom, value, CameraControlFlags.Manual);
            }
            else if ((Option_menu == (int)CameraControlProperty.Zoom) && (option_mORa == (int)CameraControlFlags.None))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Zoom, value, CameraControlFlags.None);
            }

            //Exposure
            if ((Option_menu == (int)CameraControlProperty.Exposure) && (option_mORa == (int)CameraControlFlags.Auto))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Exposure, value, CameraControlFlags.Auto);
            }
            else if ((Option_menu == (int)CameraControlProperty.Exposure) && (option_mORa == (int)CameraControlFlags.Manual))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Exposure, value, CameraControlFlags.Manual);
            }
            else if ((Option_menu == (int)CameraControlProperty.Exposure) && (option_mORa == (int)CameraControlFlags.None))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Exposure, value, CameraControlFlags.None);
            }

            //Iris
            if ((Option_menu == (int)CameraControlProperty.Iris) && (option_mORa == (int)CameraControlFlags.Auto))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Iris, value, CameraControlFlags.Auto);
            }
            else if ((Option_menu == (int)CameraControlProperty.Iris) && (option_mORa == (int)CameraControlFlags.Manual))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Iris, value, CameraControlFlags.Manual);
            }
            else if ((Option_menu == (int)CameraControlProperty.Iris) && (option_mORa == (int)CameraControlFlags.None))
            {
                CaptureDeviceFrame.SetCameraProperty(CameraControlProperty.Iris, value, CameraControlFlags.None);
            }
        }
コード例 #21
0
        public static void CameraOptions_Set(VideoCaptureDevice CaptureDeviceFrame_cap, int number_cramera)
        {
            int value, option_mORa;

            //Focus
            option_mORa = Option_list_sync[(int)CameraControlProperty.Focus];
            value       = setFocus_List[number_cramera];
            if (option_mORa == (int)CameraControlFlags.Auto)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Focus, value, CameraControlFlags.Auto);
            }
            else if (option_mORa == (int)CameraControlFlags.Manual)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Focus, value, CameraControlFlags.Manual);
            }
            else if (option_mORa == (int)CameraControlFlags.None)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Focus, value, CameraControlFlags.None);
            }

            //Pan
            option_mORa = Option_list_sync[(int)CameraControlProperty.Pan];
            value       = setPan_List[number_cramera];
            if (option_mORa == (int)CameraControlFlags.Auto)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Pan, value, CameraControlFlags.Auto);
            }
            else if (option_mORa == (int)CameraControlFlags.Manual)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Pan, value, CameraControlFlags.Manual);
            }
            else if (option_mORa == (int)CameraControlFlags.None)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Pan, value, CameraControlFlags.None);
            }

            //Tilt
            option_mORa = Option_list_sync[(int)CameraControlProperty.Tilt];
            value       = setTilt_List[number_cramera];
            if (option_mORa == (int)CameraControlFlags.Auto)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Tilt, value, CameraControlFlags.Auto);
            }
            else if (option_mORa == (int)CameraControlFlags.Manual)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Tilt, value, CameraControlFlags.Manual);
            }
            else if (option_mORa == (int)CameraControlFlags.None)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Tilt, value, CameraControlFlags.None);
            }

            //Roll
            option_mORa = Option_list_sync[(int)CameraControlProperty.Roll];
            value       = setRoll_List[number_cramera];
            if (option_mORa == (int)CameraControlFlags.Auto)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Roll, value, CameraControlFlags.Auto);
            }
            else if (option_mORa == (int)CameraControlFlags.Manual)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Roll, value, CameraControlFlags.Manual);
            }
            else if (option_mORa == (int)CameraControlFlags.None)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Roll, value, CameraControlFlags.None);
            }

            //Zoom
            option_mORa = Option_list_sync[(int)CameraControlProperty.Zoom];
            value       = setZoom_List[number_cramera];
            if (option_mORa == (int)CameraControlFlags.Auto)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Zoom, value, CameraControlFlags.Auto);
            }
            else if (option_mORa == (int)CameraControlFlags.Manual)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Zoom, value, CameraControlFlags.Manual);
            }
            else if (option_mORa == (int)CameraControlFlags.None)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Zoom, value, CameraControlFlags.None);
            }

            //Exposure
            option_mORa = Option_list_sync[(int)CameraControlProperty.Exposure];
            value       = setExposure_List[number_cramera];
            if (option_mORa == (int)CameraControlFlags.Auto)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Exposure, value, CameraControlFlags.Auto);
            }
            else if (option_mORa == (int)CameraControlFlags.Manual)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Exposure, value, CameraControlFlags.Manual);
            }
            else if (option_mORa == (int)CameraControlFlags.None)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Exposure, value, CameraControlFlags.None);
            }

            //Iris
            option_mORa = Option_list_sync[(int)CameraControlProperty.Iris];
            value       = setIris_List[number_cramera];
            if (option_mORa == (int)CameraControlFlags.Auto)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Iris, value, CameraControlFlags.Auto);
            }
            else if (option_mORa == (int)CameraControlFlags.Manual)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Iris, value, CameraControlFlags.Manual);
            }
            else if (option_mORa == (int)CameraControlFlags.None)
            {
                CaptureDeviceFrame_cap.SetCameraProperty(CameraControlProperty.Iris, value, CameraControlFlags.None);
            }
        }
コード例 #22
0
ファイル: Form1.cs プロジェクト: rewin123/CamCam
 private void trackBar1_Scroll(object sender, EventArgs e)
 {
     dev.SetCameraProperty(CameraControlProperty.Exposure, trackBar1.Value, CameraControlFlags.Manual);
 }