基于BMP的圖像點(diǎn)陣獲取原理及其應(yīng)用
出處:maychang 發(fā)布于:2010-03-05 16:46:02
1 引言
點(diǎn)陣式液晶顯示器(Liquid Crystal Display,LCD)以優(yōu)越的性價比早已成為電子設(shè)計(jì)者的常用器件,被廣泛應(yīng)用于各種工業(yè)電子設(shè)備中。起初,點(diǎn)陣式液晶只是用來消除段碼式液晶顯示過于粗糙、容易混淆等的缺點(diǎn),實(shí)現(xiàn)標(biāo)準(zhǔn)ASCII字符的顯示。為了擺脫英文顯示的限制,人們通過查詢內(nèi)碼從標(biāo)準(zhǔn)字庫中得到所需漢字的點(diǎn)陣值,進(jìn)而實(shí)現(xiàn)漢化菜單,使設(shè)備的使用更加直觀、方便。于是,漢化顯示也成為許多國產(chǎn)設(shè)備在與進(jìn)口設(shè)備競爭中的主要優(yōu)勢之一。后來,人們又通過手工的方法,實(shí)現(xiàn)了某些簡單圖像的顯示,使顯示界面有了一定程度的提高。然而,如何通過簡單的途徑在沒有圖形驅(qū)動模塊的點(diǎn)陣式液晶顯示器中顯示各種靜態(tài)圖像以及動畫,成為長期困擾設(shè)計(jì)者的問題。我們現(xiàn)在可以通過掃描儀、互聯(lián)網(wǎng)、圖形處理軟件很方便地獲得各種各樣的圖像,但是這些文件終都以各種特定的格式儲存在計(jì)算機(jī)中,怎樣通過比較簡單的手段把它移植到液晶顯示器中,就是本文闡述的主要內(nèi)容。文章通過分析傳統(tǒng)圖像點(diǎn)陣獲取原理以及BMP圖像的存儲格式,找到了它們間的內(nèi)在聯(lián)系,從而實(shí)現(xiàn)了圖像點(diǎn)陣的快速獲取,并以T6963C〔3〕控制器為例進(jìn)一步探討了在點(diǎn)陣式液晶中的靜態(tài)圖像以及動畫的顯示步驟。
2 傳統(tǒng)的點(diǎn)陣獲取法
在點(diǎn)陣式液晶中顯示圖像,首先要獲得圖像的點(diǎn)陣值。傳統(tǒng)、簡單直接的點(diǎn)陣獲取方法就是坐標(biāo)掃描法。其基本步驟為:將圖像置于坐標(biāo)系中,根據(jù)坐標(biāo)格上象素的存在與否決定該點(diǎn)值為1還是0;然后將每八個象素值拼成一個字節(jié),從而得到該圖像的點(diǎn)陣數(shù)據(jù)。圖1為一個燈泡圖像掃描成16×16點(diǎn)陣的示意。

可以看出,坐標(biāo)掃描方法不需要太多技巧,直觀明了。然而對于高象素圖像(即點(diǎn)陣數(shù)量比較多的圖像),坐標(biāo)掃描法就顯得非常繁瑣。試想,要獲得象素高達(dá) 240×128的圖像點(diǎn)陣值,需要手工清點(diǎn)30,720個點(diǎn)陣,然后再組成3,840個字節(jié)的點(diǎn)陣表供程序讀取,其工作量之大可想而知。另外,當(dāng)需要顯示的畫面比較多時工作量也成比例增加。
3 BMP位圖格式分析
BMP位圖是微軟公司(Microsoft)和國際商用機(jī)器公司(IBM)共同倡導(dǎo)的一種圖像格式。它按點(diǎn)陣排列順序,將每個象素的色彩值以規(guī)定的方式把整個圖像記錄下來。BMP格式還可細(xì)分為兩種類型,即Microsoft Windows型和IBM OS/2型,兩者的差別主要在于說明部分(文件頭)。由于IBM OS/2類型的BMP用得比較少,所以在絕大多數(shù)情況下,BMP默認(rèn)為Microsoft Windows類型。根據(jù)色彩位深度不同,Windows BMP文件象素描述部分差別較大,如256色每個象素需要8位(即1個字節(jié))來描述,而16色的圖像每個象素描述者只需4位(即半個字節(jié))。對于絕大部分電子設(shè)計(jì)者來說,黑白二色的點(diǎn)陣式液晶顯示器價格適中、接口簡單,因而為常用。因此,這里僅分析Microsoft Windows類型1位(Bit)描述的二色BMP圖像文件。詳見表1。

4 圖像點(diǎn)陣的獲取
從上述對二色BMP文件的分析,我們發(fā)現(xiàn)BMP文件的象素描述段中點(diǎn)陣的存放格式跟液晶圖像顯示所需的格式很類似。因此,我們不難想到液晶顯示所需的圖像點(diǎn)陣借助于計(jì)算機(jī)軟件從BMP文件中讀取。
4.1 目標(biāo)圖像的編輯與處理
目標(biāo)圖像通常并不是BMP格式,原始尺寸跟液晶顯示中所需的也相差很多。因此,在從圖像文件中讀取點(diǎn)陣前必須對目標(biāo)圖像進(jìn)行適當(dāng)?shù)木庉嬇c處理。其步驟如下:
?。?)通過圖像處理軟件編輯或調(diào)整目標(biāo)圖像尺寸,使得圖像跟液晶顯示的尺寸要求一致。常用的有Photoshop、Capture Professional等軟件。
?。?)將圖像轉(zhuǎn)換為二色Windows格式的BMP文件。注意,如果是彩色圖像,則在轉(zhuǎn)換為黑白圖像時需要調(diào)節(jié)黑白對比效果,以適合黑白顯示。本步驟筆者使用的是Capture Professional3.0版本Operations菜單下的Convert to->Black and White,轉(zhuǎn)換時會彈出消息框,調(diào)整其Threshold的值可以預(yù)覽到其黑白對比效果。
?。?)將圖像上下翻轉(zhuǎn)(以水平線為軸)。從上面的分析可知,BMP文件中圖像象素的內(nèi)容是由下而上、由左及右存儲的。所以按照習(xí)慣的由上而下、由左及右的順序往液晶的顯示RAM寫圖像點(diǎn)陣,必須將上述處理后的圖像進(jìn)行翻轉(zhuǎn),并存儲為終的圖像文件。本步驟用Photoshop和Capture Professional都比較方便。
4.2 BMP文件中讀取點(diǎn)陣的程序設(shè)計(jì)
在完成對目標(biāo)圖像編輯與處理后,就可以從終得到的黑白二色Windows BMP文件中讀出圖像點(diǎn)陣了。假設(shè)點(diǎn)陣值按照傳統(tǒng)的X86匯編語言格式存放在名為fig n.inc的文件中。設(shè)計(jì)點(diǎn)陣讀取程序框圖如圖2所示。

設(shè)圖像水平方向及垂直方向尺寸(點(diǎn)陣數(shù))分別為ohr__size、ver__size,則圖2的框圖中:
(1)所要掃描的總行數(shù)為ver__size。
(2)判斷每行是否結(jié)束的方法為:當(dāng)hor__size被8整除時,則每行應(yīng)讀取的字節(jié)數(shù)Byte num=hor size/8;否則Byte num=取整(hor size/8)+1。
(3)一行掃描完后,確定下一行指針位置的方法為:如每行字節(jié)數(shù)能被4整除時,則指針加1即可,否則指針應(yīng)加上(4--取余(Byte__unm/4)+1)。
5 圖像在液晶中的顯示
5.1 靜態(tài)圖像顯示
經(jīng)過前面的處理,生成的點(diǎn)陣文件fig n.inc中點(diǎn)陣存放順序跟我們習(xí)慣的方向已經(jīng)一致。因此,只要在初始化液晶后,按順序從點(diǎn)陣文件中讀取點(diǎn)陣值,再寫往液晶相應(yīng)的顯示區(qū),就能完成整幅靜態(tài)圖像的顯示。圖3是以常見的用T6963C作控制器的液晶顯示模塊為例來說明圖像顯示的靜態(tài)流程。

5.2 動畫顯示
眾所周知,動畫顯示的基本原理是利用人眼的視覺殘留,將一序列靜止的畫面按一定的時間間隔連續(xù)播放??梢姡灰@得各靜態(tài)子畫面的點(diǎn)陣值,就可以實(shí)現(xiàn)在點(diǎn)陣式液晶中的動畫顯示。圖4是實(shí)現(xiàn)一個包括N個子畫面的動畫顯示流程。其中時間間隔T根據(jù)實(shí)際效果設(shè)置。

6 結(jié)束語
計(jì)算機(jī)存儲圖像除了BMP外,還有多種其它格式。本文之所以選擇用BMP,是因?yàn)樗且环N沒有壓縮的點(diǎn)陣型的圖像文件格式,而且?guī)缀跛械腤indows應(yīng)用軟件都支持這種格式,從而處理起來特別方便。在網(wǎng)絡(luò)資源日益豐富的今天,多數(shù)情況下設(shè)計(jì)者可不必自己繪制而直接利用各種現(xiàn)成的圖像、圖標(biāo)、動畫,然后對之加以處理。在筆者參與的電力系統(tǒng)新一代數(shù)字式保護(hù)研制中,上述方法的成功運(yùn)用使產(chǎn)品在很短的開發(fā)周期內(nèi)取得了非常理想的人機(jī)界面效果。實(shí)踐證明,一個好的界面對塑造產(chǎn)品形象,增強(qiáng)產(chǎn)品競爭力起著不可低估的作用。本文給出的基于BMP的圖像點(diǎn)陣獲取方法,原理簡單,實(shí)現(xiàn)方便,具有很高的實(shí)際應(yīng)用價值。
參考文獻(xiàn):
[1]. T6963C datasheet http://www.hbjingang.com/datasheet/T6963C_635050.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- LED照明技術(shù)特性與選型運(yùn)維指南2026/1/5 10:26:27
- 工業(yè)觸摸屏選型與現(xiàn)場應(yīng)用技術(shù)指南2025/12/22 11:44:57
- 顯示器色深 6Bit、8Bit、10Bit 與 6 抖 8、8 抖 10、FRC2025/8/28 15:29:32
- Micro-LED技術(shù)解析2025/8/26 17:21:56
- LED顯示屏標(biāo)清、高清、超清、1080P與4K的解析2025/8/8 17:05:00









