使用AForge.NET Framework打开摄像头并截图 C#

videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
                    if (videoDevices.Count == 0)
                    {
                        MessageBox.Show("未检测到摄像头,请确认!");
                        return;
                    }
                    selectedDeviceIndex = 0;
                    videoSource = new VideoCaptureDevice(videoDevices[selectedDeviceIndex].MonikerString);//连接摄像头
                    int ResolutionIndex = 0;
                    for (int i = 0; i < videoSource.VideoCapabilities.Length; i++)
                    {
                        if (videoSource.VideoCapabilities[i].FrameSize.Width == 1600)  //1600*1200分辨率即可
                        {
                            ResolutionIndex = i;
                            break;
                        }
                    }
                    videoSource.VideoResolution = videoSource.VideoCapabilities[ResolutionIndex];
                    videoSourcePlayer1.VideoSource = videoSource;
                    // set NewFrame event handler
                    videoSourcePlayer1.Start();

 

下载库添加引用添加 

videoSourcePlayer控件就不说了

代码操作很简单

但有可能部分usb摄像头不支持

截图
if (videoSource == null)
                                return;
                            Bitmap bitmap = videoSourcePlayer1.GetCurrentVideoFrame();

  

时间: 2024-12-21 14:43:51

使用AForge.NET Framework打开摄像头并截图 C#的相关文章

使用Vlc.DotNet打开摄像头并截图 C#

Vlc.DotNet.Forms.VlcControl cc = new Vlc.DotNet.Forms.VlcControl(); cc.Width = 500; cc.Height = 400; cc.Top = 100; cc.Left = 100; Vlc.DotNet.Core.Medias.MediaBase media = new Vlc.DotNet.Core.Medias.LocationMedia("dshow:// "); media.AddOption(&qu

JS打开摄像头并截图上传

直入正题,JS打开摄像头并截图上传至后端的一个完整步骤 1. 打开摄像头主要用到getUserMedia方法,然后将获取到的媒体流置入video标签 2. 截取图片主要用到canvas绘图,使用drawImage方法将video的内容绘至canvas中 3. 将截取的内容上传至服务器,将canvas中的内容转为base64格式上传,后端(PHP)通过file_put_contents将其转为图片 要注意的是,在chrome以外的浏览器中,使用摄像头或多或少会出现一些问题,可能也是老问题了,所以以

opencv学习---打开摄像头检测个人头像

opencv中具有检测人体各部分的级联分类器,在opencv文件夹里面的sources/data/haarcascades里面. 这里要选择的是能够检测人体头像的还有检测眼睛的级联分类器的文件. 它们分别是: 检测头像 haarcascade_frontalface_alt.xml或者haarcascade_frontalface_alt2.xml 检测眼睛 haarcascade_eye.xml或者haarcascade_eye_tree_eyeglasses.xml 检测用的函数是: cvH

opencv打开摄像头获取视频程序

// // main.cpp // opencv3 // // Created by PKU on 14-9-16. // Copyright (c) 2014年 PKU. All rights reserved. // #include <opencv2/opencv.hpp> using namespace cv; using namespace std; int main() { CvCapture* capture=cvCaptureFromCAM(-1); CvVideoWriter

OpenCV实践之路——MFC与OpenCV联合打开摄像头

在之前的一篇博客中已经记录了如何打开一张图片,能打开图片之后,自然就是尝试打开摄像头.在之前打开图片的时候已经知道了怎么应用按钮控件和图片控件,虽然都没记录...最最重要的是,知道了怎么让MFC与OpenCV的数据交互--Mat与CImage相互转换.有了之前的基础,打开摄像头就可以得心应手了.还是直接上代码,然后再说问题: void CMFCtestDlg::OnBnClickedButton1() { // TODO: Add your control notification handle

opencvbase 实现opencv打开摄像头和初步处理等效果操作(附源码)

// TwoCameraOnTimer2Dlg.cpp : 实现文件 /* CvMat, Mat, IplImage之间的互相转换 IpIImage -> CvMat CvMat matheader; CvMat * mat = cvGetMat(img, &matheader); CvMat * mat = cvCreateMat(img->height, img->width, CV_64FC3); cvConvert(img, mat) IplImage -> Mat

OpenCV Open Camera 打开摄像头

这是一个用OpenCV2.4.10打开摄像头的一个例子,参见代码如下: #include <iostream> #include <stdio.h> #include <opencv2/opencv.hpp> using namespace cv; using namespace std; int main(int argc, char *argv[]) { CvCapture* cam0 = cvCaptureFromCAM(0); if(!cam0) { fprin

关于tiny4412自写qt4程序打开摄像头的实践手记

一.本想着偷懒借用opencv自带的VideoCapture类直接在arm上打开摄像头读取数据,失败. 百度原因,需要编译arm版本的opencv时将V4l2的支持编译进去,而其需要一大堆库的支持,了解详细时才恍然大悟之前看到的一些opencv移植教程中提到的交叉编译ffmpeg等库,皆是基础. 放弃此方案. 二.继续想偷懒,借用网上能找到的各种V4L2的qt4的demo打开摄像头,然后将数据传递给opencv的Mat类型(毕竟用习惯了,顺手). 于是乎开始下载网上各种demo,csdn那点分数

OpenCV打开摄像头失败

<span style="font-family: Arial, Helvetica, sans-serif;">#include <stdio.h></span> #include <cv.h> #include <cxcore.h> #include <highgui.h> int main( int argc, char** argv ) { //声明IplImage指针 IplImage* pFrame =