數(shù)字圖像課程設計----直方圖均衡化_第1頁
已閱讀1頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  課 程 設 計</b></p><p>  課程名稱 數(shù)字圖像處理課程設計</p><p>  題目名稱 直方圖均衡化</p><p>  學生學院 信息工程學院</p><p><b>  一、設計題目</b></p><p><

2、;b>  直方圖均衡化</b></p><p><b>  設計內容及要求:</b></p><p> ?。?)、查閱文獻、理解直方圖均衡化的原理。</p><p> ?。?)、利用VC++編寫直方圖均衡化程序。</p><p>  (3)、設計的軟件框架能夠實現(xiàn)直方圖變換前后的圖像直方圖及圖像,以進行

3、比較。</p><p>  (4)、調用matlab中的直方圖均衡化函數(shù)并得出實驗結果,比較、分析與自己編寫的代碼實驗結果區(qū)別。</p><p><b>  二、課程設計目的</b></p><p>  數(shù)字圖像處理,就是用數(shù)字計算機及其他有關數(shù)字技術,對圖像進行處理,以達到預期的目的。隨著計算機的發(fā)展,圖像處理技術在許多領域得到了廣泛應用,數(shù)

4、字圖像處理已成為電子信息、通信、計算機、自動化、信號處理等專業(yè)的重要課程。</p><p>  數(shù)字圖像處理課程設計是在完成數(shù)字圖像處理的相關理論的學習后,進行的綜合性訓練課程,其目的主要包括:</p><p>  1、使學生進一步鞏固數(shù)字圖像處理的基本概念、理論、分析方法和實現(xiàn)方法;</p><p>  2、增強學生應用VC++編寫數(shù)字圖像處理的應用程序及分析、解

5、決實際問題的能力;</p><p>  3、嘗試將所學的內容解決實際工程問題,培養(yǎng)學生的工程實踐能力,提高工科學生的就業(yè)能力。</p><p>  三 、設計內容(包括主要的代碼)</p><p><b>  打開圖像函數(shù)</b></p><p> ?。?)static char szFilter[]="BMP

6、文件(*.bmp)|*.bmp||"; </p><p>  CFileDialog dlg(TRUE,"bmp",NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);</p><p>  //定義過濾文件的類型</p><p> ?。?)int ret=dlg.DoModal(

7、); //運行打開文件對方框</p><p> ?。?)filename=dlg.GetPathName(); //獲取所選擇圖片的路徑</p><p>  (4)m_dib.LoadFromFile(filename); //加載圖像</p><p> ?。?)Invalidate(1);//刷新屏幕</p><p><

8、;b>  均衡化函數(shù)</b></p><p> ?。?)判斷圖片是否打開if(!m_dib.m_bLoaded) AfxMessageBox("圖像還沒打開,請先打開圖像);(2)獲取高度,寬度int nw=m_dib.GetDIBWidth();int nh=m_dib.GetDIBHeight();</p><p>  lLineBytes = (nw *

9、 8 + 31) / 32 * 4;//滿足字節(jié)的整數(shù)倍數(shù)</p><p> ?。?)統(tǒng)計頻數(shù)lpSrc= m_dib.m_pdata [lLineBytes * i + j];lCount[lpSrc]++</p><p>  (4)定義全局變量保存頻數(shù)用于畫圖for(i= 0; i < 256 ; i++){firstCount[i] = lCount[i];}</p

10、><p> ?。?)求累加和for(i = 0; i < 256 ; i++){lTemp = 0; for(j = 0; j <= i ; j++) lTemp += lCount[j]; //lTemp為累加和</p><p> ?。?)新灰度映射 bMap[i] = (BYTE) ( (lTemp * 255 + nh * nw / 2 ) / nh / nw);}

11、//計算對應的新灰度值</p><p>  lpSrc =m_dib.m_pdata[lLineBytes * i + j];</p><p>  m_dib.m_pdata [lLineBytes * i + j] = bMap[lpSrc];</p><p>  m_dib.UpdateData();</p><p>  Invalid

12、ate();//刷新屏幕</p><p><b>  直方圖表格顯示</b></p><p>  利用函數(shù)pDC->MoveTo() 和pDC->LineTo()畫坐標,箭頭</p><p>  提取最大的相數(shù)MAX用于調成高度,利用函數(shù)pDC->MoveTo()和pDC->LineTo()畫圖;</p>

13、<p>  LineTo()函數(shù)Y坐標參數(shù)為 nh+400-(lCount[i]*300/max) 可達到圖像在指定范圍內</p><p>  四、詳細分析、論證實驗結果,并且總結實驗方法</p><p>  VS2010的直方圖均衡化效果</p><p>  Matlab中直方圖效果</p><p>  經(jīng)過比較可以得出。VC中均

14、衡化在高灰度部分色澤對比度不高,故在圖像中出現(xiàn)X方向類型連續(xù)的效果。從圖片效果亦能看出matlab中的圖片黑白對比度較大,細節(jié)顯得更明顯。本直方圖均衡化算法可能存在以下一些不足:</p><p>  1) 輸出圖像的實際灰度變化范圍很難達到圖像格式所允許的最大灰度變化范圍。 </p><p>  2) 輸出圖像的灰度分布直方圖雖然接近均勻分布, 但其值與理想值1/n仍有

15、可能存在較大的差異, 并非是最佳值。 </p><p>  3) 輸出圖像的灰度級有可能被過多地合并。由于灰度的吞噬也易造成圖像信息的丟失。 </p><p><b>  五、設計心得體會</b></p><p>  在這次的課程設計中不僅檢驗了我所學習的知識,也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件

16、事情。通過這次數(shù)字圖像處理課程設計,本人在多方面都有所提高。通過這次課程設計,綜合運用本專業(yè)所學課程的理論。在圖像處理過程中,使用相對應的方法去獲得自己需要的效果,在這次設計過程中,體現(xiàn)出自己的能力以及綜合運用知識的能力,體會了學以致用、突出自己勞動成果的喜悅心情,從中發(fā)現(xiàn)自己平時學習的不足和薄弱環(huán)節(jié),從而加以彌補。首先加深了我對于數(shù)字圖像處理這門課程的認識,通過對相關知識的進一步了解和掌握,清楚的認識到這門課程在實際應用的廣泛性。&l

17、t;/p><p>  這次課程設計不僅將光電圖像處理課程的知識進行了實際運用,還對C語言的應用起了促進作用,通過C編程的過程之中,進一步掌握了C的使用。讓我感覺到使用知識和學習知識都是非常快樂的事。另外,我希望通過對C語言編程進步,來促進數(shù)字圖像處理的應用,使我的程序能夠是想更多的數(shù)字圖像處理的功能,同時也是程序的界面更接近于我們所希望的形式。也明白了這個軟件作為許多應用方向工具的強大之處,通過對一些小錯誤的改造還認

18、識到了以往自己沒有注意到的一些小的細節(jié)問題。</p><p>  6、參考文獻(書籍、網(wǎng)絡資料等)</p><p>  《數(shù)字圖象處理》作者:岡薩雷斯 出版社:電子工業(yè)出版社</p><p>  《visual c++.net 圖形圖像編程》作者:李蘭友 出版社:電子工業(yè)出版社</p><p>  《精通visual c++》作者:周長發(fā)

溫馨提示

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

評論

0/150

提交評論