C#笔记本相机的正常调用与相机参数调节(包含程序源码)

需要引用AForge库文件,需要提前安装。在引用里面管理Nuget程序包;

先设计UI页面,设置好控件:

以下是程序Dome:   (小白写的比较繁琐,大神勿喷)

using System.Windows.Forms;
using AForge.Video.DirectShow;
using System.IO;
using System.IO.IsolatedStorage;
using System.Threading;

namespace 相机的调用与拍照
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public FilterInfoCollection videoDevices;//所有摄像设备
        public VideoCaptureDevice videoDevice;//摄像设备
        string filePath = System.AppDomain.CurrentDomain.BaseDirectory + "Picture";
        private VideoCapabilities[] videoCapabilities;//摄像头分辨率


        private void Form1_Load(object sender, EventArgs e)
        {
            if (!Directory.Exists(filePath)) Directory.CreateDirectory(filePath);
            videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);//得到机器所有接入的摄像设备
            if (videoDevices.Count != 0)//读取到摄像设备
            {
                foreach (FilterInfo device in videoDevices)
                {
                    com1_cam1.Items.Add(device.Name);//把摄像设备添加到摄像列表中
                }
                com1_cam1.SelectedIndex = 0;//默认选择第一个
                //获取摄像头
                videoDevice = new VideoCaptureDevice(videoDevices[com1_cam1.SelectedIndex].MonikerString);
                GetDeviceResolution(videoDevice);//获得摄像头的分辨率
            }
            else
            {
                com1_cam1.Items.Add("没有找到摄像头");
            }
            EnableControlStatus(false);
            btn_cat.Enabled = false;
            
        }

        private void 相机设置ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            VideoCaptureDevice Cam1;
            FilterInfoCollection VideoCaptureDevices;

            VideoCaptureDevic

猜你喜欢

转载自blog.csdn.net/XsummerU/article/details/134929404