时间:2024-04-24
何水艳 武汉软件工程职业学院
图像是由一些排列的像素组成的,在计算机中的存储格式有BMP、PCX、TIF、GIFD等,一般数据量比较大。它除了可以表达真实的照片外,也可以表现复杂绘画的某些细节,并具有灵活和富有创造力等特点。C#是一个简单的、现代的、通用的、面向对象的编程语言,应用.NET框架。C#中,Image为源自 Bitmap 和 Metafile 的类提供功能的抽象基类,使用Image可以操作各种支持的图片,如GIF、BMP、JPG、Image.FromFile()返回的是某个继承自Image的具体类的对象。通过本系统的开发使学生掌握基于C#程序设计的基本方法,具备一定的控制台应用程序开发的能力,对提高学生软件编程实践操作能力具有现实的指导意义。
本文方法中用到的变量如下:
private String resourcePath;
//资源路径,在实例化时赋值,用于获取Bitmap对象
private String aimPath;//目标路径,在实例化时赋值,用于储存图像文件
private Bitmap resource;//原始资源
private Bitmap aim;//目标资源
private Color resourceColor;//原始颜色
private Color aimColor;//新颜色
private int width;
private int height;
图1 要处理的原始图片
灰度模式的图像只有灰度值而没有颜色信息; 灰度模式可以使用多达256级灰度来表现图像,使图像的过渡更平滑细腻。灰度图像的每个像素有一个0(黑色)到255(白色)之间的亮度值。灰度值也可以用黑色油墨覆盖的百分比来表示(0%等于白色,100%等于黑色)。使用黑折或灰度扫描仪产生的图像常以灰度显示。
图像灰度处理算法如下:
1.获取一个像素点的Color;
2.将该Color的r,g,b值取出;
3.使用灰度公式 灰度公式 Gray =(Red * 0.3 + Green * 0.59 + Blue * 0.11);
4.将灰度gray当做r,g,b值创建一个新的Color;
5.将新Color赋值给当前像素;
6.使用循环对所有像素点进行操作。
图2 灰度处理后的图片
图像放大处理算法如下,分两轮进行,第一轮:
1.获取原始图像的位图对象;2.创建一个指定放大倍数的位图对象;3.在原图对象上获取1,2,3位置像素的color;
4.分别计算横向r,g,b的变化步长;
5.(2的r,g,b-1的r,g,b)/放大倍数;
6.分别计算纵向r,g,b的变化步长;
7.(3的r,g,b-1的r,g,b)/放大倍数;
8.给第二图1-2之间的像素根据横向步长赋值;
9.给第二图1-3之间的像素根据纵向步长赋值.
第二轮:
1.取5号像素上方和左方的像素点的Color,并计算平均值赋给5号像素;
2.重复第二轮操作,给所有未赋值的像素点赋值;
3.使用循环对所有的像素进行操作.
文中设计了基于c#的图像处理实验,综合运用面向对象设计技术、图像处理技术,以Visual Studio 2015作为集成开发环境,通过Windows程序设计进行系统软件开发,让学生利用所学知识和技能,以项目为驱动,进一步掌握C#程序的开发技术和技巧。强化了学生模块化编程方法,这将有助于综合掌握C#的基础知识,以及更好的培养学生实践工程能力。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!