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();