c# usb 摄像头_c# 打开usb摄像头 - CSDN
  • C#调用摄像头的几种方式

    万次阅读 热门讨论 2019-12-25 21:28:41
    C#调用摄像头的方式本文将讲诉在C#的winform程序中如何调用摄像头: ...调用USB摄像头调用USB摄像头其实比较简单,就是通过读取电脑自身所拥有的设备数,再执行预览。 videoSourcePlayer是AForge中的控件。

    #C#调用摄像头的方式
    本文将讲诉在C#的winform程序中如何调用摄像头:
    1.调用USB摄像头
    2.调用普通IP摄像头
    3.通过摄像头SDK进行调用

    ##使用的DLL
    首先给上我所使用的DLL
    dll

    ##调用USB摄像头
    调用USB摄像头其实比较简单,就是通过读取电脑自身所拥有的设备数,再执行预览。
    videoSourcePlayer是AForge中的控件。

    private FilterInfoCollection videoDevices;
    this.videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
    if (this.videoDevices.Count > 0)
       {
           VideoCaptureDevice source = new VideoCaptureDevice(this.videoDevices[0].MonikerString);
           this.videoSourcePlayer.SignalToStop();
           this.videoSourcePlayer.WaitForStop();
           this.videoSourcePlayer.VideoSource = source;
           this.videoSourcePlayer.Start();
       }
    

    ##调用普通IP摄像头
    首先要确认HTTP方式传送的图片的地址,我用的SAMSUN地址是http://{0}/cgi-bin/video.cgi?msubmenu=jpg,还有其他的http://{0}/axis-cgi/jpg/image.cgi?camera=1
    使用JPEGStream或者MJPEGStream,有用户名和密码的就加上。有了source其他的和上面USB一样。

    JPEGStream source = new JPEGStream(URL);
    //MJPEGStream source = new MJPEGStream(URL);
    source.Login = username;
    source.Password = password;
    this.OpenVideoSource(source);
    

    ##通过摄像头SDK进行调用
    这个调用还是很简单的,一般都是使用控件的Handle来进行预览的,我们可能会想取每一帧的图片,那么如何取得每一帧呢?因为是通过Handle来预览的所以控件中无法取得,我们需要调用摄像头SDK的获取每一帧的接口,但是这个接口是直接将图片保存到本地的,感觉巨坑有木有。不过我们还是有方法处理的。下面是我对三星摄像头的处理:

    public override Bitmap CapturePicture()
    {
        Bitmap bitmap = null;
        string path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Templates) + @"\SAMSUNG_CapturePicture.bmp";
        if (File.Exists(path))
        {
            File.Delete(path);
        }
        if (SSNetSDK.XNS_DEV_SaveSnapshot(playHandle, path,0))
        {
            using (MemoryStream stream = new MemoryStream(File.ReadAllBytes(path)))
            {
                bitmap = (Bitmap)Image.FromStream(stream);
            }
            File.Delete(path);
        }
        return bitmap;
    }
    

    DEMO http://download.csdn.net/detail/xujie1991618/8830347

    我看到很多人问我AForge库,其实网上找一找很多的,为了方便大家我特地找了一份放云盘了
    链接: https://pan.baidu.com/s/1Wkmykt00hdP1Jum2m_7k6Q 提取码: pr7m

    展开全文
  • C#读取USB摄像头

    2020-07-30 23:31:49
    该程序使用C#语言编写,主要功能为调取笔记本自带摄像头以及USB摄像头,并显示在窗体中,包含有截图录像功能。
  • http://www.cnblogs.com/zhongxia/p/4248835.html
    展开全文
  • C#调用、操作usb摄像头

    热门讨论 2020-07-29 14:20:37
    在.net平台下使用C#开发语言调用系统USB摄像头。实现搜索所有摄像头、连接摄像头、拍照、抓拍、图片保存、视频暂停、视频关闭。
  • c# 访问USB摄像头 拍照 录像

    热门讨论 2020-07-30 23:33:24
    c# USB 摄像头 拍照 录像 两种方法实现
  • 1、准备工作:dll 源码中有 2、工具箱中右键、选择项、浏览找到AForge.Controls.dll添加进去,既可以使用其中的空间 3、设计器中拖动 videoSourcePlayer控件 做显示预览视频,pictureBox控件做拍照显示(注:不按...

    1、准备工作:dll 源码中有

    在这里插入图片描述

    2、工具箱中右键、选择项、浏览找到AForge.Controls.dll添加进去,既可以使用其中的空间

    在这里插入图片描述
    在这里插入图片描述

    3、设计器中拖动 videoSourcePlayer控件 做显示预览视频,pictureBox控件做拍照显示(注:不按步骤2添加dll可能在工具箱中找不到该空间)

    在这里插入图片描述

    4、代码

    using AForge.Video.DirectShow;
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace test1
    {
        public partial class Form1 : Form
        {
    private  AForge.Controls.VideoSourcePlayer videoSourcePlayer;
    private FilterInfoCollection videoDevices;
            public Form1()
            {
                InitializeComponent();
            }
    
            /// <summary>
            /// 启动视频预览
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button1_Click(object sender, EventArgs e)
            {
               //count = 1;
                //枚举所有视频输入设备
                videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
    
                if (videoDevices.Count == 0)
                {
                    MessageBox.Show("未发现视频设备!");
                    return;
                }
               
               VideoCaptureDevice source = new VideoCaptureDevice(this.videoDevices[0].MonikerString);
               this.videoSourcePlayer1.SignalToStop();
               this.videoSourcePlayer1.WaitForStop();
               this.videoSourcePlayer1.VideoSource = source;
               this.videoSourcePlayer1.Start();
    
    
            }
          
            /// <summary>
            /// 拍照
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
    
            private void button2_Click(object sender, EventArgs e)
            {
                pictureBox1.BackgroundImage = Image.FromHbitmap(videoSourcePlayer1.GetCurrentVideoFrame().GetHbitmap());
            }
    
            /// <summary>
            /// 停止预览
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button3_Click(object sender, EventArgs e)
            {
                this.videoSourcePlayer1.Stop();
                GC.Collect();
            }
        }
    }
    
    

    5、运行效果

    在这里插入图片描述

    展开全文
  • usb摄像头进行实时预览与拍照获取图片,可用于第三方接口做人脸识别比对。也可自己做人脸比对。代码简单,调用预览与拍照代码不超过20行
  • c#调用usb摄像头 录制视频和保存图片
  • C# USB摄像头多开工具

    2020-07-30 23:31:57
    C# Afroge USB摄像头多开工具,同时打开电脑上的多个摄像头,最多支持9个摄像头同时打开,可选择指定分辨率,可均匀调整窗口大小,组成9画面
  • 简单的winform程序,后面还会继续改善这个demo的
  • C# usb摄像头拍照

    热门讨论 2020-07-29 14:19:17
    方便的使用Usb摄像头实现抓拍照片,源码号用;验证完毕可以一试
  • C#控制USB摄像头录像抓图

    热门讨论 2020-07-30 23:32:58
    C#控制USB摄像头录像抓图C#控制USB摄像头录像抓图C#控制USB摄像头录像抓图C#控制USB摄像头录像抓图C#控制USB摄像头录像抓图C#控制USB摄像头录像抓图
  • 将视频展示在pictureBox中,再存为MP4,详细注释。。
  • 最近由于老项目中使用的AForge.net库调用摄像头拍照,使用起来会出现卡慢的问题。于是决定对这块进行一下优化。 首先我们需要在项目中引入如图所示的几个库 接下来我们需要在工具箱中添加AForge.Controls对应的控件...

    最近由于老项目中使用的AForge.net库调用摄像头拍照,使用起来会出现卡慢的问题。于是决定对这块进行一下优化。
    首先我们需要在项目中引入如图所示的几个库
    调用摄像头拍照需要的库
    接下来我们需要在工具箱中添加AForge.Controls对应的控件。
    usb摄像头视频源播放控件
    一定要使用VideoSourcePlayer控件来播放视频源,这样才能避免长时间使用摄像头导致的卡慢问题.我一开始使用的是抓取视频源的帧数据绘制到一个picturebox上,这样做会导致内存泄漏致使程序卡慢甚至崩溃的问题。

    FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); //获取视频源输入设备列表
    VideoCaptureDevice videoSource = new VideoCaptureDevice(videoDevices[index].MonikerString); //初始化视频源输入设备
    videoSource.VideoResolution = videoSource.VideoCapabilities[0]; //设置视频源的分辨率
    videoSource.SetCameraProperty(CameraControlProperty.Exposure, 0, CameraControlFlags.Auto); //设置摄像头为自动曝光
    videoSourcePlayer.VideoSource = videoSource; //为播放视频控件设置视频源
    videoSourcePlayer.Start(); //开始接收视频数据
    videoSourcePlayer.GetCurrentVideoFrame(); //获取视频源的当前帧数据
    videoSourcePlayer.SignalToStop(); //发送关闭摄像头信号
    videoSourcePlayer.WaitForStop();等待摄像头关闭
    

    使用AForge.net可以处理笔记本自带的摄像头,和外接的usb摄像头。目前还没有遇到不能处理的usb摄像头。以上代码的关键是要使用AForge.net自带的播放控件VideoSourcePlayer进行帧数据的接收和截取。

    展开全文
  • C#控制摄像头实现画面实时播放思路说明关键代码完整代码下载 思路说明 主要是调用Win32API(avicap32.dll)实现。 关键代码 AviCapture.dll using System; using System.Runtime.InteropServices; namespace ...
  • WPF使用Aforge实现USB摄像头拍照: WPF使用Aforge实现USB摄像头拍照,完整Demo
  • 分客户端和服务器两部分,服务器先监听,客户端连接,连接成功后,发送摄像头采集的图像视频,发送到服务器显示
  • C#实现摄像头调用、拍照

    千次阅读 2016-08-03 17:55:16
    转载自http://blog.sina.com.cn/s/blog_ab6b842001019oaf.html using System.Runtime.InteropServices; using System.Drawing.Imaging; namespace WindowsFormsApplication2 { class Pick ... privat
  • c#获取摄像头图像实时对像素点操作一向比较麻烦,在这里我封装了一个dll文件可以很方便的实时获取摄像头和获取视频图像,并对其像素点的rgb值进行操作,可以用于c#的图像处理中。资源有dll文件的使用示例。
  • C#调用USB摄像头(单头,多头)源码我已经整理出来了,单摄像头项目里面用了DEV控件 需要你们导入DEV控件的DLL DLL已经在生成路径下引用即可哦!
1 2 3 4 5 ... 20
收藏数 1,291
精华内容 516
关键字:

c# usb 摄像头