2025年3月22日 星期六 甲辰(龙)年 月廿一 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > .net

使用C#操作摄像头

时间:02-03来源:作者:点击数:27

使用C#操作摄像头,主要有两种方法:

  • 使用Windows.Media.Capture库
  • 使用第三方组件,如AForge

使用Windows.Media.Capture库

Windows.Media.Capture库是Windows 10中提供的官方摄像头操作库。使用该库,可以直接访问摄像头设备的所有功能,包括拍照、录像、预览等。

使用Windows.Media.Capture库操作摄像头的步骤如下:

获取摄像头设备列表

  • // 获取摄像头设备管理器
  • var cameraManager = Windows.Media.Devices.MediaDeviceManager.GetDefault();
  • // 获取摄像头设备列表
  • var cameras = cameraManager.GetCameras();

打开摄像头

  • // 获取要打开的摄像头
  • var camera = cameras.FirstOrDefault();
  • // 打开摄像头
  • camera.Open();

预览摄像头

  • // 获取预览视图
  • var preview = camera.GetPreviewView();
  • // 将预览视图添加到窗体
  • this.Controls.Add(preview);

拍照

  • // 创建拍照请求
  • var captureRequest = camera.CreateCaptureRequest();
  • // 设置拍照参数
  • captureRequest.TrySetPreviewFramerateRange(new Range<int>(15, 30));
  • // 拍照
  • camera.Capture(captureRequest);

以下是一个使用Windows.Media.Capture库操作摄像头的示例代码:

  • using System;
  • using System.Windows.Forms;
  • using Windows.Media.Devices;
  • namespace CameraSample
  • {
  • public partial class Form1 : Form
  • {
  • public Form1()
  • {
  • InitializeComponent();
  • }
  • private void Button1_Click(object sender, EventArgs e)
  • {
  • // 获取摄像头设备列表
  • var cameras = CameraDeviceManager.GetDefault().GetCameras();
  • // 获取要打开的摄像头
  • var camera = cameras.FirstOrDefault();
  • // 打开摄像头
  • camera.Open();
  • // 获取预览视图
  • var preview = camera.GetPreviewView();
  • // 将预览视图添加到窗体
  • this.Controls.Add(preview);
  • }
  • private void Button2_Click(object sender, EventArgs e)
  • {
  • // 创建拍照请求
  • var captureRequest = camera.CreateCaptureRequest();
  • // 设置拍照参数
  • captureRequest.TrySetPreviewFramerateRange(new Range<int>(15, 30));
  • // 拍照
  • camera.Capture(captureRequest);
  • }
  • }
  • }

运行该程序,点击“打开摄像头”按钮,将打开摄像头预览。点击“拍照”按钮,将拍摄一张照片。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门