用matlab實現圖像灰度變換課程設計_第1頁
用matlab實現圖像灰度變換課程設計_第2頁
用matlab實現圖像灰度變換課程設計_第3頁
用matlab實現圖像灰度變換課程設計_第4頁
用matlab實現圖像灰度變換課程設計_第5頁
已閱讀5頁,還剩12頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

課程設計報告冊課程名稱: MATLAB課程設計 課題名稱: 灰度變換增強 專業班級: 姓 名: Bob Wang 學 號: 15164 課程設計主要場所: 信息樓220 時間: 指導教師: 成 績: 前言數字圖像處理技術是20世界60年代發展起來的一門新興學科,隨著圖像處理理論和方法的進一步完善,使得數字圖像處理技術在各個領域得到了廣泛應用,并顯示出廣闊的應用前景。MATLAB既是一種直觀、高效的計算機語言,同時又是一個科學計算平臺。它為數據分析和數據可視化、算法和應用程序開發提供了最核心的數學和高級圖形工具。根據它提供的500多個數學和工程函數,工程技術人員和科學工作者可以在它的集成環境中交互或變成以完成各自的計算。MATLAB中集成了功能強大的圖像處理工具箱。由于MATLAB語言的語法特征與C語言極為相似,而且更加簡單,更加符合科技人員對數學表達式的書寫格式,而且這種語言可移植性好、可擴展性強,再加上其中有豐富的圖像處理函數,所以MATLAB在圖像處理的應用中具有很大的優勢。MATLAB是一種以矩陣運算為基礎的交互式程序語言,能夠滿足科學、工程計算和繪圖的要求,與其它計算機語言相比,其特點是簡潔和智能化,適應科技專業人員的思維方式和書寫習慣,使得編程和調試效率大大提高。我們學習掌握MATLAB,也可以說是在科學工具上與國際接軌。目錄一、 課程設計目的2二、 設計任務及內容2三、 課題設計實驗條件3四、 涉及知識3五、 具體設計過程及調試45.1、圖像的讀入和顯示5.1.1、打開圖像45.1.2、顯示原圖像55.1.3、圖像灰度處理75.1.4、顯示灰階后圖像8 5.2、直方圖均衡化 5.2.1、生成直方圖.10 5.2.2、直方圖均衡化.125.3、灰度變換5.3.1、線性變換 .95.3.2、分段線性變換 .95.3.3、非線性變換 .9六、心得體會.17七、參考文獻.18八、程序清單.19一、 設計目的 本次課程設計旨在提升學生的動手能力,加強并鞏固對專業理論知識的理解和實際運用。通過使用MATLAB軟件,根據所分配的課題,鍛煉我們的自學能力,提高我們實踐能力,為畢業設計做鋪墊。1、熟悉并掌握應用MATLAB語言相關知識和程序設計方法。2、掌握MATLAB GUI程序設計3、熟悉MATLAB圖像處理工具箱4、學會運用MATLAB工具箱對圖像進行處理和分析二、 設計任務及內容利用MATLAB GUI設計實現圖像處理的圖形用戶界面,利用MATLAB圖像處理工具箱實現以下的圖像處理功能:1. 采用matlab Guide設計圖像界面;可以讀入并顯示圖像,設計實現下列功能的按鈕,點擊相應的按鈕可以實現相應的功能。2. 自選圖像一幅,進行線性變換、分段線性變換和非線性變換,對比源圖像與變換后的圖像特征變換,體會該變換的特點。3. 自選圖像一幅,生成并繪制圖像的直方圖。4. 直方圖均衡化方法研究,比較變換前后圖像的直方圖。三、 題目研究的實驗條件計算機、相關書籍、MATLAB7以上版本四、 課題所涉及知識面數字圖像處理和MATLAB軟件知識五、 具體設計過程及調試5.1 、圖像的讀入和顯示采用matlab Guide設計圖像界面;可以讀入并顯示圖像,設計實現下列功能的按鈕,點擊相應的按鈕可以實現相應的功能。圖形界面5.1.1、 打開圖像從計算機中查找要打開的圖片 5.1.2、顯示原圖像 把選中的圖片顯示在第一顯示區 5.1.3、圖像灰度處理 利用灰度處理函數rgb2gray()對原真彩圖像灰階化 5.1.4、灰階后的圖像顯示 把灰階后的圖像顯示在第二顯示區,對兩幅圖片進行比較,觀察兩者特點。 顯示原圖像和灰階后的圖像結論:對圖像灰階處理就是對原圖像黑白化5.2、直方圖均衡化直方圖均衡化是一種常用的灰度增強算法,是將原圖的直方圖經過變換函數修正為均勻的直方圖,然后按照均衡后直方圖修整原圖像。5.2.1、生成直方圖圖像的直方圖是表示數字圖像中每一灰度級與該灰度級出現的頻數,函數為imhist(X,map)顯示原圖像的灰度直方圖5.2.2、直方圖均衡化均衡化函數為histeq(I,n),其中n默認為64直方圖均衡化比較5.3、灰度變換某些情況下,需要對圖像的灰度級整個范圍或者其中的某一段擴展或壓縮到記錄器件輸入灰度級動態范圍之內。灰度變換可分為線性變換、分段線性變換、非線性變換和其他的灰度變換。5.3.1、線性變換具體實現形式為:g(x,y)=(d-c)/(b-a)f(x,y)-a+c線性變換結果對比作用:使曝光不充分圖像中黑的更黑,白得更白,從而提高圖像對比度5.3.2、分段線性變換具體實現形式:g(x,y)=c/df(x,y) 0=f(x,y)=ag(x,y)= (d-c)/(b-a)f(x,y)-a+c a=f(x,y)=bg(x,y)= (f-b)/(e-a)f(x,y)-b+d b=f(x,y)=c分段線性變換結果對比5.3.3、非線性變換具體實現形式:g(x,y)=a+lnf(x,y)+1/b*lnc非線性變換結果對比六、心得體會這次MATLAB課程設計讓我學到了很多,不僅僅是知識,還學到了許多學習方法。MATLAB軟件在這之前接觸的很少,僅僅是在數字信號處理的實驗課上有過一點了解。為了做好這次的課程設計,我查閱了大量的資料,并上網搜索了許多與此相關的知識,這個過程使我受益匪淺,那就認識了很多關于MATLAB的論壇,論壇上面提供了很多關于MATLAB學習的方法及其自學的方法,那些論壇對于將來學習MATLAB及其它方面的知識也有很大的幫助。雖然在規定的時間內完成了老師所布置的課題,但是還是覺得不免有些不足。由于時間局限,對許多MATLAB所運用到的知識僅僅是有所了解,而并沒有完全地掌握,甚至可以說是只知其然,而不知其所以然。這使我意識到對于MATLAB的學習任務還很艱巨,還有許多知識需要去了解,去深入研究。通過這次MATLAB課設,學到了MATLAB GUI程序設計,并通過MATLAB所生成的圖像調試結果, 以達到系統的要求。MATLAB作為第四代計算機語言,具有相當強大的矩陣運算和操作功能,其程序編寫也比其它語言要簡單,是一種對學習非常有幫助的軟件,在之后的時間,我依然會對它進行學習。七、參考文獻1. 郭仕劍、邱志模、陸靜芳.MATLAB入門與實踐.北京:人民郵電出版社,20082. 張智星.MATLAB程序設計及應用.北京:清華大學出版社,20023. 肖偉、劉忠.MATLAB程序設計與應用M.北京:清華大學出版社,20054. 瞿亮.基于MATLAB的控制系統計算機仿真.北京:清華大學出版社,北京交通大學出版社.2005八、程序清單一 打開圖片和灰階化global imglobal xglobal yglobal zx=0.002;y=0.02;z=0.04;filename,pathname=. uigetfile(); str=pathname filename; im=imread(str); axes(handles.axes1); imshow(im); title(原圖); im = rgb2gray(im); axes(handles.axes2); imshow(im);title(); 二 線性變換global im;global J;J=imadjust(im,0.3,0.7,);axes(handles.axes1);imshow(im);title(原圖);axes(handles.axes2);imhist(im);title(灰度直方圖);axes(handles.axes3);imshow(J);title(線性變換后圖像);axes(handles.axes4);imhist(J);title(線性變換后灰度直方圖);三 分段線性變換global im;global H;H=double(im); M,N=size(H); % for i=1:M for j=1:N if H(i,j)=30 H(i,j)=H(i,j); elseif im(i,j)=150 H(i,j)=(200-30)/(150-30)*(H(i,j)-30)+30; else H(i,j)=(255-200)/(255-150)*(H(i,j)-150)+200; end end end%axes(handles.axes1);imshow(im);title();axes(handles.axes2);imhist(im);title();axes(handles.axes3);imshow(uint8(H);title();axes(handles.axes4);imhist(uint8(H);title(); 四 非線性變換global im;global J;global H;J=double (im) ;H=(log(J+1)/10;axes(handles.axes1);imshow(im);title();axes(handles.axes2);imhist(im);title();axes(handles.axes3);imshow(H);title();axes(handles.axes4);imhist(H);title();五 生成灰度直方圖global im;axes(handles.axes1);imshow(im);title(原圖);axes(handles.axes2);imhist(im);title(灰度直方圖);六 直方圖均衡化global im;global J;J=histeq(im);axes(handles.axes1);imshow(im);title(原圖);axes(handles.axes2);imshow(J);title(直方圖均衡化后圖像);axes(handles.axes3);imhist(im);title(原圖像直方圖);axes(handles.axes4);imhist(J);title(直方圖均衡化后圖像直方圖);平滑處理用3*3屏蔽窗口的8近鄰均值進行濾波for(int j=1;jheight-1;j+)for(int i=1;i127.5)p_tempj*wide+i=averg;利用巴特沃斯(Butterworth)低通濾波器對受噪聲干擾的圖像進行平滑處理I=imread(aaa.jpg);imshow(I);J1=imnoise(I,salt & pepper); % 疊加椒鹽噪聲figure,imshow(J1);f=double(J1); % 數據類型轉換,MATLAB不支持圖像的無符號整型的計算g=fft2(f); % 傅立葉變換g=fftshift(g); % 轉換數據矩陣M,N=size(g);nn=2; % 二階巴特沃斯(Butterworth)低通濾波

溫馨提示

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

評論

0/150

提交評論