數(shù)字圖像處理實(shí)驗(yàn)報(bào)告01245_第1頁
數(shù)字圖像處理實(shí)驗(yàn)報(bào)告01245_第2頁
數(shù)字圖像處理實(shí)驗(yàn)報(bào)告01245_第3頁
數(shù)字圖像處理實(shí)驗(yàn)報(bào)告01245_第4頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、數(shù)字圖像處理實(shí)驗(yàn)報(bào)告01245 數(shù)字圖像處理實(shí)驗(yàn)報(bào)告 一、 實(shí)驗(yàn)名稱 圖像讀取和圖像直方圖統(tǒng)計(jì) 二、 實(shí)驗(yàn)?zāi)康?1. 強(qiáng)化鞏固數(shù)字圖像處理課程中學(xué)習(xí)的知識,將理論用于實(shí)踐。 2. 學(xué)會利用 c+程序語言實(shí)現(xiàn)數(shù)字圖像處理中的"圖像讀取'和"圖像直方圖統(tǒng)計(jì)'功能,加深對這門課程的理解。 3. 為以后更進(jìn)一步學(xué)習(xí)數(shù)字圖像處理的知識打下基礎(chǔ)。 三、 實(shí)驗(yàn)工具 安裝有 vc 6.0 軟件的電腦一臺 四、 實(shí)驗(yàn)步驟(分實(shí)驗(yàn)一和實(shí)驗(yàn)二) (一) 實(shí)驗(yàn)一:圖像的讀取 1. 按照實(shí)驗(yàn)指導(dǎo)書中的構(gòu)建 dib 函數(shù)庫的方法,將此函數(shù)庫的代碼寫進(jìn)文本文檔中,并另存為相應(yīng)的"

2、;.cpp'文件和".h'文件。 2. 新建以"miaoqi'為名字的工程,設(shè)置好相應(yīng)選項(xiàng)。 3. 接下來,在該工程中各個(gè)文件中添加相應(yīng)代碼。點(diǎn)擊"fileview'即可打開查看。 1) 在"miaoqi.cpp'中添加 / 啟動時(shí)不自動打開一個(gè)空文檔 cmdinfo.m_nshellcommand = ccommandlineinfo:filenothing; 2) 在 " miaoqidoc.cpp ' 中 添 加 重 新 加 載 菜 單 , 對 應(yīng) 函 數(shù)on_command(id_file

3、_reopen, onfilereopen)的功能: - a) 點(diǎn)擊"resourceview'"miaoqi resources'"menu'"idr_miaoqi_type',則跳出一個(gè)視圖的框架,點(diǎn)擊"文件',將按鈕拖拽到合適的位置,再右擊,點(diǎn)擊屬性,設(shè)置重新加載相應(yīng)的 id 和 caption。 b) 點(diǎn)擊查看建立類向?qū)?quot;id_file_reopen'"command'設(shè)置函數(shù)名"onfilereopen',點(diǎn)擊確定。 3) 在"mi

4、aoqidoc.cpp 中'添加代碼,使在構(gòu)造函數(shù)中初始化某些變量,在析構(gòu)函數(shù)中撤銷內(nèi)存。 4) 點(diǎn)擊"查看'"建立類向?qū)?#39;,添加"bool miaoqidoc:cancloseframe(cframewnd*pframe) ' 和 " void miaoqidoc:deletecontents' 5) 按 照 實(shí) 驗(yàn) 指 導(dǎo) 書 中 的 相 應(yīng) 代 碼 , 完 成 " miaoqidoc: onopendocument(lpctstr lpszpathname)'函數(shù)代碼的添加,使之實(shí)現(xiàn)打開一個(gè)

5、文件(即一副圖像)的功能。 6) 完成打開一個(gè)文件之后,還需要完成重新加載功能函數(shù)"miaoqidoc: onfilereopen()'的代碼,實(shí)現(xiàn)在打開一個(gè)文件失敗時(shí),可以重新加載。 7) 添 加 代 碼 , 完 成 " miaoqidoc:onsavedocument(lpctstr lpszpathname)'函數(shù),使之能保存一個(gè)文件(即圖像)。 8) 依次類推,完成函數(shù)"void miaoqidoc:replacehdib(hdib hdib)'和"void miaoqidoc:initdibdata()'代碼的添

6、加。 9) 完善"miaoqiview.cpp',在前面添加"#include mainfrm.h'. - 10) 點(diǎn)擊"查看'"建立類向?qū)?#39;,添加"on_wm_erasebkgnd()'," on_command(id_edit_copy,oneditcopy) ' ," on_command(id_edit_paste,oneditpaste) ' ,"on_update_command_ui(id_edit_copy,onupdateeditcopy&#

7、39;, " on_update_command_ui(id_edit_ paste,onupdateeditpaste'。并在 miaoqiview.cpp 中設(shè)置頁數(shù)為 1。 11) 實(shí)驗(yàn)指導(dǎo)書 50 頁到 頁的內(nèi)容,打開 miaoqiview.cpp,完成以下函數(shù)相應(yīng)代碼的添加,以實(shí)現(xiàn)相應(yīng)函數(shù)功能。"void miaoqiview:ondraw(cdc*pdc) ' , " bool miaoqiview:onerasebkgnd(cdc*pdc) ' , " lresult miaoqiview:ondorealize(w

8、param wparam, lparam)'," void miaoqiview:oneditcopy() ' , " void miaoqiview:oninitialupdate() ' , " void miaoqiview:calcwindowrect(lprect lpclientrect, uint nadjusttype) '," void miaoqiview:oneditpaste() '," void cmiaoqiview:onupdateeditcopy(ccmdui* pcmdu

9、i) '," void cmiaoqiview:onupdateeditpaste(ccmdui* pcmdui)'," void cchildframe:activateframe(int ncmdshow)'等。 12) 按照實(shí)驗(yàn)指導(dǎo)書,補(bǔ)全 mainfrm.cpp、miaoqidoc.h 等文件中一些細(xì)節(jié)代碼。 13) 點(diǎn)擊"工程'"添加到工程'"文件',選擇 dibapa.h 和dibapi.cpp,添加進(jìn)該工程。 - 14) 編譯,修改部分語法錯(cuò)誤,成功后,即可打開所實(shí)現(xiàn)的對話框。(見附

10、圖) (二) 圖像直方圖統(tǒng)計(jì)(基于實(shí)驗(yàn)一:圖像的讀取) 1) 設(shè)置制作打開圖像灰度直方圖統(tǒng)計(jì)圖的對話框 a) 點(diǎn)擊"resourceview'"miaoqi resources'"dialog',右鍵單擊"插入 dialog'。 b) 打開對話框的屬性,按照實(shí)驗(yàn)指導(dǎo)書設(shè)置成規(guī)定格式。 c) 在打開的對話框中添加三個(gè)靜態(tài)文本框,兩個(gè)編輯框控件,保留確認(rèn)鍵和取消鍵,進(jìn)行拖拉,設(shè)置好各鍵布局,然后將各鍵的屬性設(shè)置成規(guī)定格式。 d) 右擊對話框,點(diǎn)擊"建立類向?qū)?#39;,按照實(shí)驗(yàn)指導(dǎo)書設(shè)置好類名和function 等。

11、 e) 依舊在"建立類向?qū)?#39;中,完成映射類 cdlgintensiy 的消息和添加類 cdlgintensiy 的 成 員 變 量 的 添 加 。 包 括 (oninitdialog ;onkillfocuseditlowgray; onkillfocuseditupgray;onlbuttondown;onlbuttonup;onmousemove;onok;onpaint)和(m_ilowgray)和(m_iupgray)等等。 2) 點(diǎn)擊"resourceview'"menu'"idr_miaoqi_type',添加

12、"直方圖'菜單項(xiàng)。按照實(shí)驗(yàn)指導(dǎo)書設(shè)置好屬性,并在類"miaoqiview'中添加該菜單時(shí)間的程序代碼。 3) 自習(xí)實(shí)驗(yàn)指導(dǎo)書,完成其他文件中的代碼添加。 4) 編譯,修改出現(xiàn)的錯(cuò)誤,成功后即可打開一幅圖像,進(jìn)行直方圖 - 統(tǒng)計(jì)圖的讀取。(見附圖) 五、 實(shí)驗(yàn)結(jié)果(附圖) 1. 實(shí)驗(yàn)一成功實(shí)現(xiàn) 2. 成功打開一幅圖像 - 3. 成功統(tǒng)計(jì)出該實(shí)例圖像的直方圖分布情況。 六、 實(shí)驗(yàn)中遇到的問題及解決辦法 - 實(shí)驗(yàn)中出現(xiàn)的錯(cuò)誤主要在程序代碼完成后的語法修改上,我遇到的問題大致有如下幾種: 1. 用到的函數(shù)等未明確定義(undeclared indentificati

13、on),因?yàn)樽约篶+基礎(chǔ)比較差,修改起來較困難,后來在老師的指導(dǎo)下,在每個(gè)錯(cuò)誤文件對應(yīng)的'.h'文件中,找到該函數(shù),看是否有明確定義。若查找不到,就添加上去。 2. 因?yàn)榇笮懽帜肝疵鞔_區(qū)分而造成的定義不明確。按照 1 中方法查找到錯(cuò)誤地方,統(tǒng)一大小寫。 3. 因?yàn)橹皼]有注意到添加直方圖按鈕后要添加對應(yīng)的程序代碼,導(dǎo)致程序可以運(yùn)行,但是該按鈕是灰色,無法打開,后來再仔細(xì)翻看實(shí)驗(yàn)指導(dǎo)書,才知道忘了添加代碼,添加后即可點(diǎn)擊查看直方圖了。 4. 開始通過復(fù)制粘貼將"dibapi.h'和"dibapi.cpp'插入到文件中,導(dǎo)致無法識別,無法運(yùn)行,

14、后來通過點(diǎn)擊"工程'"添加到工程'"文件',選擇 dibapa.h 和 dibapi.cpp,添加進(jìn)該工程,才得以成功運(yùn)行。 七、 實(shí)驗(yàn)感想 通過這幾次數(shù)字圖像處理處理的實(shí)驗(yàn),主要是加深了在課堂上對該課程的學(xué)習(xí)的印象,鞏固了相關(guān)知識,更是通過更直觀的方式,讓我們了解到了數(shù)字圖像處理通過程序?qū)崿F(xiàn)的神奇之處。數(shù)字圖像處理是一個(gè)十分有用的工具,可以通過它來實(shí)現(xiàn)對一副圖像的分析和處理,來達(dá)到滿足人的視覺需求和其他目的,將抽象的東西具體化,實(shí) - 用化。 雖然很多同學(xué)甚至學(xué)長學(xué)姐都覺得這門課程比較難學(xué),但是我覺得我對它很感興趣,這樣就算難,我也可以努力學(xué)好。這門課程涉及到了很多數(shù)學(xué)知識,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論