• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > c#数字图像处理的3种方法示例分享

c#数字图像处理的3种方法示例分享

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#数字图像处理,c#数字图像处理算法,基于c#的数字图像处理,数字图像处理方法,数字图像处理常用方法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文主要通过彩色图象灰度化来介绍C#处理数字图像的3种方法,Bitmap类、BitmapData类和Graphics类是C#处理图像的的3个重要的类。

Bitmap只要用于处理由像素数据定义的图像的对象,主要方法和属性如下:

GetPixel方法和SetPixel方法,获取和设置一个图像的指定像素的颜色。

PixelFormat属性,返回图像的像素格式。

Palette属性,获取或折纸图像所使用的颜色调色板。

Height属性和Width属性,返回图像的高度和宽度。

LockBits方法和UnlockBits方法,分别锁定和解锁系统内存中的位图像素。

BitmapData对象指定了位图的属性:

Height属性,被锁定位图的高度。

Width属性,被锁定位图的宽度。

PixelFormat属性,数据的实际像素格式。

Scan0属性,被锁定数组的首字节地址。

Stride属性,步幅,也称扫描宽度。

彩色图象灰度化

24位彩色图象每个像素用3个字节表示,每个字节对应着R、G、B分量的亮度(红、绿、蓝)。当3个分量不想同时表现为灰度图像。下面有三种转换公式:

Gray(I,j)为转换后的灰度图像在(I,j)点出的灰度值。由于人眼对颜色的感应不同,有了下面的转换公式:

观察发现绿色所占比重最大,所以转换时直接使用G值作为转换结果:

图像处理的3种方法分别是:提取像素法、内存法和指针法,它们各自有各自的特点。

提取像素法

使用的是GDI+中的Bitmap.GetPixel和Bitmap.SetPixel方法。

内存法

内存法是把图像数据直接复制到内存中,这样程序的运行速度就能大大提高了。

指针法

这个方法和内存法相似,开始都是通过LockBits方法来获取位图的首地址,这个方法更简洁,直接用指针进行位图操作。所以对内存的操作需要在unsafe下进行操作。

</div>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#实现在图像中绘制文字图形的方法
  • C#图像处理之霓虹效果实现方法
  • C#图像处理之浮雕效果实现方法
  • C#数字图像处理之图像缩放的方法
  • C#数字图象处理之肤色检测的方法
  • C#图像处理之头发检测的方法
  • C#图像处理之图像平移的方法
  • c#数字图像处理的3种方法示例分享

相关文章

  • 2017-05-28C#控制台基础 list<>初始化的两种方法
  • 2017-05-28C#连接Excel驱动与示例代码分享
  • 2017-05-28c#生成缩略图的实现方法
  • 2017-05-28C# memcached缓存使用实例代码
  • 2017-05-28C#中将DataTable转化成List<T>的方法解析
  • 2017-05-28c#使用file.copy实现文件备份示例
  • 2017-05-28c#保存窗口位置大小操作类(序列化和文件读写功能)
  • 2017-05-28WinForm中BackgroundWorker控件用法简单实例
  • 2017-05-28C# BackgroundWorker组件学习入门介绍
  • 2017-05-28C#添加Windows服务 定时任务

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 登录验证全局控制的几种方式总结(session)
    • C#实现图形路径变换的方法
    • C#控制图像旋转和翻转的方法
    • c# 以二进制读取文本文件
    • C#调用python文件执行
    • c# winform取消右上角关闭按钮的实现方法
    • C#用Lambda和委托实现模板方法
    • C# 面向对象的基本原则
    • C#实现登录窗口(不用隐藏)
    • C#使用二分查找法判断指定字符的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有