?? readme.txt
字號:
車牌識別系統
需要注意的地方:
使用VC++6.0做開發工具, 采用簡單的SDI框架結構 ,一次處理一幅位圖(有興趣的可以作成MDI)
1)位圖信息的數據是從左下往右下為一行,一行一行往上排的。
2)每行像素應該是4的倍數,不足的地方用空點補齊,讀的時候注意跳過冗余點。
3)主要數據都存在Doc里面,BMP的主要數據存在一個由ImgData指向的BYTE型的內存空間(根據位圖的大小,動態分配的)。
4)數據讀進來以后,注意向內存中貼圖,以保證刷新的效率。
5)程序執行流程
應用程序生成--》打開--》CDipView的OnFileOpen 函數--》
調用CDipDoc的FileOpen 函數--》并使用myDoc->UpdateAllViews(NULL); 刷新
自動調用CDipView的OnPaint函數--》調用CDipView的OnDraw函數----一個像素點一個像素點的畫
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
比較重要的地方
讀BMP文件,只能打開256色 (可以是灰度)
顯示和內存貼圖技術
關于調色板: 調色板實際上是一個數組,4個BYTE 分別是 B,G,R,和 Reserved
每一個像素點都有一個相應的數組。
關于VC和windows 的繪圖機制:
使用GDI(圖形設備接口)對象,通常使用CDC 類,CPaintDC也一樣(device-context)設備上下文
windows下的MFC編程機制,消息驅動,事件等待!
全局的app(應用程序對象)
注意 手工分配內存的清除 和CDC對象的刪除 以釋放系統的GDI資源
每一個new操作符都要對應一個delete
雖然已經弄出來了,還是希望大家好好讀讀源程序。
你們以后的工作:
在菜單中添加菜單項,通過ClassWizzard 生成消息響應函數(當然也可手動添加),
所有的操作應當是對 BYTE* ImgData;進行的。
在完成相應的功能后 將 isnewfile 和 isnewiamge 置為真 ,并使用myDoc->UpdateAllViews(NULL); 刷新
當然,可以更加有個性化一點,有能力的同學可以自己完成。
隨著課程的進行,菜單功能逐漸豐富,最后完成基本的數字圖像處理的功能,而不必最后一下完成一個大的作業。
轉載請注明來源:
開源盛世-源代碼下載網
http://www.vscodes.com
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -