c#中图像处理的三种方法的比较
在C#中,图像处理的三种方法分别未:提取像素法,内存法,指针法。
提取像素法:该方法使用GDI+中的Bitmap.GetPixel和Bitmap.SetPixel进行图像像素处理。
内存法:该方法直接把图像数据复制到内存中,使程序的运行速度大大提高。
指针法:该方法类似内存法,只是用指针对内存进行操作。该方法比之内存法更简洁,但指针的使用会带来风险。
以下代码通过三种方法来实现彩色图像的灰度化,并进行时间检测。
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;
namespace 彩图灰度化
{
public partial class Form1 : Form
{
private string curFileName;
private Bitmap curBitmap;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog opnDlg = new OpenFileDialog();
opnDlg.Filter = "所有图像文件|*.bmp;*.pcx;*.png;*.jpg;*.hif;" +
"*.tif;*.ico;*.dxf;*.cgm;*.cdr;*.wmf;*.eps;*.emf|" +
"位图(*.bmp;*.jpg;*.png;...)|*.bmp;*.pcx;*.png;*.jpg;*.gif;*.tif;*.ico|" +
"矢量图(*.wmf;*.eps;*.emf;...)|*.dxf;*.cgm;*.cdr;*.wmf;*.eps;*.emf";
opnDlg.Title = "打开图像文件";
opnDlg.ShowHelp = true;
if (opnDlg.ShowDialog() == DialogResult.OK)
{
curFileName = opnDlg.FileName;
try
{
curBitmap = (Bitmap)Image.FromFile(curFileName);
}
catch (Exception exp)
{
MessageBox.Show(exp.Message );
}
}
Invalidate();
}
private void button2_Click(object sender, EventArgs e)
{
if (curBitmap == null)
return;
SaveFileDialog saveDlg = new SaveFileDialog();
saveDlg.Title = "保存为";
saveDlg.OverwritePrompt = true;
saveDlg.Filter = "BMP文件(*.bmp)|*.bmp|" + "Gif文件(*.gif)|*.gif|" + "JPEG文件(*.jpg)|*.jpg|" + "PNG文件(*.png)|*.png";
saveDlg.ShowHelp = true;
if (saveDlg.ShowDialog() == DialogResult.OK)
{
string fileName = saveDlg.FileName;
string strFilExtn = fileName.Remove(0, fileName.Length- 3);
switch (strFilExtn)
{
case "bmp":
curBitmap.Save(fileName, System.Drawing.Imaging.ImageFormat.Bmp);
break;
case "jpg":
curBitmap.Save(fileName, System.Drawing.Imaging.ImageFormat.Jpeg);
break
C#图像处理方法效率测试与分析_专业资料。以测试C#图像处理方法执行效率为目的,对C#中三种图像处理方法及常用类库进行性能测试和分析.在不考虑数据结构与算法的前提...
C#数字图像处理算法计算方法组 任务分工 目录 >> >> >> >> 图像的基本知识...三种方法的比较难易程度 提叏像素法 易 效率 低 安全性 安全 内存法指针法 ...
C#图片处理常见方法性能比较 图片处理常见方法性能比较 图片处理 在.NET 编程中,...对每个像素点的 R, G, B 值进行加权 自认为第三种方法做出来的黑白效果图像...
c#图像处理入门的一个好方法-bitmap类和图像像素值获取方法_IT/计算机_专业...FromStream 方法:从一个数据流中创建一个 image 对象,它包含三种函数形式 : ...
11.2 C#数字图像像素操作的三种方法 C#数字图像像素操作的三种方法 1.直接操作法 直接操作法 ? 方法与过程 这种方法处理图像的基本过程如下: 这种方法处理图像的...
C#代码各种图像处理方法_计算机软件及应用_IT/计算机_专业资料。C#代码各种图像处理方法各种图像处理方法 底片效果 private void button1_Click(object sender, ...
因为每个象素点包含了三种颜色成分,对每个象素点进行处理时便要进 行三次处理。...C#以及 GDI+完成数字图像处 理的基本方法,通过实例,我们不难发现合理运用新技术...
实践中应根据待解决问题的特点和要求决定采用何种方法 C 关键词 ; 图像处理 B...是进行模式识别和图像信息提取的基本手 段 C 本文介绍了三种常用的边缘检测算法...
图像处理中阈值选取方法... 15页 1下载券 三种阈值计算方法在MatL... 6页...然后根据每个子图像确定相应的阑值 , , 但二 者 在本 质上 并无区别只是...
3、 C#数字图像像素操作的三种方法①.直接操作法 ? 方法与过程 这种方法处理图像的基本过程如下: (1)直接使用 GDI+中的 Bitmap.GetPixel 方法来读取当前像素的...
热门文档