C# 使用AForge调用笔记本摄像头拍照

vs2012  winform

连接摄像头设备,这里需要引入

代码:

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

在工具箱中还需要添加AForge.Control,然后找到VideoSourcePlayer这个控件添加到界面上

直接找到dll拖拽到工具箱就可以了(工具箱先建一个选项)

将在camera里面出现很多控件,找到videoSourcePlayer,拖拽至form窗体

然后完成了基本设置

定义全局变量

FilterInfoCollection videoDevices;
VideoCaptureDevice videoSource;
public int selectedDeviceIndex = 0;

然后连接摄像头

 1 private void btn_getdevice_Click(object sender, EventArgs e)
 2         {
 3             videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
 4             selectedDeviceIndex = 0;
 5             videoSource = new VideoCaptureDevice(videoDevices[selectedDeviceIndex].MonikerString);//连接摄像头。
 6             videoSource.VideoResolution = videoSource.VideoCapabilities[selectedDeviceIndex];
 7             videoSourcePlayer1.VideoSource = videoSource;
 8             // set NewFrame event handler
 9             videoSourcePlayer1.Start();
10         }      

拍照:

1  private void button1_Click(object sender, EventArgs e)
2         {
3             if (videoSource == null)
4                 return;
5             Bitmap bitmap = videoSourcePlayer1.GetCurrentVideoFrame();
6             string fileName = "54250.jpg";//DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ff") + ".jpg";
7             bitmap.Save(@"E:\temp\" + fileName, ImageFormat.Jpeg);
8             bitmap.Dispose();
9         }

这样就完成了拍照功能

效果图

这是一个关于aforge讨论的群,可以加进来互相讨论,我不是群主不是管理员!

205584568,希望不要见怪!

时间: 2024-10-19 15:57:29

C# 使用AForge调用笔记本摄像头拍照的相关文章

matlab调用笔记本摄像头拍照并连续保存

%% 图像抓取并存入当前目录image文件夹下 % 建立图片存储文件夹 if exist('image','dir')~= 7 mkdir([cd,'/image']) % 与下一句一样 end directory=[cd,'/image/']; %当前工作目录下文件夹 %定义一个监控界面 hf = figure('Units', 'Normalized', 'Menubar', 'None','NumberTitle', 'off', 'Name', '实时拍照系统'); ha = axes(

在WPF中使用AForge.net控制摄像头拍照

原文:在WPF中使用AForge.net控制摄像头拍照 利用AForge.net控制摄像头拍照最方便的方法就是利用PictureBox显示摄像头画面,但在WPF中不能直接使用PictureBox.必须通过<WindowsFormsHost></WindowsFormsHost>来提供交换功能.其解决方法如下: 1.按照常规方法新建一个WPF应用程序: 2.添加引用 WindowsFormsIntegration  (与WinForm交互的支持) System.Windows.For

利用html5调用本地摄像头拍照上传图片[转]

利用html5调用本地摄像头拍照上传图片 html5概念啥的就不废话了,不知道的 百度, 谷歌一堆..今天学了学html5中的Canvas结合新增的<video>标签来获取本地摄像头,在html5之前,要在浏览器获取本地摄像头只有通过插件(ActiveX,但是这种只有IE支持)或者是flash来获取(或许你没学过flash那就很坑爹了),在之后微软的silvertlight中也可以获取,但这些都比较麻烦,在html5的世界里,要获取本地摄像头,只要配合js就可以轻松获取.. 目前支持html5

调用本地摄像头拍照(H5和画布)

关于H5 和 画布 调用本地摄像头拍照功能的实现 1.代码的实现(html部分) <input type="button" title="开启摄像头" value="开启摄像头" onclick="getMedia();" /><br /> <video height="120px" autoplay="autoplay"></video>

Android调用系统摄像头拍照并剪裁压缩

由于业务需要写了一个Android手机拍照的功能Demo,同时实现了图片剪裁和图片压缩.以下是源码 package com.klp.demo_025; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import android.app.Activity; import android.c

opencv3.3+vs2015调用笔记本摄像头成功

先上代码 成功图片如下: #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/core/core.hpp> using namespace cv; int main() { VideoCapture cap(0); if (!cap.isOpened()) { return -1; } Mat frame; Mat edges; b

android调用摄像头拍照

调用手机摄像头拍照,获取拍照后的图片数据.以下代码是在activity中:     // 调用摄像头         Button b = (Button) findViewById(R.id.btn1);     b.setOnClickListener(new View.OnClickListener() {         @Override         public void onClick(View v) {             // Here we fire the inte

C#调用摄像头拍照

在winforn程序中,经常会遇到一些调用硬件的功能,这里给大家讲解的事使用AForge调用摄像头 首先引用用dll文件 这些都是需要应用的dll文件,其中AForge.Controls.dll文件里面封装了一些void控件,在工具箱中应用文件就会出现如下控件 这里会使用到VideoSourcePlayer控件,下面是底层代码 using引用 using System.Drawing.Imaging;using System.Windows;using System.IO;using Syste

android 调用前摄像头进行拍照的方法及完整例子

android调用camera时,可以自己写一个activity,赋上相关参数,打开前camera就可以了: 需要申请的permission,在AndroidManifest.xml中添加: <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" android:required