Aforge.net连接摄像头并配置参数使用代码

2 篇文章 0 订阅

IT分享Aforge.net连接摄像头并配置参数使用代码

 

连接相机

  public void cameraOpen()

        {

   

            // 设定初始视频设备  

            FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);

            if (videoDevices.Count > 0)

            {   // 默认设备  

            //    CloseCaptureDevice();

                cb.ItemsSource = videoDevices;

                cb.SelectedValuePath = "MonikerString";

                cb.DisplayMemberPath = "Name";

                 cb.SelectedIndex = 1;

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

                camera_Chemistry.vp.videoMonkeyName = videoDevices[1].MonikerString;

                sourcePlayer.VideoSource = UsbVideo;

                UsbVideo.VideoResolution = UsbVideo.VideoCapabilities[0];

                UsbVideo.SnapshotFrame += UsbVideo_SnapshotFrame;

                UsbVideo.NewFrame += UsbVideo_NewFrame;

                sourcePlayer.Start();

            }

            else

            {

                //button_Play.IsEnabled = false;

                //button_Capture.IsEnabled = false;

            }

        }

设置图像和控制相机

  #region 视频相关

        private void GanHuaxueCamera()

        {

            camera_Chemistry.Cameratype = CameraType.USB;

            camera_Chemistry.Usage = CameraUsage.干化学;

            camera_Chemistry.videoDevice = UsbVideo;

            camera_Chemistry.ReadProperty(UsbVideo);

            stcvediosliders.Children.Clear();

            InitVideoParam(VideoProcAmpProperty.VideoProcAmp_Brightness, "亮度", true);

            InitVideoParam(VideoProcAmpProperty.VideoProcAmp_Gain, "增益", true);

            InitVideoParam(VideoProcAmpProperty.VideoProcAmp_Contrast, "对比度", true);

            InitVideoParam(VideoProcAmpProperty.VideoProcAmp_Hue, "色调", true);

            InitVideoParam(VideoProcAmpProperty.VideoProcAmp_Saturation, "饱和度", true);

            InitVideoParam(VideoProcAmpProperty.VideoProcAmp_Sharpness, "清晰度", true);

            InitVideoParam(VideoProcAmpProperty.VideoProcAmp_Gamma, "伽马值", true);

        //    InitVideoParam(VideoProcAmpProperty.VideoProcAmp_ColorEnable, "对比度", true);

            InitVideoParam(VideoProcAmpProperty.VideoProcAmp_WhiteBalance, "白平衡", true);

            InitVideoParam(VideoProcAmpProperty.VideoProcAmp_BacklightCompensation, "逆光对比", true);

            InitVideoParam(VideoProcAmpProperty.VideoProAmp_Red, "红色分量", true);

            InitVideoParam(VideoProcAmpProperty.VideoProAmp_Green, "绿色分量", true);

            InitVideoParam(VideoProcAmpProperty.VideoProAmp_Blue, "蓝色分量", true);

            //  InitVideoParam(VideoProcAmpProperty.VideoProAmp_Electric, "对比度", true);

            InitCameraParam(CameraControlProperty.Pan, "全景", true);

            InitCameraParam(CameraControlProperty.Iris, "光圈", true);

            InitCameraParam(CameraControlProperty.Roll, "Roll_", true);

            InitCameraParam(CameraControlProperty.Tilt, "倾斜", true);

            InitCameraParam(CameraControlProperty.Exposure, "曝光", true);

            InitCameraParam(CameraControlProperty.Focus, "焦点", true);

            InitCameraParam(CameraControlProperty.Zoom, "缩放", true);

            InitCameraParam(CameraControlProperty.Roll, "滚动", true);

            InitCameraParam(CameraControlProperty.LowCompensation, "低亮度补偿", true);

            InitCameraParam(CameraControlProperty.DeNoise, "降噪", true);

        }

        private void InitCameraParam(CameraControlProperty cp, string vslidername, bool Check)

        {

            CameraProperty vpp = (CameraProperty)camera_Chemistry.CameraProperty[cp]; 

            if (vpp == null) return;

            VideoSlider vs = new VideoSlider(camera_Chemistry);

            vs.Name = vslidername;

            vs.VideoProcAmpPropertyItemName = vslidername;

            if (vpp != null)

            {

                vs.CameraPropertyCustom = vpp;

            }

            stccanmreraliders.Children.Add(vs);

        }

        /// <summary>

        /// //

        /// </summary>

        /// <param name="cp"></param>

        /// <param name="HBR"></param>

        /// <param name="Check"></param>

        private void InitVideoParam(VideoProcAmpProperty cp, string vslidername, bool Check)

        {

            VideoAMPProperty vpp = (VideoAMPProperty)camera_Chemistry.videoAMPProperty[cp];

            VideoSlider vs = new VideoSlider(camera_Chemistry);

            vs.Name =vslidername;

            vs.VideoProcAmpPropertyItemName = vslidername;

            if (vpp != null)

            {

                vs.AmpProperty = vpp;

            }

            stcvediosliders.Children.Add(vs);

        }

转载:http://www.suchso.com/projecteactual/aforgenet-use-link.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值