何水艷 武漢軟件工程職業(yè)學(xué)院
圖像是由一些排列的像素組成的,在計算機(jī)中的存儲格式有BMP、PCX、TIF、GIFD等,一般數(shù)據(jù)量比較大。它除了可以表達(dá)真實(shí)的照片外,也可以表現(xiàn)復(fù)雜繪畫的某些細(xì)節(jié),并具有靈活和富有創(chuàng)造力等特點(diǎn)。C#是一個簡單的、現(xiàn)代的、通用的、面向?qū)ο蟮木幊陶Z言,應(yīng)用.NET框架。C#中,Image為源自 Bitmap 和 Metafile 的類提供功能的抽象基類,使用Image可以操作各種支持的圖片,如GIF、BMP、JPG、Image.FromFile()返回的是某個繼承自Image的具體類的對象。通過本系統(tǒng)的開發(fā)使學(xué)生掌握基于C#程序設(shè)計的基本方法,具備一定的控制臺應(yīng)用程序開發(fā)的能力,對提高學(xué)生軟件編程實(shí)踐操作能力具有現(xiàn)實(shí)的指導(dǎo)意義。
本文方法中用到的變量如下:
private String resourcePath;
//資源路徑,在實(shí)例化時賦值,用于獲取Bitmap對象
private String aimPath;//目標(biāo)路徑,在實(shí)例化時賦值,用于儲存圖像文件
private Bitmap resource;//原始資源
private Bitmap aim;//目標(biāo)資源
private Color resourceColor;//原始顏色
private Color aimColor;//新顏色
private int width;
private int height;
圖1 要處理的原始圖片
灰度模式的圖像只有灰度值而沒有顏色信息; 灰度模式可以使用多達(dá)256級灰度來表現(xiàn)圖像,使圖像的過渡更平滑細(xì)膩。灰度圖像的每個像素有一個0(黑色)到255(白色)之間的亮度值?;叶戎狄部梢杂煤谏湍采w的百分比來表示(0%等于白色,100%等于黑色)。使用黑折或灰度掃描儀產(chǎn)生的圖像常以灰度顯示。
圖像灰度處理算法如下:
1.獲取一個像素點(diǎn)的Color;
2.將該Color的r,g,b值取出;
3.使用灰度公式 灰度公式 Gray =(Red * 0.3 + Green * 0.59 + Blue * 0.11);
4.將灰度gray當(dāng)做r,g,b值創(chuàng)建一個新的Color;
5.將新Color賦值給當(dāng)前像素;
6.使用循環(huán)對所有像素點(diǎn)進(jìn)行操作。
圖2 灰度處理后的圖片
圖像放大處理算法如下,分兩輪進(jìn)行,第一輪:
1.獲取原始圖像的位圖對象;2.創(chuàng)建一個指定放大倍數(shù)的位圖對象;3.在原圖對象上獲取1,2,3位置像素的color;
4.分別計算橫向r,g,b的變化步長;
5.(2的r,g,b-1的r,g,b)/放大倍數(shù);
6.分別計算縱向r,g,b的變化步長;
7.(3的r,g,b-1的r,g,b)/放大倍數(shù);
8.給第二圖1-2之間的像素根據(jù)橫向步長賦值;
9.給第二圖1-3之間的像素根據(jù)縱向步長賦值.
第二輪:
1.取5號像素上方和左方的像素點(diǎn)的Color,并計算平均值賦給5號像素;
2.重復(fù)第二輪操作,給所有未賦值的像素點(diǎn)賦值;
3.使用循環(huán)對所有的像素進(jìn)行操作.
文中設(shè)計了基于c#的圖像處理實(shí)驗(yàn),綜合運(yùn)用面向?qū)ο笤O(shè)計技術(shù)、圖像處理技術(shù),以Visual Studio 2015作為集成開發(fā)環(huán)境,通過Windows程序設(shè)計進(jìn)行系統(tǒng)軟件開發(fā),讓學(xué)生利用所學(xué)知識和技能,以項(xiàng)目為驅(qū)動,進(jìn)一步掌握C#程序的開發(fā)技術(shù)和技巧。強(qiáng)化了學(xué)生模塊化編程方法,這將有助于綜合掌握C#的基礎(chǔ)知識,以及更好的培養(yǎng)學(xué)生實(shí)踐工程能力。