此程序是学习王先荣朋友的文章,里面很详细,有兴趣的朋友可以看看:http://www.cnblogs.com/xrwang/archive/2010/02/09/HowToUseContour.html
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 Emgu.CV;
using Emgu.Util;
using Emgu.CV.Structure;
using Emgu.CV.CvEnum;
using System.Diagnostics;
namespace Chuanlin2012._01
{
public partial class MainFrm : Form
{
public Image<Bgr, byte> src;
public Image<Bgr, byte> subsrc;
public MainFrm()
{
InitializeComponent();
}
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog opflg = new OpenFileDialog();
opflg.Filter = "所有文件|*.*";
if (opflg.ShowDialog() == DialogResult.OK)
{
Image<Bgr, byte> rgbimg1 = new Image<Bgr, byte>(opflg.FileName);
imageBox1.Image = rgbimg1;
src = rgbimg1;
}
}
private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (imageBox1.Image != null)
{
SaveFileDialog sfdlg = new SaveFileDialog();
sfdlg.Filter = "bmp文件|*.bmp";
sfdlg.FilterIndex = 2;
sfdlg.RestoreDirectory = true;
if (sfdlg.ShowDialog() == DialogResult.OK)
{
string fname = sfdlg.FileName;
Bitmap bmp = imageBox1.Image.Bitmap;
bmp.Save(fname, System.Drawing.Imaging.ImageFormat.Bmp);
}
}
else
{
System.Windows.Forms.MessageBox.Show("请先打开图像!");
return;
}
}
private void 退出ToolStripMenuItem_Click_1(object sender, EventArgs e)
{
this.Close();
}
private void sobel算子ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (imageBox1.Image != null)
{
Image<Bgr, float> imgsoble = src.Sobel(0, 1, 3);
imageBox1.Image = imgsoble;
}
else
{
System.Windows.Forms.MessageBox.Show("请先打开图像!");
return;
}
}