AForge.NET DirectShow (C#)
2012-09-16 08:10
519 查看
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();
}
}
}
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是一个专门为开发者和研究者基于C#框架设计的视频录像
- AForge.NET ColorFiltering (C#)
- 【转】Webcam in C#: AForge.NET
- AForge.NET SobelEdgeDetector (C#)
- AForge.NET Convolution (C#)
- C#学习之 调用 AForge.NET框架启动摄像头抓拍
- AForge.NET CannyEdgeDetector (C#)
- C# 的DirectShow类库 DirectShow.NET
- AForge.NET ResizeBicubic (C#)
- AForge.net c#下实现Matlab
- c# 利用AForge.NET组件操作摄像头
- Webcam in C#: AForge.NET
- AForge.NET BradleyLocalThresholding (C#)
- AForge.NET是一个专门为开发者和研究者基于C#框架设计的视频录像
- AForge.NET otsu 二值化(C#)
- c# 利用AForge.NET组件操作摄像头
- AForge.NET IterativeThreshold (C#)
- C#使用Aforge.net framework采集摄像头视频
- AForge.NET ContrastStretch 對比度拉升(C#)