資源簡介
C#實現的數字圖像邊緣檢測處理的程序,包括:Sobel、Roberts、Smoothed、Canny、Prewitt;采用VS2008編寫,完整可執行,本程序集合并參考了論壇中一些大俠的代碼。

代碼片段和文件信息
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.IO;
namespace?EdgeDetect
{
????public?partial?class?Form1?:?Form
????{
????????Bitmap?_Bitmap;
????????Bitmap?_GrayBitmap;
????????Byte[]?image;
????????Image?_origin;
????????public?Form1()
????????{
????????????InitializeComponent();????????????
????????????btn_sobel.Enabled?=?false;
????????????btn_Roberts.Enabled?=?false;
????????????btn_smoothed.Enabled?=?false;
????????????btn_gray.Enabled?=?false;
????????????btn_Threshold.Enabled?=?false;
????????????btn_canny.Enabled?=?false;
????????????btn_prewitt.Enabled?=?false;
????????}
????????//打開文件顯示原始圖像
????????private?void?btn_fileopen_Click(object?sender?EventArgs?e)
????????{
????????????OpenFileDialog?fileDialog?=?new?OpenFileDialog();
????????????fileDialog.Multiselect?=?false;
????????????fileDialog.title?=?“請選擇文件“;
????????????fileDialog.Filter?=?“所有文件(*.*)|*.jpg|*.png|*.bmp“;
????????????if?(fileDialog.ShowDialog()?==?DialogResult.OK)
????????????{
????????????????FileStream?fs?=?File.OpenRead(fileDialog.FileName);?//OpenRead
????????????????int?filelength?=?0;
????????????????filelength?=?(int)fs.Length;?//獲得文件長度?????????????????
????????????????image?=?new?Byte[filelength];?//建立一個字節數組?
????????????????fs.Read(image?0?filelength);?//按字節流讀取圖像
????????????????_origin?=?Image.FromStream(fs);//讀取原始圖像
????????????????fs.Close();
????????????????_Bitmap?=?new?Bitmap(_origin);//將圖像保存到_Bitmap成員中供后續操作
????????????????pictureBox1.Image?=?_origin;//顯示圖像到控件
????????????????_GrayBitmap?=?Thresholding.ToGrey(_Bitmap);//調用Thresholding對象的方法函數
????????????????????????????????
????????????????btn_sobel.Enabled?=?true;
????????????????btn_Roberts.Enabled?=?true;
????????????????btn_smoothed.Enabled?=?true;
????????????????btn_gray.Enabled?=?true;
????????????????btn_Threshold.Enabled?=?true;
????????????????btn_canny.Enabled?=?true;
????????????????btn_prewitt.Enabled?=?true;
????????????}
????????}
????????//Sobel算子邊緣檢測
????????private?void?btn_sobel_Click(object?sender?EventArgs?e)
????????{
????????????Bitmap?bitmap;
????????????if?(checkBox1.Checked)
????????????????bitmap?=?Sobel.DoSobel(_GrayBitmap);//調用Sobel對象的方法函數
????????????else
????????????????bitmap?=?Sobel.DoSobel(_Bitmap);//調用Sobel對象的方法函數
????????????pictureBox2.Image?=?(Image)bitmap;
????????}
????????//Roberts算子邊緣檢測
????????private?void?btn_Roberts_Click(object?sender?EventArgs?e)
????????{
????????????Bitmap?bitmap;
????????????if(checkBox1.Checked)
????????????????bitmap?=?Roberts.DoRoberts(_GrayBitmap);//調用Roberts對象的方法函數
????????????else
????????????????bitmap?=?Roberts.DoRoberts(_Bitmap);//調用Roberts對象的方法函數
????????????pictureBox2.Image?=?(Image)bitmap;
????????}
????????//Smoothed算子邊緣檢測
????????private?void?btn_smoothed_Click(object?sender?Eve
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-04-28?08:13??EdgeDetect\
?????文件?????????920??2017-04-26?09:31??EdgeDetect.sln
?????文件???????16384??2017-04-28?07:56??EdgeDetect.suo
?????目錄???????????0??2017-04-26?15:08??EdgeDetect\bin\
?????目錄???????????0??2017-04-27?18:19??EdgeDetect\bin\Debug\
?????文件???????22528??2017-04-28?08:13??EdgeDetect\bin\Debug\EdgeDetect.exe
?????文件???????60928??2017-04-28?08:13??EdgeDetect\bin\Debug\EdgeDetect.pdb
?????文件???????14328??2017-04-28?07:54??EdgeDetect\bin\Debug\EdgeDetect.vshost.exe
?????文件?????????490??2009-06-11?05:14??EdgeDetect\bin\Debug\EdgeDetect.vshost.exe.manifest
?????文件????????3820??2017-04-26?15:08??EdgeDetect\EdgeDetect.csproj
?????文件????????4663??2017-04-28?07:59??EdgeDetect\Form1.cs
?????文件???????14395??2017-04-28?07:59??EdgeDetect\Form1.Designer.cs
?????文件????????5814??2017-04-28?07:59??EdgeDetect\Form1.resx
?????目錄???????????0??2017-04-26?09:31??EdgeDetect\obj\
?????目錄???????????0??2017-04-28?08:13??EdgeDetect\obj\Debug\
?????文件????????2195??2017-04-28?07:59??EdgeDetect\obj\Debug\EdgeDetect.csproj.FileListAbsolute.txt
?????文件?????????847??2017-04-28?07:59??EdgeDetect\obj\Debug\EdgeDetect.csproj.GenerateResource.Cache
?????文件???????22528??2017-04-28?08:13??EdgeDetect\obj\Debug\EdgeDetect.exe
?????文件?????????180??2017-04-28?07:59??EdgeDetect\obj\Debug\EdgeDetect.Form1.resources
?????文件???????60928??2017-04-28?08:13??EdgeDetect\obj\Debug\EdgeDetect.pdb
?????文件?????????180??2017-04-27?18:19??EdgeDetect\obj\Debug\EdgeDetect.Properties.Resources.resources
?????目錄???????????0??2017-04-26?15:08??EdgeDetect\obj\Debug\Refactor\
?????目錄???????????0??2017-04-26?09:31??EdgeDetect\obj\Debug\TempPE\
?????文件???????31394??2017-04-28?08:13??EdgeDetect\Operaters.cs
?????文件?????????491??2017-04-26?09:31??EdgeDetect\Program.cs
?????目錄???????????0??2017-04-26?09:31??EdgeDetect\Properties\
?????文件????????1370??2017-04-26?09:31??EdgeDetect\Properties\AssemblyInfo.cs
?????文件????????2870??2017-04-26?09:31??EdgeDetect\Properties\Resources.Designer.cs
?????文件????????5612??2017-04-26?09:31??EdgeDetect\Properties\Resources.resx
?????文件????????1095??2017-04-26?09:31??EdgeDetect\Properties\Settings.Designer.cs
?????文件?????????249??2017-04-26?09:31??EdgeDetect\Properties\Settings.settings
............此處省略0個文件信息
評論
共有 條評論