• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      MATLAB處理數字圖像的方法研究

      2009-06-22 03:41關雪梅
      新媒體研究 2009年20期
      關鍵詞:算子工具箱灰度

      關雪梅

      [摘要]簡述數字圖像處理、MATLAB軟件及兩者之間的關系,針對數字圖像處理技術的特點及MATLAB語言的應用環(huán)境、分析具體的用Matlab來處理圖像的方法,實現數字圖像處理與姒TLAB之間的有機結合。

      [關鍵詞]Matlab圖像處理圖像變換圖像增強邊緣檢測圖像分割

      中圖分類號:TP3文獻標識碼:A文章編號:1671—7597(2009)1020058--02

      一、引言

      數字圖像數據量龐大,必須借助適當的開發(fā)工具。Microsoft公司的Vc++是一種具有高度綜合性能的軟件開發(fā)工具,用它開發(fā)出來的程序有著運行速度快、可移植能力強等優(yōu)點。所以很多科研工作者首選vc++作為數字圖像處理的開發(fā)工具。但是YC++復雜難學,難以在短期內熟練掌握,這成為眾多《數字圖像處理》學習者的一個瓶頸。MATLAB是由MatbWorks公司開發(fā)的一種可視化科學計算軟件,其內容涉及矩陣理論、范函分析、數學物理方程、數值分析、微積分、有限元、小波分析等應用數學各個分支,因此,MATLAB的應用幾乎涵蓋了所有工程領域。MATLAB已經是數字圖像處理、計算機圖形學、電子線路、電機學、自動控制、通信技術、物理、力學等領域的科研人員所必須掌握的一種程序設計語言。

      MTLAB不僅具有面向對象的計算機語言特征,而且初具面向任務的計算機語言的思想。本文從實際應用的角度介紹如何利用MATLAB進行圖像的處理和分析[2]。

      二、MATLAB的特點

      一種語言之所以如此迅速地普及,顯示出如此旺盛的生命力,是由于它有著不同于其它語言的特點。正如同Fortran和C等高級語言使人們擺脫了需要直接對計算機硬件資源進行操作一樣,被稱為第4代計算機語言的MATLAB,利用其豐富的函數資源,使編程人員從繁瑣的程序代碼中解放出來。

      (一)功能強大

      MATLAB具有功能強勁的工具箱,其包含兩個部分:核心部分和各種可選的工具箱。核心部分中,有數百個核心內部函數。其工具箱又可分為兩類:功能性工具箱和學科性工具箱。功能性工具箱主要用來擴充其符號計算功能、圖示建模仿真功能、文字處理功能以及與硬件實時交互功能。功能性工具箱能用于多種學科,而學科性工具箱是專業(yè)性比較強的,例如control toolbox,image processingtoolbox,signal processingtoo]box等。這些工具箱都是由該領域內的學術水平很高的專家編寫的,所以用戶無需編寫自己學科范圍內的基礎程序,就能夠直接進行高、精、尖的研究。

      (二)界面友好,編程效率高

      MATLAB突出的特點就是簡潔。它用更直觀的、符合人類思維習慣的代碼代替了C和Fortran語言的冗長代碼,給用戶帶來的是最直觀、最簡潔的程序開發(fā)環(huán)境。MATLAB語言簡潔緊湊,使用方便靈活,庫函數極其豐富,程序書寫形式自由,利用其豐富的庫函數避開繁雜的子程序編程任務,壓縮了一切不必要的編程工作。由于庫函數都是由本領域的專家編寫的,因此用戶不必擔心函數的可靠性??梢哉f,用MATLAB進行科學開發(fā)是站在專家的肩膀上來完成的。

      (三)開放性強

      MATLAB有很好的可擴充性,可以把它當成一種更高級的語言去使用。各種工具箱中的函數可以互相調用,也可以由用戶更改。MATLAB支持用戶對其函數進行二次開發(fā),用戶的應用程序可以作為新的函數添加到相應的工具箱中。

      三、MATLAB的主要功能

      MATIAB之所以成為世界頂級的科學計算與數學應用軟件,是因為它隨著版本的升級與不斷完善而具有越來越強大的功能。

      1、數值計算功能

      姒TLAB出色的數值計算功能是使之優(yōu)于其他數學應用軟件的決定性因素之一。

      2、符號計算功能

      MATLAB符號運算的獨特之處:無需事先對變量賦值,而所得的結果以標準的符號形式表達,符號計算的整個過程以字符進行。

      3、數據分析功能

      MATLAB可以將計算數據以二維、三維乃至四維的圖形表現。這不僅使數據間的關系清晰、明了,而且對于揭示其內在本質有著非常重要的作用。

      4、動態(tài)仿真功能

      MATLAB提供了一個模擬動態(tài)系統(tǒng)的交互程序SIMULI Nl(,用戶通過簡單的鼠標操作,就可建立起直觀的系統(tǒng)模型,并進行仿真。

      5、圖形文字統(tǒng)一處理功能

      MATLAB Notebook成功地將Microsoft Work與MATLAB集成為一個整體,為文字處理、科學計算、工程設計營造了一個完美、統(tǒng)一的工作環(huán)境。它既擁有Word強大的文字處理功能,又能通過Word訪問MATLAB的數據計算和可視化結果[3]。

      四、利用MATLAB進行圖像處理

      數字圖像研究的領域非常廣泛,從學科上可以分為圖像的數字化、圖像變換、圖像增強、圖像恢復、圖像分割、圖像分析和理解、圖像的壓縮等[4]。MATLAB6,x提供了20類圖像處理函數,涵蓋了圖像處理包括近期研究成果在內的幾乎所有的技術方法,是學習和研究圖像處理的人員難得的寶貴資料和加工工具箱[5]。

      (一)常用圖像撮作

      1、圖像類型轉換

      MATLAB圖像處理工具箱支持4種圉像類型,分別為真彩色圖像(RGB)、索引色圖像、灰度圖像(I)和二值圖像(BW)。由于有的函數對圖像類型有限制,因此這4種類型可以用工具箱的類型轉換函數相互轉換。MATLAB可操作的圖像文件包括BMP,HDF,JPEG,PCX,TIFF和XWD等格式。例如,要對一幅索引色圖像濾波,首先應該將它轉換成真彩色圖像或者灰度圖像,這時MATLAB將會對圖像的灰度進行濾波,即通常意義上的濾波。如果不將索引色圖像進行轉換,MATLAB則對圖像調色板的序號進行濾波,這是沒有意義的。

      2、圖像文件的讀寫與顯示操作

      MATLAB為用戶提供了專門的函數,以從圖像格式的文件中讀寫圖像數據。imread()函數用于讀入各種圖像文件,imwrite()函數用于輸出圖像,imfinfo()函數用于讀取圖像文件的有關信息。

      把圖像顯示于屏幕有imread()、image()等函數。用subplot()函數能將一個圖像窗口分成幾個部分,但同一個圖像窗口內只能有一個調色板。subimage函數可在一個圖像窗口內使用多個調色板,使得各種圖像能在同一個圖像窗口中顯示,用zoom()函數可實現對圖像的縮放。

      3、其它常用圖像操作

      圖像的插值縮放可用imresize()函數實現。在對數字圖像進行旋轉時,各像素的坐標將會發(fā)生變化,使得旋轉之后不能正好落在整數坐標

      處,需要進行插值,imrotate()函數可實現插值旋轉。用lmcrop()函數可剪切圖像中的一個矩形子圖。

      (二)圖像變換功能

      在圖像處理技術中,圖像的(正交)變換技術有著廣泛的應用,是圖像處理的重要工具。通過變換圖像,改變圖像的表示域及表示數據,可以給后續(xù)工作帶來極大的方便。常運用于圖像壓縮、濾波、編碼和后續(xù)的特征抽取或信息分析過程。例如,傅立葉變換(Fourier Transform)可使處理分析在頻域中進行,使運算簡單;而離散余弦變換(Discrete CosineTransform)可使能量集中在少數數據上,從而實現數據壓縮,便于圖像傳輸和存儲。

      1、傅立葉變換

      在圖像處理的廣泛應用領域中,傅立葉變換起著非常重要的作用,具體表現在包括圖像分析、圖像增強及圖像壓縮等方面。利用計算機進行傅立葉變換的通常形式為離散傅立葉變換,采用這種形式的傅立葉變換有以下兩個原因:一是離散傅立葉變換的輸入和輸出都是離散值,適用于計算機的運算操作:二是采用離散傅立葉變化變換,可以應用快速傅立葉變換來實現,提高運算速度。在MATLABI具箱中,提供了fft2()和ifft2()函數用于計算二維快速傅立葉變換及其逆變換,fftn()和ifftn()函數用于計算n維傅立葉變換和逆變換。

      2、離散余弦變換

      在圖像處理工具箱中,dct2()和idct2()函數實現二維離散余弦變換及逆變換。大多數情況下,DCT(Discrete Cosine Transform)用于壓縮圖像,JPEG圖像格式就采用了DCT算法。在]PEG圖像壓縮算法中,圖像被分成8×8或者16×16的圖像塊,然后對每個圖像塊進行DCT變換。DCT變換被量化、編碼及傳輸。在接收端,量化的DCT系數被解碼,并用來計算每個圖像塊的逆DCT變換,最后把各圖像塊拼接起來構成一幅圖像。對一幅典型的圖像而言,許多DCT變換的系數近似為0,把它們去掉并不會明顯影響重構圖像的質量。

      3、radon變換

      圖像處理工具箱的radon()函數用來計算指定方向上圖像矩陣的投影,二元函數f(x,y)的投影是在某一方向上的線積分。例如,f(x,y)在垂直方向上的線積分是f(x,y)在x方向上的投影,在水平方向上的積分是在y方向上的投影。用iradon()函數可實現逆radon變換,并經常用于投影成像中,這個變換能把radon變換反變換回來,因此可以從投影數據重建原始圖像。而在大多數應用中,沒有所謂的用原始圖像來計算投影。例如,x射線吸收重建,投影是通過測量x射線輻射在不同角度通過物理切片時的衰減得到的。原始圖像可以認為是通過切面的截面。這里,圖像的密度代表切片的密度。投影通過特殊的硬件設備獲得,而切片內部圖像通過iradon重建。這可以用來對活的生物體或者不透明物體實現無損成像。

      4、離散小波變換

      離散小波變換是對連續(xù)小波變換的尺度和位移按照2的冪次進行離散化得到的,又稱二進制小波變換。實際上,人們是在一定尺度上認識信號的。人的感官和物理儀器都有一定的分辨率,對低于一定尺度的信號的細節(jié)是無法認識的。因此對低于一定尺度信號的研究也是沒有意義的。為此,應該將信號分解為對應不同尺度的近似分量和細節(jié)分量。小波分解的意義就在于能夠在不同尺度上對信號進行分析,而且對不同尺度的選擇可以根據不同的目的來確定。信號的近似分量一般為信號的低頻分量,其細節(jié)分量一般為信號的高頻分量。因此,對信號的小波分解可以等效于信號通過了一個濾波器組,其中一個濾波器為低通濾波器,另一個為高通濾波器。MATLABT具箱中的dwt()和idwt()函數可實現一維離散小波變換及其反變換,wavedec()和waverec()用于一維信號的多層小波分解和多層重構等。

      (三)圖像增強功能

      圖像增強是數字圖像處理過程中常用的一種方法,目的是采用一系列技術去改善圖像的視覺效果或將圖像轉換成一種更適合于人眼觀察和機器自動分析的形式。常用的圖像增強方法有以下幾種。

      1、灰度直方圖均衡化

      均勻量化的自然圖像的灰度直方圖通常在低灰度區(qū)間上頻率較大,使得圖像中較暗區(qū)域中的細節(jié)看不清楚。采用直方圖修整可使原圖像灰度集中的區(qū)域拉開或使灰度分布均勻,從而增大反差,使圖像的細節(jié)清晰,達到增強目的。直方圖均衡化可用histeq()函數實現。

      2、灰度變抉法

      照片或電子方法得到的圖像,常表現出低對比度(即整個圖像偏亮或偏暗),為此需要對圖像中的每一像素的灰度級進行灰度變換,擴大圖像灰度范圍,以達到改善圖像質量的目的。這一灰度調整過程可用imadjust()函數實現。

      3、平滑與銳化濾波

      平滑技術用于平滑圖像中的噪聲,基本采用在空間域上的求平均值或中值,或在頻域上采取低通濾波。在灰度連續(xù)變化的圖像中,通常認為與相鄰像素灰度相差很大的突變點為噪聲?;叶韧蛔兇砹艘环N高頻分量,低通濾波則可以削弱圖像的高頻成分,平滑了圖像信號,但也可能使圖像目標區(qū)域的邊界變得模糊。而銳化技術采用的是頻域上的高通濾波方法,通過增強高頻成分減少圖像中的模糊,特別是模糊的邊緣部分得到了增強,但同時也放大了圖像的噪聲。在MATLAB中,各種濾波方法都是在空間域中通過不同的卷積模板(即濾波算子)實現,可用fspecial()函數創(chuàng)建預定義的濾波算子,然后用filter()或cony2()函數在實現卷積運算的基礎上進行濾波。

      (四)邊緣檢測和圖像分割功能

      邊緣檢測是一種重要的區(qū)域處理方法。邊緣是所要提取目標和背景的分界線,提取出邊緣才能將目標和背景區(qū)分開來。邊緣檢測是利用物體和背景在某種圖像特性上的差異來實現的,這些差異包括灰度、顏色或者紋理特征。實際上,就是檢測圖像特性發(fā)生變化的位置。邊緣檢測包括兩個基本內容:一是抽取出反映灰度變化的邊緣點;二是剔除某些邊界點或填補邊界間斷點,并將這些邊緣連接成完整的線。如果一個像素落在邊界上,那么它的鄰域將成為一個灰度級變化地帶。對這種變化最有用的兩個特征是灰度的變化率和方向。邊緣檢測算子可以檢查每個像素的鄰域,并對灰度變化率進行量化,也包括對方向的確定,其中大多數是基于方向導數掩模求卷積的方法。MATLABI具箱提供的edge()函數可針對sobel算子、prewltt算子、Roberts算子、LoG算子和canny算子實現檢測邊緣的功能?;诨叶鹊膱D像分割方法也可以用簡單的MATLAB代碼實現。

      五、結束語

      本文主要是研究分析了用Matlab來進行圖像處理的方法。利用MATLAB語言及其所提供的函數進行圖像處理,編程簡單、操作方便、可靠性強,能夠達到預期的效果。MATLAB2:具箱功能非常強大,簡化了繁瑣的數學計算工作,有效的促進了數字圖像處理相關的研究開發(fā)工作。

      猜你喜歡
      算子工具箱灰度
      天津港智慧工作平臺灰度發(fā)布系統(tǒng)和流程設計
      華為“灰度”哲學
      Domestication or Foreignization:A Cultural Choice
      Arduino小車巡線程序的灰度閾值優(yōu)化方案
      會“叫”的工具箱和工具
      QK空間上的疊加算子
      逼近論中的收斂性估計
      爸爸的工具箱
      一種基于灰度分割的調焦評價函數
      鸡东县| 蚌埠市| 台北县| 富平县| 西乡县| 修水县| 道真| 宣城市| 比如县| SHOW| 岢岚县| 邓州市| 萨嘎县| 科技| 迁安市| 呼和浩特市| 新丰县| 扎鲁特旗| 松江区| 遂川县| 蒙阴县| 安陆市| 海丰县| 松潘县| 武定县| 左云县| 山东| 靖江市| 嘉荫县| 遵义市| 湘阴县| 陆河县| 崇礼县| 宁武县| 宣化县| 万荣县| 沾化县| 宁德市| 环江| 英吉沙县| 古蔺县|