劉書杰,周曉峰
(長春中醫(yī)藥大學(xué) 附屬醫(yī)院,長春 130117)
基于Delphi語言的數(shù)字圖像處理實驗系統(tǒng)設(shè)計
劉書杰,周曉峰
(長春中醫(yī)藥大學(xué) 附屬醫(yī)院,長春 130117)
介紹了一種利用Object Pascal面向?qū)ο笳Z言Delphi 7.0軟件開發(fā)平臺,并結(jié)合BussinessSkinForm界面控件,實現(xiàn)基本的圖像處理,并可以對學(xué)生信息的添加、修改、保存、刪除、按條件對學(xué)生信息進行查詢管理的實驗系統(tǒng)。
數(shù)字圖像處理;實驗系統(tǒng);Delphi 7.0
數(shù)字圖像處理作為一門學(xué)科大約形成于20世紀(jì)60年代初期。早期圖像處理的目的是改善圖像的質(zhì)量,它以人為對象,以改善人的視覺效果為目的。隨著計算機技術(shù)的發(fā)展,圖像處理技術(shù)已經(jīng)運用到了工業(yè)、軍事、醫(yī)學(xué)等很多方面。而圖像處理也變成了一個復(fù)雜而繁瑣的過程,常常一項簡單的圖像處理過程需要多個圖像處理算法共同完成。如果臨時編寫算法的話不僅算法的正確性難以保證,而且對于不熟悉編程的人來說是件困難的事。本文給出一種基于Dlephi語言的數(shù)字圖像處理系統(tǒng)。給學(xué)生提供一個不受時間地點、實驗設(shè)備限制的實驗環(huán)境,還能提供多種算法,對數(shù)字圖像進行效果的美化加工。[11]
數(shù)字圖像管理實驗系統(tǒng)是圖像處理實驗系統(tǒng)與管理實驗系統(tǒng)相結(jié)合的數(shù)據(jù)庫應(yīng)用程序。根據(jù)數(shù)字圖像處理實驗系統(tǒng)的具體實現(xiàn)情況,實驗系統(tǒng)的主要功能應(yīng)包括:[5][7]
(1)登錄功能:分教師登錄與學(xué)生登錄;
(2)管理功能:教師登錄后能管理學(xué)生信息,可評分;
(3)程序基本功能:打開、關(guān)閉、保存、另存為、退出;
(4)處理數(shù)字圖像功能:
圖像編輯:圖像的單步撤銷和重做;整幅圖的復(fù)制,剪切,粘貼,清除;
圖像調(diào)整:位圖變換(90度旋轉(zhuǎn),水平翻轉(zhuǎn),垂直翻轉(zhuǎn)),取反色,取黑白兩色,灰度圖變換。可以用滑動工具條改變參數(shù)的有對比度,亮度,飽和度,RGB;
圖像濾鏡:曝光效果,浮雕效果。可以用滑動工具條改變參數(shù)的有銳化,模糊,添加雜色,噴濺效果,馬賽克效果,霓虹效果;
(5)顯示圖片路徑及實際寬和高:在軟件最底端的工具欄會自動顯示;
(6)存儲實驗流程功能:學(xué)生能存儲實驗步驟供老師評分時參考。
根據(jù)上述要求,確定實驗系統(tǒng)的整體結(jié)構(gòu)圖,如圖1所示,各模塊包含不同的功能子塊。
數(shù)字圖像實驗系統(tǒng)是調(diào)用所有窗體的單元,并且記錄每個Form窗體與其對應(yīng)的Unit單元名稱。由于篇幅限制,實驗系統(tǒng)的各個模塊不能在這里一一闡述,重點闡述主窗體程序模塊:[1][10]
(1)打開圖片
數(shù)字圖像實驗系統(tǒng)中利用“procedure OpenPicture”用于打開文件的時候把非bmp的圖片像素化為位圖導(dǎo)入到image1的畫布上。
圖1 實驗系統(tǒng)整體模塊圖
下面是使打開的文件轉(zhuǎn)換成bmp的格式的部分代碼:
(2)圖像撤銷及重做
建立一個過程procedure undouse;用于在每次執(zhí)行新操作的時候都把當(dāng)前圖像保存到image2~image5中去,并調(diào)整image2~image5的圖像。調(diào)整原理(將前者的bitmap位圖,assign分配給后者):image1→image4,image1→image2,image5→image3,image5→image4,image1→image5。然后在每個新操作執(zhí)行完的時候都要執(zhí)行一次這個過程,以保證及時能更新要撤銷的圖像。[8]
撤銷:繼續(xù)調(diào)整 image2 ~image5 的關(guān)系,image1→image4,image3→image1,image1→image5。
重做:調(diào)整image2→image1
(3)位圖變換:90度旋轉(zhuǎn),圖像垂直翻轉(zhuǎn),水平翻轉(zhuǎn)
90度旋轉(zhuǎn):調(diào)用過程procedure Rotatepicture(Bitmap:TBitmap);該過程主要以創(chuàng)建內(nèi)存流和創(chuàng)建指針,并將其進行指針轉(zhuǎn)移,數(shù)據(jù)轉(zhuǎn)移后,逐列逐點存入數(shù)組中來實現(xiàn)圖像的90度翻轉(zhuǎn)。
垂直翻轉(zhuǎn):通過scanline掃描,建立兩個Tbitmap進行對稱列之間的字節(jié)交換,從而完成垂直翻轉(zhuǎn)。
水平翻轉(zhuǎn):原理和垂直翻轉(zhuǎn)一樣,不過它是通過對稱行之間的字節(jié)交換來實現(xiàn)的。
(4)圖像的反色、兩色及灰度處理
反色:通過Scanline掃描,對位圖的每個點進行邏輯非操作。
兩色:先把像素點上的三個字節(jié)乘以分別乘以一個小數(shù)(它們分別是0.3,0.59,0.11,是根據(jù)YUV顏色空間,Y分量的物理含義就是亮度,它包含了灰度圖的所有信息,只求Y的值就可以得到灰度圖,Y=0.3*R+0.59*G+0.11*B),然后處理得到該點在0~255之間的一個值。分析該值,如果大于128就將它的值改變?yōu)?55(黑色),如果小于128就改為0(白色)。
灰度:對圖像每個點的RGB取平均值,并將平均值賦予取值點。這是因為,在RGB編碼中,如果一個像素的 R、G、B 分值相等,那么這就是一個灰色的像素。例如RGB(i,i,i)(i∈[0,255])可以表示不同灰度等級的灰色。當(dāng)i=255時,該像素為白色,當(dāng)i=0時,該像素為白色。數(shù)字圖像如圖2所示。
圖2 數(shù)字圖像的處理
(5)圖像的縮放
通過設(shè)置image1的屬性image1.AutoSize:false;image1.Stretch:=true;然后就可以通過同時調(diào)整image1的寬、高來實現(xiàn)圖像的縮放。
(6)界面切換
在form窗體中拖放多個TbsStoredSkin控件,分別載入指定目錄下編輯好的界面文件skin.ini,然后改變bsSkinData1中的storeskin屬性,使其指向特定的TbsStoredSkin,即可完成切換。
在數(shù)字圖像處理實驗系統(tǒng)的設(shè)計中,采用Object Pascal面向?qū)ο笳Z言Delphi 7.0軟件開發(fā)平臺,并結(jié)合BussinessSkinForm界面控件,具有運行速度快,操作簡便容易上手,小巧精致,界面美觀等特點。不僅可以進行基本的圖像處理,對不滿意的數(shù)碼照片進行顏色調(diào)節(jié),或?qū)Ρ榷日{(diào)節(jié)等,還可以對學(xué)生進行管理,實現(xiàn)了對學(xué)生信息的添加、修改、保存、刪除、按條件對學(xué)生信息的查詢以及記錄學(xué)生對系統(tǒng)操作的記錄。
[1] 王海濤,張樹仁.在DELPHI的環(huán)境下利用MSCOMM控件開發(fā)RS232串口通信軟件[J].長春大學(xué)學(xué)報,2012(2):160-162.
[2] 劉榴娣,劉明奇,黨長民.實用數(shù)字圖像處理[M].北京:北京理工大學(xué)出版,2009.
[3] 丁兆海.Delphi基礎(chǔ)教程[M].北京:電子工業(yè)出版社,2007.
[4] 王小華.Delphi 6程序設(shè)計與控件參考[M].北京:電子工業(yè)出版社,2008.
[5] 董迎紅,于秀霞.基于GIS醫(yī)院地理信息查詢管理系統(tǒng)的設(shè)計與實現(xiàn)[J].長春大學(xué)學(xué)報,2011(12):32-35.
[6] 段來盛,鄭城榮.曹恒,Delphi實戰(zhàn)演練[M].北京:人民郵政出版社,2009.
[7] 張化勛,曹旭.基于VB環(huán)境下的聾啞大學(xué)生無障礙信息交流教學(xué)輔助系統(tǒng)的設(shè)計[J].長春大學(xué)學(xué)報,2011(8):1-5.
[8] 張亞飛.精通Delphi結(jié)構(gòu)化設(shè)計和開發(fā)[M].北京:科學(xué)出版社,2006.
[9] 劉海濤.Delphi程序設(shè)計基礎(chǔ)[M].北京:清華大學(xué)出版社,2006.
[10] 東方人華,呂偉臣.Delphi7入門與提高[M].北京:清華大學(xué)出版社,2007.
[11] 劉駿.Delphi數(shù)字圖像處理及高級應(yīng)用[M]北京:科學(xué)出版社,2007.
Design of the Experimental System of Digital Image Processing Based on Delphi
LIU Shu-jie,ZHOU Xiao-feng
(Attached Hospital to Changchun University of Chinese Medicine,Changchun 130117,China)
This paper introduces a software development platform by using Object Pascal targeted object language Delphi 7.0.With BussinessSkinForm interface control,the experimental system can simply process digital images and can append,modify,save,delete,locate students’information and inquire and manage them on conditions.
digital image processing;experimental system;Delphi 7.0
TP317.4
A
1009-3907(2012)08-0945-04
2012-06-06
劉書杰(1961-),女,吉林長春人,工程師,主要從事計算機應(yīng)用方面研究。
責(zé)任編輯:吳旭云