基于BMP的圖像點陣獲取原理及其應用
4.1 目標圖像的編輯與處理
目標圖像通常并不是BMP格式,原始尺寸跟液晶顯示中所需的也相差很多。因此,在從圖像文件中讀取點陣前必須對目標圖像進行適當的編輯與處理。其步驟如下:
?。?)通過圖像處理軟件編輯或調整目標圖像尺寸,使得圖像跟液晶顯示的尺寸要求一致。常用的有Photoshop、Capture Professional等軟件。
(2)將圖像轉換為二色Windows格式的BMP文件。注意,如果是彩色圖像,則在轉換為黑白圖像時需要調節(jié)黑白對比效果,以適合黑白顯示。本步驟筆者使用的是Capture Professional3.0版本Operations菜單下的Convert to->Black and White,轉換時會彈出消息框,調整其Threshold的值可以預覽到其黑白對比效果。
?。?)將圖像上下翻轉(以水平線為軸)。從上面的分析可知,BMP文件中圖像象素的內容是由下而上、由左及右存儲的。所以按照習慣的由上而下、由左及右的順序往液晶的顯示RAM寫圖像點陣,必須將上述處理后的圖像進行翻轉,并存儲為最終的圖像文件。本步驟用Photoshop和Capture Professional都比較方便。
4.2 BMP文件中讀取點陣的程序設計
在完成對目標圖像編輯與處理后,就可以從最終得到的黑白二色Windows BMP文件中讀出圖像點陣了。假設點陣值按照傳統(tǒng)的X86匯編語言格式存放在名為fig n.inc的文件中。設計點陣讀取程序框圖如圖2所示。
設圖像水平方向及垂直方向尺寸(點陣數)分別為ohr__size、ver__size,則圖2的框圖中:
(1)所要掃描的總行數為ver__size。
?。?)判斷每行是否結束的方法為:當hor__size被8整除時,則每行應讀取的字節(jié)數 Byte num=hor size/8;
否則
Byte num=取整(hor size/8)+1。
?。?)一行掃描完后,確定下一行指針位置的方法為:如每行字節(jié)數能被4整除時,則指針加1即可,否則指針應加上
(4--取余(Byte__unm/4)+1)。
5 圖像在液晶中的顯示
5.1 靜態(tài)圖像顯示
經過前面的處理,生成的點陣文件fig n.inc中點陣存放順序跟我們習慣的方向已經一致。因此,只要在初始化液晶后,按順序從點陣文件中讀取點陣值,再寫往液晶相應的顯示區(qū),就能完成整幅靜態(tài)圖像的顯示。圖3是以常見的用T6963C作控制器的液晶顯示模塊為例來說明圖像顯示的靜態(tài)流程。
5.2 動畫顯示
眾所周知,動畫顯示的基本原理是利用人眼的視覺殘留,將一序列靜止的畫面按一定的時間間隔連續(xù)播放??梢姡灰@得各靜態(tài)子畫面的點陣值,就可以實現(xiàn)在點陣式液晶中的動畫顯示。圖4是實現(xiàn)一個包括N個子畫面的動畫顯示流程。其中時間間隔T根據實際效果設置。 本文引用地址:http://m.butianyuan.cn/article/169447.htm
6 結束語
計算機存儲圖像除了BMP外,還有多種其它格式。本文之所以選擇用BMP,是因為它是一種沒有壓縮的點陣型的圖像文件格式,而且?guī)缀跛械腤indows應用軟件都支持這種格式,從而處理起來特別方便。在網絡資源日益豐富的今天,多數情況下設計者可不必自己繪制而直接利用各種現(xiàn)成的圖像、圖標、動畫,然后對之加以處理。在筆者參與的電力系統(tǒng)新一代數字式保護研制中,上述方法的成功運用使產品在很短的開發(fā)周期內取得了非常理想的人機界面效果。
評論