AForge.NET DirectShow (C#)
2014-02-26 23:23
323 查看
作者:linq
转自:http://zip.nvp.com.tw/forum.php?mod=viewthread&tid=2458&extra=page%3D12
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
using AForge;
using AForge.Imaging;
using AForge.Imaging.Filters;
using AForge.Video;
using AForge.Video.DirectShow;
namespace AForge_DirectShow_CSharp
{
public partial class Form1 : Form
{
VideoCaptureDevice videoSource;
CannyEdgeDetector filter = new CannyEdgeDetector();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (button1.Text == "Run")
{
button1.Text = "Stop";
videoSource.Start();
}
else
{
button1.Text = "Run";
videoSource.Stop();
}
}
private void Form1_Load(object sender, EventArgs e)
{
FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString);
videoSource.NewFrame += videoSource_NewFrame;
}
void videoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
Bitmap sourceImage = eventArgs.Frame;
pictureBox1.Image = (Bitmap)sourceImage.Clone() ;
pictureBox2.Image = filter.Apply(sourceImage.PixelFormat != PixelFormat.Format8bppIndexed ? Grayscale.CommonAlgorithms.BT709.Apply(sourceImage) : sourceImage);
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
videoSource.SignalToStop();
}
}
}
转自:http://zip.nvp.com.tw/forum.php?mod=viewthread&tid=2458&extra=page%3D12
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
using AForge;
using AForge.Imaging;
using AForge.Imaging.Filters;
using AForge.Video;
using AForge.Video.DirectShow;
namespace AForge_DirectShow_CSharp
{
public partial class Form1 : Form
{
VideoCaptureDevice videoSource;
CannyEdgeDetector filter = new CannyEdgeDetector();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (button1.Text == "Run")
{
button1.Text = "Stop";
videoSource.Start();
}
else
{
button1.Text = "Run";
videoSource.Stop();
}
}
private void Form1_Load(object sender, EventArgs e)
{
FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString);
videoSource.NewFrame += videoSource_NewFrame;
}
void videoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
Bitmap sourceImage = eventArgs.Frame;
pictureBox1.Image = (Bitmap)sourceImage.Clone() ;
pictureBox2.Image = filter.Apply(sourceImage.PixelFormat != PixelFormat.Format8bppIndexed ? Grayscale.CommonAlgorithms.BT709.Apply(sourceImage) : sourceImage);
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
videoSource.SignalToStop();
}
}
}
相关文章推荐
- AForge.NET DirectShow (C#)
- AForge.NET ContrastStretch 對比度拉升(C#)
- C#使用Aforge.net framework采集摄像头视频
- 使用AForge.NET Framework打开摄像头并截图 C#
- AForge.NET TransformFromPolar (C#)
- Aforge.net 一个专门为开发者和研究者基于C#框架设计
- AForge.NET ConnectedComponentsLabeling 組件標記 (C#)
- 基于C#和Aforge.net实现图像素描效果
- c# 利用AForge.NET组件操作摄像头
- AForge.NET QuadrilateralTransformation (C#)
- c# 使用AForge.NET操作摄像头操作代码
- AForge.NET BayerFilter (C#)
- c# 利用AForge.NET组件操作摄像头
- C#学习之 调用 AForge.NET Framework 启动摄像头
- C# 启动Windows摄像头类 使用Aforge.net
- AForge.NET FillHoles (C#)
- http://sourceforge.net/projects/rtspdirectshow/
- AForge.NET是一个专门为开发者和研究者基于C#框架设计的视频录像
- AForge.NET CornersMarker (C#)
- AForge.NET ColorFiltering (C#)