最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#調(diào)用攝像頭實現(xiàn)拍照功能的示例代碼

 更新時間:2020年09月20日 11:11:25   作者:svq18656  
這篇文章主要介紹了C#調(diào)用攝像頭實現(xiàn)拍照功能的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

老師要求我們學(xué)生做一套拍照身份驗證系統(tǒng),經(jīng)過長時間的學(xué)習(xí),有了這篇文章,希望能幫到讀者們。

正文

首先介紹本文的主角:AForge
創(chuàng)建一個C#項目,引用必備的幾個DLL

  • AForge.dll
  • AForge.Controls.dll
  • AForge.Imaging.dll
  • AForge.Math.dll
  • AForge.Video.DirectShow.dll
  • AForge.Video.dll

這些DLL讀者們可以在文末下載我附帶的Demon

引用必要的命名空間

using AForge.Controls;
using AForge.Video;
using AForge.Video.DirectShow;

至此,便可以開始編寫代碼了。

首先遍歷操作系統(tǒng)上的攝像頭控件:

public static bool GetDevices()
    {
      try
      {
        //枚舉所有視頻輸入設(shè)備
        videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
        if (videoDevices.Count != 0)
        {
          Console.WriteLine("已找到視頻設(shè)備.");
          return true;
        }

        return false;
      }
      catch (Exception ex)
      {
        Console.WriteLine("error:沒有找到視頻設(shè)備!具體原因:" + ex.Message);
        return false;
      }

    }

找到控件后就可以初始化攝像頭:

private static void CameraConn()
    {
      videoSource = new VideoCaptureDevice(videoDevices[selectedDeviceIndex].MonikerString);
      vid.VideoSource = videoSource;
      vid.Start();
    }

但是這里為止,都只是攝像拍攝,如果需要拍照,則需要通過eventArgs.Frame.Clone()截取視頻中的某一幀圖像
這里就需要通過事件來處理:

public static void GrabBitmap()
    {
      if (videoSource == null)
      {
        return;
      }
      videoSource.NewFrame += new NewFrameEventHandler(videoSource_NewFrame); //新建事件
    }

    static void videoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
    {
      Bitmap bmp = (Bitmap)eventArgs.Frame.Clone();  //Clone攝像頭中的一幀
      bmp.Save(path, ImageFormat.Png);
      videoSource.NewFrame -= new NewFrameEventHandler(videoSource_NewFrame);    //如果這里不寫這個,一會兒會不停的拍照,
    }

代碼中的path變量就是圖片保存的位置,讀者們可以自行設(shè)置路徑。我這里默認(rèn)是用戶桌面下的Temp.png文件

測試代碼下載地址:https://gitee.com/GiveCVE/csharp_camera/raw/master/OpenCamera.zip

到此這篇關(guān)于C#調(diào)用攝像頭實現(xiàn)拍照功能的示例代碼的文章就介紹到這了,更多相關(guān)C#調(diào)用攝像頭拍照內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#淺拷貝和深拷貝實例解析

    C#淺拷貝和深拷貝實例解析

    這篇文章主要介紹了C#淺拷貝和深拷貝,是比較重要的概念,需要的朋友可以參考下
    2014-08-08
  • C#自定義組件實現(xiàn)表格的多層表頭功能

    C#自定義組件實現(xiàn)表格的多層表頭功能

    這篇文章主要為大家詳細(xì)介紹了如何使用C#自定義組件實現(xiàn)表格的多層表頭功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • C#中分部方法和分部類分析

    C#中分部方法和分部類分析

    這篇文章主要介紹了C#中分部方法和分部類基本用法,并且較為詳細(xì)的分析了分部方法和分部類使用時的注意事項,需要的朋友可以參考下
    2014-11-11
  • C#使用百度Ueditor富文本框?qū)崿F(xiàn)上傳文件

    C#使用百度Ueditor富文本框?qū)崿F(xiàn)上傳文件

    這篇文章主要為大家詳細(xì)介紹了C#如何使用百度Ueditor富文本框?qū)崿F(xiàn)上傳文件(圖片,視頻等),文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-07-07
  • c# 文件壓縮zip或?qū)ip文件解壓的方法

    c# 文件壓縮zip或?qū)ip文件解壓的方法

    下面小編就為大家分享一篇c# 文件壓縮zip或?qū)ip文件解壓的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • C#創(chuàng)建Windows服務(wù)的圖文教程

    C#創(chuàng)建Windows服務(wù)的圖文教程

    本文主要介紹了C#創(chuàng)建Windows服務(wù)的圖文教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • C#中4種深拷貝方法介紹

    C#中4種深拷貝方法介紹

    這篇文章主要介紹了C#中4種深拷貝方法介紹,本文講解了利用反射實現(xiàn)、利用xml序列化和反序列化實現(xiàn)、利用二進(jìn)制序列化和反序列化實現(xiàn)、利用silverlight DataContractSerializer實現(xiàn),用于在silverlight 客戶端使用等4種方法,需要的朋友可以參考下
    2015-06-06
  • 深入理解C♯ 7.0中的Tuple特性

    深入理解C♯ 7.0中的Tuple特性

    這篇文章主要介紹了C#7中Tuple特性的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),相信對大家具有一定的參考價值,需要的朋友可以們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-03-03
  • C#登入實例

    C#登入實例

    本篇文章通過截圖的方式向大家展示C#程序登陸實現(xiàn)的全過程,利用了C#三層架構(gòu)的編寫方法,希望對大家今后編寫代碼有所幫助
    2016-11-11
  • C#獲取并修改文件擴展名的方法

    C#獲取并修改文件擴展名的方法

    這篇文章主要介紹了C#獲取并修改文件擴展名的方法,實例分析了C#編程方式修改文件擴展名的技巧,涉及Path類的使用方法,需要的朋友可以參考下
    2015-04-04

最新評論

容城县| 洪湖市| 元阳县| 科技| 曲沃县| 柘城县| 平武县| 达拉特旗| 布尔津县| 无极县| 互助| 济南市| 长宁区| 大连市| 安吉县| 唐山市| 五华县| 黑河市| 南城县| 马鞍山市| 湖口县| 浮山县| 东明县| 临泉县| 定边县| 临湘市| 宁河县| 马山县| 松江区| 远安县| 紫阳县| 海淀区| 崇礼县| 奉贤区| 江津市| 永年县| 滁州市| 炉霍县| 苗栗市| 阳曲县| 乌兰察布市|