精华内容
下载资源
问答
  • C#操作摄像头实现拍照监控录像功能-附件资源
  • 数擎大华监控录像恢复软件专门用于恢复大华监控录像机上的监控视频,具有碎片重组功能,能自动识别大华监控录像的各个版本,自动分析出时间和通道并重组出文件,可以按时间点
  • 行业分类-电子政务-一种带自动监控录像功能的电冰箱.zip
  • 基于Delphi实现的简易视频监控录像程序,只是一个很简单的视频监控例子,更多功能还需要自己添的
  • 数擎海康监控录像恢复软件专门用于恢复常见的PC式和嵌入式的海康监控视频,具有碎片重组功能,能自动分析出时间并重组各个通道的视频;有按监控录像的文件系统来快速扫描的功
  • 基于Delphi实现的简易视频监控录像程序,只是一个很简单的视频监控例子,更多功能还需要自己添的
  • C#操作摄像头实现拍照监控录像功能

    千次阅读 2018-09-11 17:56:46
    从正式工作以来一直做的都是基于B/S的Web开发,已经很长时间不研究C/S的东西了,但是受朋友的委托,帮他做一下拍照的这么个小功能。其实类似的代码网上有很多,但是真的能够拿来运行的估计也没几个。本来是说周末给...

    从正式工作以来一直做的都是基于B/S的Web开发,已经很长时间不研究C/S的东西了,但是受朋友的委托,帮他做一下拍照的这么个小功能。其实类似的代码网上有很多,但是真的能够拿来运行的估计也没几个。本来是说周末给做的,但是这两天脑子一直很乱,也没静下来,晚上了,再不做明天有点不好意思啊,只能临时做一个了。在网上找资料自己做的过程中也发现了一些问题,于是拿到博客上来分享一下,这样一来有需要的朋友可以直接拿来用,二来正在研究的遇到这些问题了可以迎刃而解。

    刚开始接触摄像头视频之类的是在大二的时候,那时候因为实验室有一个小项目交到我手上,所以那时候对播放视频之类的了解了一些。那时候的需求是对已经录下来的监控录像做处理,整个过程是已经不需要自己再去控制录像了,所以相对简单一点。而拍照和摄像是自己控制,所以稍微复杂那么一点点。行了,废话说到这里,下面进入正题。

    还是以往的作风,只实现功能,对界面不做过多的美化,有需要的朋友可以自己动手。比较这年头自己动手,丰衣足食嘛。图1-1是程序的主界面:


    图1-1

    操作摄像头以及实现拍照功能整个过程主要都是通过一个第三方的组件实现的,名字叫做 AForge ,是国外的组件,所以打开起来有点慢,但是要有耐心啊,目前已经更新到2.2.5版本了。如果不愿意从官网上下载,文章末尾处也给出了相应的下载地址,需要的话直接拿来用就ok了。程序也很简单,一个WinForm页面,添加一下对Aforge的引用就可以了,但是这个过程中会引用一些其他的dll,有些不是太常用,所以在这里对引用的dll也做了截图(图1-2),在自己做的过程中参照一下即可。


    图1-2

    上图1-1中间部分是用来实时显示摄像头开启后获取到的内容,是一个自定义控件。这里得说明一下,将AForge.Controls.dll拖拽到左侧的工具箱区域,然后就出来自定义控件了。这里顺便说明一下,我们平时自己开发的自定义控件也可以通过这种方式来给别人用。前台都准备好了之后我们来开始分析后台代码。

    整个的思路是先找到电脑上的摄像头设备,然后选择我们需要操作的设备,然后在拍照或者摄像。今天由于时间关系仅仅只是实现拍照,下次再做摄像的功能,实现之后也会一样分享在这里的,希望有需要的朋友关注。

    当Form加载的时候,我们监听一下其Load事件,将检测到的摄像头设备添加到后边的ComboBox中供用户选择,关键代码如下:

    Private void Form1_Load(object sender, EventArgs e)

    {

    try

    {

        // 枚举所有视频输入设备

        videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);

        if (videoDevices.Count == 0)

      throw new ApplicationException();

     

        foreach (FilterInfo device in videoDevices)

        {

      tscbxCameras.Items.Add(device.Name);

        }

        tscbxCameras.SelectedIndex = 0;

    }

    catch (ApplicationException)

    {

        tscbxCameras.Items.Add("No local capture devices");

        videoDevices = null;

    }

      }

    当用户选择某一摄像头设备再点击连接的时候,我们打开摄像头,并对其进行初始化,关键代码:

    //连接摄像头

      private void CameraConn()

      {

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

    videoSource.DesiredFrameSize = new System.Drawing.Size(320, 240);

    videoSource.DesiredFrameRate = 1;

    videoSourcePlayer.VideoSource = videoSource;

    videoSourcePlayer.Start();

      }

    当用户关闭点击关闭摄像头的时候,我们做关闭的处理,代码:

    //关闭摄像头

      private void btnClose_Click(object sender, EventArgs e)

      {

    videoSourcePlayer.SignalToStop();

    videoSourcePlayer.WaitForStop();

      }

    当用户点击拍照的时候,我们获取摄像头当前的画面,并保存到设定的路径下,然后关闭当前窗口。关键代码:

     //拍照

      private void Photograph_Click(object sender, EventArgs e)

      {

    try

    {

        if (videoSourcePlayer.IsRunning)

        {

      BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(

    videoSourcePlayer.GetCurrentVideoFrame().GetHbitmap(),

    IntPtr.Zero,

     Int32Rect.Empty,

    BitmapSizeOptions.FromEmptyOptions());

      PngBitmapEncoder pE = new PngBitmapEncoder();

      pE.Frames.Add(BitmapFrame.Create(bitmapSource));

      string picName = GetImagePath() + "\\" + "xiaosy" + ".jpg";

      if (File.Exists(picName))

      {

    File.Delete(picName);

      }

      using (Stream stream = File.Create(picName))

      {

    pE.Save(stream);

      }

      //拍照完成后关摄像头并刷新同时关窗体

      if (videoSourcePlayer != null && videoSourcePlayer.IsRunning)

      {

    videoSourcePlayer.SignalToStop();

    videoSourcePlayer.WaitForStop();

      }

      this.Close();

        }

    }

    catch (Exception ex)

    {

        MessageBox.Show("摄像头异常:" + ex.Message);

    }

      }

     

      private string GetImagePath()

      {

    string personImgPath = Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory)

     + Path.DirectorySeparatorChar.ToString() + "PersonImg";

    if (!Directory.Exists(personImgPath))

    {

        Directory.CreateDirectory(personImgPath);

    }

     

    return personImgPath;

      }

     

    关闭之后,在bin目录下的PersonImg中即可找到保存的图片,当然,在程序中把该图片展示出来效果会更好,但是由于时间关系,就不添加了。需要的朋友可以自己实现,有问题的欢迎一起交流。

    至此,这样一个简单的拍照功能就完成了,在这里,附上源码下载地址

    展开全文
  • 汉邦监控录像播放器

    2012-10-31 15:56:54
    监控录像播放器汉邦监控录像播放软件 这个是目前最新的了 推荐下载 功能全面视频流畅
  • WFS监控录像恢复软件WFS监控录像恢复软件是专门用来恢复常见的嵌入式监控录像机(这种监控录像机中硬盘的0扇区有“WFS”标志)中的监控视频文件,软件能自动识别监控录像的各个版本(WFS0.2、WFS0.3、WFS0.4);...
  • WFS监控录像恢复软件是专门用来恢复常见的嵌入式监控录像机(这种监控录像机中硬盘的0扇区有“WFS”标志)中的监控视频文件,软件能自动识别监控录像的各个版本(WFS0.2、WFS0.3、WFS0.4);是碎片级的录像监控恢复...
  • 大华监控录像恢复软件专门用来恢复大华硬盘录像机的监控视频文件,是碎片级的录像监控恢复软件,能自动识别大华监控录像的各个版本,自动分析出时间和通道重组出文件,可以按时间点查询列出所需的文件,大大减少挑选...
  • H264监控录像恢复软件是专门用来恢复常见的嵌入式监控录像机(这种监控录像机中硬盘的底层数据中有“H264”标志)中的监控视频文件;是碎片级的录像监控恢复软件,能自动分析出时间并重组各个通道的视频;可以按时间...
  • 鹰眼摄像头监控录像软件鹰眼摄像头监控录像软件是一款可以直接利用电脑USB摄像头监控录像的软件,操作简单功能强大,录制文件体积小,支持开机自动录像,隐藏录像,分段分时录像,多路摄像头同时录像。可用于:小...
  • 大华监控录像恢复软件专门用来恢复大华硬盘录像机的监控视频文件,是碎片级的录像监控恢复软件,能自动识别大华监控录像的各个版本,自动分析出时间和通道重组出文件,可以按时间点查询列出所需的文件,大大减少挑选...
  • HKBuild海康监控录像恢复软件专门用于恢复常见的PC式和嵌入式的海康监控视频,具有碎片重组功能,能自动分析出时间并重组各个通道的视频;可以快速定位要恢复的时间段在硬盘中的位置,也可以按时间点查询列出所需的...
  • 海康监控录像恢复软件是专门用来恢复海康品牌的硬盘监控录像机视频文件,是碎片级的录像监控恢复软件,能自动分析出各个通道的数据;可以按时间点查询列出所需的文件,能快速找到某个时间段的监控镜头。
  • WFS监控录像恢复软件WFS监控录像恢复软件是专门用来恢复常见的嵌入式监控录像机(这种监控录像机中硬盘的0扇区有“WFS”标志)中的监控视频文件,软件能自动识别监控录像的各个版本(WFS0.2、WFS0.3、WFS0.4);...
  • 海康监控录像恢复软件是专门用来恢复海康品牌的硬盘监控录像机视频文件,是碎片级的录像监控恢复软件,能自动分析出各个通道的数据;可以按时间点查询列出所需的文件,能快速找到某个时间段的监控镜头。
  • 3.可以自由设置视频监控录像的行列布局,有效利用监控窗口。 4.占用资源少,每小时录制最小只占50MB的硬盘空间,录制一整天空间只需1G。 5.无人值守监控,可进行长时间的全天监控录像。) 6.空间不足时(少于0.3G)自动...
  • H264监控录像恢复软件(带碎片重组功能)是专门用来恢复常见的嵌入式监控录像机(这种监控录像机中硬盘的底层数据中有“H264”标志)中的监控视频文件;是碎片级的录像监控恢复软件,能自动分析出时间并重组各个通道...
  • mp4监控录像播放器

    2014-01-16 14:07:24
    播放监控录像经常用到的播放器,具有暴风影音等播放器不具有的功能
  • 海康监控录像恢复软件是专门用来恢复海康品牌的硬盘监控录像机视频文件,是碎片级的录像监控恢复软件,能自动分析出各个通道的数据;可以按时间点查询列出所需的文件,能快速找到某个时间段的监控镜头。
  • 赤兔SAERIM监控录像恢复软件能够恢复因病毒感染、误格式化、误分区、误克隆、误删除、操作断电、自动覆盖等而导致SAERIM监控录像机拍摄lm后缀名的监控录像恢复。 赤兔SAERIM监控录像恢复软件采用碎片处理技术,可以...
  • Visual C#编写的摄像头监控录像源码,程序简单,完成基本的视频监控功能,测试前请先安装好摄像头驱动。 运行环境:Visual Studio2010
  • 流火WFS监控录像恢复软件是专门用来恢复常见的嵌入式监控录像机(这种监控录像机中硬盘的0扇区有“WFS”标志)中的监控视频文件,软件能自动识别监控录像的各个版本(WFS0.2、WFS0.3、WFS0.4)。流火WFS监控恢复软件为...
  • 社区视频监控系统主要是利用摄像头和视频采集卡进行视频监控的,本社区视频监控系统主要实现以下功能:  视频监控。  云台控制。  快照和录像。  录像回放。  定时自动监控。  监控管理及日志。
  • 摘要:Delphi源码,多媒体技术,...基于Delphi实现的简易视频监控录像程序,只是一个很简单的视频监控例子,更多功能还需要自己添的,可拿去学习基本的视频监控原理,与硬件的搭配等相关技巧。 运行环境:Windows/Delphi7
  • H264监控录像恢复软件是专门用来恢复常见的嵌入式监控录像机(这种监控录像机中硬盘的底层数据中有“H264”标志)中的监控视频文件;是碎片级的录像监控恢复软件,能自动分析出时间并重组各个通道的视频;可以按时间...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,926
精华内容 3,970
关键字:

如何设置监控录像功能