歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

基于MATLAB的圖像處理及跟蹤算法

  • 資源ID:20004946       資源大?。?span id="cuqtgya" class="font-tahoma">755.91KB        全文頁(yè)數(shù):54頁(yè)
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

基于MATLAB的圖像處理及跟蹤算法

摘 要視頻圖像處理技術(shù)廣泛用于工業(yè)、安全、醫(yī)療、管理等領(lǐng)域。運(yùn)動(dòng)目標(biāo)的檢測(cè)和跟蹤是圖像處理技術(shù)在視頻序列圖像處理方面的一個(gè)重要應(yīng)用,在航天、交通、機(jī)器人視覺(jué)、視頻監(jiān)控、公共場(chǎng)所客流數(shù)據(jù)監(jiān)測(cè)等場(chǎng)合發(fā)揮著重要作用。本文介紹了一種基于MATLAB的簡(jiǎn)易的從視頻播放的幀圖像中找出目標(biāo)圖像,并進(jìn)行視頻跟蹤的實(shí)現(xiàn)方法。通過(guò)對(duì)圖像進(jìn)行閾值處理(圖像分割),再對(duì)分割后的圖像求取形心,以對(duì)目標(biāo)圖像進(jìn)行定位,并最后找到各幅幀圖像的目標(biāo)位置的方法,從而實(shí)現(xiàn)對(duì)100幀視頻圖像的實(shí)時(shí)跟蹤。關(guān)鍵詞:目標(biāo)檢測(cè);閾值處理;視頻序列目標(biāo)跟蹤;形心估計(jì)ABSTRACTVideo image processing technology is widely used in industrial, security, health care, management and other fields. Motion target detection and tracking is image processing technology in video sequence is an important application in image processing, in the aerospace, transportation, robot vision, video surveillance, public traffic data monitoring plays an important role.This paper introduces a simple MATLAB to find the target image from the video image frame based, and realization method of video tracking.Through the threshold of image processing (image segmentation), then the after image segmentation to obtain the centroid, to locate the target image, and finally found the method of each frame image of the target position, so as to realize the real-time tracking of the 100 frame of video images.Key words: target detection; threshold; video object tracking; centroid estimation目錄第1章引言11.1 選題背景11.2 課題研究目的及意義21.3 課題研究思路3第2章數(shù)字圖像處理簡(jiǎn)介42.1 圖像數(shù)字化過(guò)程42.2 數(shù)字圖像處理的基本內(nèi)容62.2.1 基本概念62.2.2 數(shù)字圖像處理的主要內(nèi)容62.3 數(shù)字圖像處理的特點(diǎn)和應(yīng)用82.3.1 數(shù)字圖像處理的特點(diǎn)82.3.2 數(shù)字圖像處理的應(yīng)用82.4 數(shù)字圖像類型92.5 主要圖像文件格式11第3章MATLAB仿真軟件的簡(jiǎn)介133.1 MATLAB的歷史背景133.2 MATLAB簡(jiǎn)介143.3 MATLAB的特點(diǎn)153.4 MATLAB在數(shù)字圖像中的應(yīng)用16第4章圖形用戶界面184.1 圖形用戶界面簡(jiǎn)介184.2 MATLAB 常用圖像操作184.3 GUI的創(chuàng)建204.4 GUI的應(yīng)用224.4.1 腳本與函數(shù)224.4.2 遞歸函數(shù)調(diào)用234.4.3 調(diào)試GUI M文件23第5章基于MATLAB的圖像跟蹤算法245.1 100幀視頻圖像的讀取245.2 圖像的閾值處理(圖像分割)245.2.1 閾值的確定255.2.2 圖像的閾值分割265.3 形心(距心)的求取285.4 設(shè)置跟蹤波門(mén)29第6章總結(jié)與展望346.1 總結(jié)346.2 展望34參考文獻(xiàn)36致謝37附 錄38附錄一:圖像類型轉(zhuǎn)換模塊的實(shí)現(xiàn)38附錄二:圖像模塊中灰度的變換38外文資料原文42譯文45第1章 引言1.1 選題背景數(shù)字圖像處理起源于20世紀(jì)20年代。當(dāng)時(shí),人們通過(guò)Bartlane海底電纜圖片傳輸系統(tǒng),從倫敦到紐約傳輸了一幅經(jīng)過(guò)數(shù)字壓縮后的照片,從而把傳輸時(shí)間從一周多縮短到不足三個(gè)小時(shí)。為了傳輸圖片,該系統(tǒng)在傳輸端進(jìn)行了圖像編碼,然后在接受端用特殊打印設(shè)備重構(gòu)了該圖片。盡管這一應(yīng)用包含了數(shù)字圖像處理的知識(shí),但是并沒(méi)有使用計(jì)算機(jī)。而數(shù)字圖像處理需要很大的存儲(chǔ)空間和計(jì)算能力,其發(fā)展受到計(jì)算機(jī)中數(shù)據(jù)儲(chǔ)存、顯示和傳輸?shù)认嚓P(guān)技術(shù)發(fā)展的制約1。在20世紀(jì)50年代,當(dāng)時(shí)的電子計(jì)算機(jī)已經(jīng)發(fā)展到一定水平,人們開(kāi)始利用計(jì)算機(jī)來(lái)處理圖形和圖形信息。在20世紀(jì)60年代初期數(shù)字圖像處理作為一門(mén)學(xué)科大約形成了。第一臺(tái)可執(zhí)行圖像處理任務(wù)的大型進(jìn)算計(jì)出現(xiàn)。早期的圖像處理的目的是改善圖像的質(zhì)量,它以人為對(duì)象,已改善人的視覺(jué)效果為目的。圖像處理中,輸入的是質(zhì)量低的圖像,輸出的是改善質(zhì)量后的圖像,常用的圖像處理方法有圖像增強(qiáng)、復(fù)原、編碼、壓縮等。首次獲得實(shí)際成功應(yīng)用的是美國(guó)噴氣推進(jìn)實(shí)驗(yàn)室(JPL)。他們對(duì)航天探測(cè)器徘徊者7號(hào)在1964年發(fā)回的幾千張?jiān)虑蛘掌褂昧藞D像處理技術(shù),如幾何校正、灰色變換、去除噪聲的方法進(jìn)行處理,并考慮了太陽(yáng)位置和月球環(huán)境的影響,由計(jì)算機(jī)成功地繪制出月球表面地圖,獲得了巨大的成功。隨后又對(duì)探測(cè)飛船發(fā)回的近十萬(wàn)張照片進(jìn)行更為復(fù)雜的圖像處理技術(shù)都發(fā)揮了巨大的作用。20世紀(jì)60年代末70年代初,數(shù)字圖像處理技術(shù)應(yīng)用于醫(yī)學(xué)圖像、地球遙感監(jiān)測(cè)和天文學(xué)等諸多領(lǐng)域。1972年英國(guó)EMI公司工程師Housfield發(fā)明了用于頭顱診斷的X射線計(jì)算機(jī)斷層攝影裝置,也就是我們通常所說(shuō)的CT(Computer Tomograph)。CT基本方法是根據(jù)人的頭部截面的投影,經(jīng)計(jì)算機(jī)處理來(lái)重建截面圖像,稱為圖像重建。1975年EMI公司又成功研制出全身用的CT裝置,獲得了人體各個(gè)部位鮮明清晰的斷層圖像。1979年,這項(xiàng)無(wú)損傷診斷技術(shù)獲得了諾貝爾獎(jiǎng),說(shuō)明它對(duì)人類作出了劃時(shí)代的貢獻(xiàn)。1972年美國(guó)陸地資源衛(wèi)星(Landsat)將多譜圖像用于資源探測(cè)。同年,計(jì)算機(jī)層析儀(CT)問(wèn)世,它將圖像重建技術(shù)用于醫(yī)學(xué)2。20世紀(jì)70年代中期開(kāi)始,隨著計(jì)算機(jī)技術(shù)和人工智能、思維科學(xué)研究的迅速發(fā)展,數(shù)字圖像處理向更高、更深層次發(fā)展。人們已開(kāi)始研究如何使用計(jì)算機(jī)系統(tǒng)解釋圖像,實(shí)現(xiàn)類似人類視覺(jué)系統(tǒng)理解外部世界,這被稱為圖像理解或計(jì)算機(jī)視覺(jué)。很多國(guó)家,特別是發(fā)達(dá)國(guó)家投入更多的人力、物力到這項(xiàng)研究,取得了不少重要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的視覺(jué)計(jì)算理論,這個(gè)理論成為計(jì)算機(jī)視覺(jué)其后十多年的主導(dǎo)思想。圖像理解雖然在理論方法研究上已取得了不小的進(jìn)展,但它本身是一個(gè)比較難的研究領(lǐng)域,存在不少困難,因人類本身對(duì)自己的視覺(jué)過(guò)程還了解甚少,因此計(jì)算機(jī)視覺(jué)是一個(gè)有待人們進(jìn)一步探索新的領(lǐng)域。1.2 課題研究目的及意義最早的圖像處理時(shí)上世紀(jì)六七十年代,隨著電子技術(shù)和計(jì)算機(jī)技術(shù)的不斷提高和普及,數(shù)字圖像處理進(jìn)入高速發(fā)展時(shí)期。數(shù)字圖像處理就是利用數(shù)字計(jì)算機(jī)或者其他數(shù)字硬件,對(duì)圖像信息轉(zhuǎn)換而得的電信號(hào)進(jìn)行某些數(shù)學(xué)運(yùn)算,以提高圖像的實(shí)用性。例如從衛(wèi)星圖片中提取目標(biāo)物的特征參數(shù),三維立體斷層圖像的重建等等。數(shù)字圖像處理技術(shù)處理精度比較高,而且還可以通過(guò)改進(jìn)處理軟件來(lái)優(yōu)化處理效果。總的來(lái)說(shuō),數(shù)字圖像處理包括點(diǎn)運(yùn)算、幾何處理、圖像增強(qiáng)、圖像還原、圖像形態(tài)學(xué)處理、圖像編碼、圖像重建、模式識(shí)別等。由于計(jì)算機(jī)技術(shù)處理能力不斷增強(qiáng),數(shù)字圖像處理學(xué)科在飛速發(fā)展的同時(shí),也越來(lái)越廣泛地向其他許多學(xué)科快速交叉滲透,使得圖像作為信息獲取以及信息的利用等方面也變得越來(lái)越重要。目前數(shù)字圖像處理應(yīng)用越來(lái)越廣泛,已經(jīng)滲透到工業(yè)、醫(yī)療保健、航空航天、軍事等各個(gè)領(lǐng)域,在國(guó)民經(jīng)濟(jì)中發(fā)揮越來(lái)越大的作用。MathWorks公司推出的MATLAB是學(xué)習(xí)數(shù)理知識(shí)的好幫手。應(yīng)用MATLAB友好的界面和豐富、實(shí)用、高效的指令及模塊,可以使人較快地認(rèn)識(shí)、理解圖像處理的相關(guān)概念,逐步掌握?qǐng)D像信號(hào)處理的基本方法,進(jìn)而能夠解決相關(guān)的工程和科研中的問(wèn)題。圖像是人類獲取和交換信息的主要來(lái)源,因此,圖像處理的應(yīng)用領(lǐng)域必然涉及到人類生活和工作的方方面面。隨著人類活動(dòng)范圍的不斷擴(kuò)大,圖像處理的應(yīng)用領(lǐng)域也將隨之不斷擴(kuò)大,數(shù)字圖像處理對(duì)人類的作用將是不可限量3。1.3 課題研究思路本文首先通過(guò)對(duì)MATLAB軟件的了解及應(yīng)用,基于MATLAB的數(shù)字圖像處理環(huán)境和如何利用MATLAB及其圖像處理工具箱進(jìn)行數(shù)字圖像處理。主要論述了利用MATLAB實(shí)現(xiàn)對(duì)圖像讀取、閥值處理、距心的求取等圖像處理。第2章 數(shù)字圖像處理簡(jiǎn)介 2.1 圖像數(shù)字化過(guò)程圖像的數(shù)字化過(guò)程就是在計(jì)算機(jī)內(nèi)生成一個(gè)二維矩陣的過(guò)程。數(shù)字化的目的是將一幅圖像以數(shù)字的形式進(jìn)行表示,并且要做到既不失真又便于計(jì)算機(jī)進(jìn)行處理。圖像的數(shù)字化要求是要達(dá)到以最小的數(shù)據(jù)量不失真地描述圖像信息。數(shù)字圖像(digital imagine)和傳統(tǒng)的圖像即模擬圖像(picture)是有差別的。圖像的數(shù)字化包括采樣和量化兩個(gè)過(guò)程。1.采樣采樣(sampling)就是把在時(shí)間上和空間上連續(xù)的圖像分割成離散點(diǎn)(采樣點(diǎn),即像素)的集合的一種操作。采樣是對(duì)圖像空間坐標(biāo)的離散化,它決定了圖像的空間分辨率。采樣越細(xì),越能精確地表現(xiàn)圖像。圖像基本上是在二維平面上連續(xù)分布的信息形式要把它輸入到計(jì)算機(jī)中,首先要把二維信號(hào)變成一維信號(hào),因此要進(jìn)行掃描(scanning)。最常用的掃描方法是在二維平面上按一定間隔順序地從上方順序地沿水平方向的直線(掃描線)掃描,從而取出濃淡值(灰度值)的線掃描(Laster掃描)。對(duì)于由此得到的一維信號(hào),通過(guò)求出每一特定間隔的值,可以得到離散的信號(hào)。對(duì)于運(yùn)動(dòng)圖像除進(jìn)行水平,垂直兩個(gè)方向的掃描以外,還有進(jìn)行時(shí)間軸上的掃描。通過(guò)采樣,如設(shè)橫向的像素?cái)?shù)為M,縱向的像素?cái)?shù)為N,則畫(huà)面的大小可以表示為“M*N”個(gè)像素。一般來(lái)說(shuō),圖像中細(xì)節(jié)越多,采樣的間隔應(yīng)當(dāng)越小。2.量化如果把這些連續(xù)變化的值(灰度值)量化為8bit,則灰度值被分成0-2552的256個(gè)級(jí)別,分別對(duì)應(yīng)于各個(gè)灰度值的濃淡程度,叫做灰度等級(jí)或灰度標(biāo)度。經(jīng)過(guò)采樣,圖像被分解成在時(shí)間上和空間上離散分布的像素,但是像素的值(灰度值)還是連續(xù)值。像素的值,是指白色-灰色-黑色的濃淡值,有時(shí)候也指光的強(qiáng)度(亮度)值或灰度值。把這些連續(xù)的濃淡值或灰度值變?yōu)殡x散的值(整數(shù)值)的操作就是量化。在0-255的值對(duì)應(yīng)于白-黑的時(shí)候,有以0為白,255為黑的方法,也有以0為黑,255為白的方法,這取決于圖像的輸入方法以及用什么樣的觀點(diǎn)對(duì)圖像進(jìn)行處理等,這是在編程時(shí)應(yīng)特別注意的問(wèn)題。但在只有黑白二值的二值圖像的情形,一般設(shè)0為白,1為黑4。量化的方法有:(1) 分層量化(Hierarchical quantization)(2) 均勻量化(Uniform quantization)(3) 非均勻量化(Non-uniform quantization)分層量化是把每一個(gè)離散樣本的連續(xù)灰度值分成有限多的層次。均勻量化是把源圖像灰度層次從最暗至最亮均勻分為有限層次,如果采用不均勻分層就是非均勻量化。對(duì)連續(xù)的灰度值賦予量化級(jí)的,即灰度值方法有:等間隔量化(Equal interval quantization)和非等間隔量化(Non equal interval quantization)。等間隔量化是簡(jiǎn)單地把采樣值的灰度范圍等間隔地分割并進(jìn)行量化。非均勻量化是依據(jù)一幅圖像具體的灰度值分布的概率密度函數(shù),按總的量化誤差的最小的原則來(lái)進(jìn)行量化。實(shí)用中一般采用等間隔量化5。3. 采樣、量化和圖像細(xì)節(jié)的關(guān)系上面的數(shù)字化過(guò)程,需要確定數(shù)值N和灰度級(jí)的級(jí)數(shù)K。在數(shù)字圖像處理中,一般都取成2的整數(shù)冪,即: (2-1) (2-2) 一幅數(shù)字圖像在計(jì)算機(jī)中所占的二進(jìn)制存儲(chǔ)位數(shù)b為: (2-3) 例如,灰度級(jí)為256級(jí)(m=8)的512512的一幅數(shù)字圖像,需要大約210萬(wàn)個(gè)存儲(chǔ)位。隨著N和m的增加,計(jì)算機(jī)所需要的存儲(chǔ)量也隨之迅速增加。由于數(shù)字圖像是連續(xù)圖像的近似,從圖像數(shù)字化的過(guò)程可以看到。這種近似的程度主要取決于采樣樣本的大小和數(shù)量(N值)以及量化的級(jí)數(shù)K(或m值)。N和K的值越大,圖像越清晰6。2.2 數(shù)字圖像處理的基本內(nèi)容2.2.1 基本概念數(shù)字圖像處理(Digital Image Processing)是通過(guò)計(jì)算機(jī)對(duì)圖像進(jìn)行去除噪聲、增強(qiáng)、復(fù)原、分割、提取特征等處理的方法和技術(shù)。相對(duì)于以往的數(shù)字圖像處理方法,數(shù)字圖像處理是一次新的“工業(yè)革命”,它徹底改變了以往人們處理圖像時(shí)所采用的手段,成為圖像處理中一個(gè)嶄新的方向。數(shù)字圖像處理的產(chǎn)生和迅速發(fā)展主要受三個(gè)因素的影響:一是計(jì)算機(jī)的發(fā)展;二是數(shù)學(xué)的發(fā)展(特別是離散數(shù)學(xué)理論的創(chuàng)立和完善);三是廣泛的農(nóng)牧業(yè)、林業(yè)、環(huán)境、軍事、工業(yè)和醫(yī)學(xué)等方面的應(yīng)用需求的增長(zhǎng)7。2.2.2 數(shù)字圖像處理的主要內(nèi)容從系統(tǒng)整體研究的角度來(lái)看,數(shù)字圖像處理的研究?jī)?nèi)容主要包括以下幾個(gè)方面:圖像的獲取、表示與表現(xiàn),圖像增強(qiáng)、圖像復(fù)原、圖像分割、圖像分析、圖像重建及圖像編碼壓縮等。其中,數(shù)字圖像處理包括:算術(shù)/邏輯操作和幾何運(yùn)算、圖像增強(qiáng)、圖像分割、圖像形態(tài)學(xué)處理、模式識(shí)別、圖像復(fù)原、圖像壓縮等內(nèi)容。(1)算術(shù)/邏輯操作圖像中的算術(shù)/邏輯操作主要以像素對(duì)像素為基礎(chǔ)在兩幅或多幅圖像間進(jìn)行(其中不包含邏輯非操作,它在單一影像中進(jìn)行)。對(duì)圖像的邏輯操作同樣也是基于像素的?!芭c或非”這三種邏輯算子完全是函數(shù)化的。當(dāng)我們對(duì)灰度級(jí)圖像進(jìn)行邏輯操作時(shí),像素值作為一個(gè)二進(jìn)制的字符串來(lái)處理。在四種算術(shù)操作中,減法與加法在圖像處理中最有用。我們簡(jiǎn)單的把兩幅圖像想除看成是用一副的取反圖像與另一幅圖像相乘。在四種代數(shù)運(yùn)算操作中加法運(yùn)算可用于降低圖像中加性隨機(jī)噪聲的污染;減法運(yùn)算則可以檢測(cè)圖像中物體的運(yùn)動(dòng)變化;乘法運(yùn)算可用于標(biāo)記圖像中的感興趣區(qū)域;除法運(yùn)算則經(jīng)常用于多光譜遙感圖像的分析處理,以擴(kuò)大不同物體之間的差異。(2)幾何變換幾何運(yùn)算用于改變圖像中像素與像素之間的空間位置關(guān)系,從而改變圖像的空間結(jié)構(gòu),達(dá)到處理圖像的目的。簡(jiǎn)單而言,圖像幾何變換就是建立一種源圖像像素與變換后的圖像像素之間的映射關(guān)系。主要包括圖像的平移、縮放、旋轉(zhuǎn)、鏡像和轉(zhuǎn)置變換等。 (3)圖像增強(qiáng)圖像增強(qiáng)是圖像處理最關(guān)鍵的研究問(wèn)題之一,圖像增強(qiáng)按作用域可分為兩類,即空域處理和頻域處理??沼蛱幚硎侵苯訉?duì)圖像進(jìn)行處理,而頻域處理則是在圖像的某個(gè)變化域內(nèi),對(duì)圖像的變換系數(shù)進(jìn)行運(yùn)算,然后通過(guò)逆變換獲得圖像增強(qiáng)效果。圖像增強(qiáng)可以突出圖像中的某些“有用”信息,擴(kuò)大圖像中不同物體特征之間的差別,改善圖像的視覺(jué)效果。圖像增強(qiáng)的算法包括直方圖增強(qiáng),空域?yàn)V波增強(qiáng),頻域?yàn)V波增強(qiáng)和彩色增強(qiáng)等。(4)圖像分割圖像分割將圖像細(xì)分為構(gòu)成它的子區(qū)域或?qū)ο?。圖像分割算法一般基于亮度值的兩個(gè)基本特性之一:不連續(xù)性和相似性。第一類方法基于亮度的不連續(xù)變化分割圖像,比如圖像的邊緣。第二類方法依據(jù)事先制定的準(zhǔn)則將圖像分割為相似的區(qū)域。圖像分割包括間斷檢測(cè),邊緣檢測(cè),門(mén)限處理等。(5)圖像形態(tài)學(xué)處理圖像形態(tài)學(xué)由一組形態(tài)學(xué)代數(shù)算子組成,最基本的形態(tài)學(xué)代數(shù)算子包括腐蝕、膨脹、開(kāi)運(yùn)算、閉運(yùn)算等,通過(guò)組合應(yīng)用這些算子,可以實(shí)現(xiàn)對(duì)圖像形狀、結(jié)構(gòu)的分析和處理。數(shù)學(xué)形態(tài)學(xué)可以完成圖像分割、特征提取、邊界檢測(cè)、圖像濾波、圖像增強(qiáng)和恢復(fù)等工作。(6)模式識(shí)別模式識(shí)別總是從大量信息和數(shù)據(jù)出發(fā),在一定的經(jīng)驗(yàn)和認(rèn)識(shí)基礎(chǔ)上,利用計(jì)算機(jī)和數(shù)學(xué)的推理的方法對(duì)信息進(jìn)行自動(dòng)識(shí)別。模式識(shí)別系統(tǒng)一般包括4個(gè)部分,即數(shù)據(jù)獲取、預(yù)處理、特征提取和決策分類。(7)圖像復(fù)原(恢復(fù))由于設(shè)備造成的掃描線漏失、錯(cuò)位等各種原因不可避免造成圖像質(zhì)量的下降(退化)。圖像的復(fù)原就是根據(jù)事先建立起來(lái)的系統(tǒng)退化模型,將降質(zhì)了的圖像重建成接近于或完全無(wú)退化的原始理想圖像的過(guò)程。(8)圖像壓縮數(shù)字圖像的數(shù)據(jù)量是很巨大的,然而數(shù)字圖像實(shí)際上又具有很大的壓縮潛力。圖像壓縮所解決的問(wèn)題是盡量減少表示數(shù)字圖像時(shí)所需的數(shù)據(jù)量。減少數(shù)據(jù)量的基本原理是出去其中的冗余數(shù)據(jù)。這種變換在圖像存儲(chǔ)或傳輸之前進(jìn)行。在以后的某個(gè)時(shí)候,再對(duì)壓縮圖像進(jìn)行解壓縮,以重構(gòu)原圖像或原圖像的近似圖像8。2.3 數(shù)字圖像處理的特點(diǎn)和應(yīng)用2.3.1 數(shù)字圖像處理的特點(diǎn)(1) 數(shù)字圖像處理的信息大多是二維信息,處理信息量很大。因此對(duì)計(jì)算機(jī)的計(jì)算速度、存儲(chǔ)容量等要求較高。(2) 數(shù)字圖像處理占用的頻帶較寬。與語(yǔ)言信息相比,占用的頻帶要打幾個(gè)數(shù)量級(jí)。(3) 數(shù)字圖像中各個(gè)像素是不獨(dú)立的,其相關(guān)性大。在圖像畫(huà)面上,經(jīng)常有很多像素有相同或接近的灰度。(4) 由于圖像是三維景物的二維投影,一幅圖像本身不具備復(fù)現(xiàn)三維景物的全部幾何信息的能力,很顯然三維景物背后部分信息在二維圖像畫(huà)面上是反應(yīng)不出來(lái)的。因此,要分析和理解三維景物必須做合適的假定或附加新的測(cè)量。(5) 數(shù)字圖像處理后的圖像一般是給人觀察和評(píng)價(jià)的,因此受人的因素影響較大。2.3.2 數(shù)字圖像處理的應(yīng)用計(jì)算機(jī)圖像處理和計(jì)算機(jī)、多媒體、智能機(jī)器人、專家系統(tǒng)等技術(shù)的發(fā)展緊密相關(guān)。近年來(lái)計(jì)算機(jī)識(shí)別、理解圖像的技術(shù)發(fā)展很快,也就是圖像處理的目的除了直接供人觀看(如醫(yī)學(xué)圖像是為醫(yī)生觀看作診斷)外,還進(jìn)一步發(fā)展了與計(jì)算機(jī)視覺(jué)有關(guān)的應(yīng)用,如郵件自動(dòng)分檢,車(chē)輛自動(dòng)駕駛等。下面僅羅列了一些典型應(yīng)用實(shí)例,而實(shí)際應(yīng)用更廣。(1)在生物醫(yī)學(xué)中的應(yīng)用主要包括顯微圖像處理;DNA顯示分析;紅、白血球分析計(jì)數(shù);蟲(chóng)卵及組織切片的分析;癌細(xì)胞的識(shí)別;染色體分析等等。(2)遙感航天中的應(yīng)用軍事偵察、定位、導(dǎo)航、指揮等應(yīng)用;多光譜衛(wèi)星圖像分析;地形、地圖、國(guó)土普查;地質(zhì)、礦藏勘探;天文、太空星體的探測(cè)及分析等。(3)工業(yè)應(yīng)用CAD 和CAM技術(shù)用于模具、零件制造、服裝、印染業(yè);零件、產(chǎn)品無(wú)損檢測(cè),焊縫及內(nèi)部缺陷檢查;交通管制、機(jī)場(chǎng)監(jiān)控;火車(chē)車(chē)皮識(shí)別等。(4)軍事公安領(lǐng)域中的應(yīng)用巡航導(dǎo)彈地形識(shí)別;指紋自動(dòng)識(shí)別;警戒系統(tǒng)及自動(dòng)火炮控制;反偽裝偵察;手跡、人像、印章的鑒定識(shí)別;過(guò)期檔案文字的復(fù)原;集裝箱的不開(kāi)箱檢查等。(5)遙感上的應(yīng)用在遙感的發(fā)展中,可以看到大量與圖像處理密切相關(guān)的技術(shù)。如在20世紀(jì)70年代美國(guó)發(fā)射的第一顆陸地衛(wèi)星就是通過(guò)對(duì)獲取的遙感圖片進(jìn)行處理后達(dá)到上述目的的。隨后美國(guó)發(fā)射了海洋衛(wèi)星、氣象衛(wèi)星和軍用衛(wèi)星,從而獲取了大量遙感資料。此圖像處理廣泛應(yīng)用于土地測(cè)繪、資源調(diào)查、氣象監(jiān)測(cè)、環(huán)境污染監(jiān)測(cè)、森林防護(hù)等。(6)其他應(yīng)用圖像的遠(yuǎn)距離通信;多媒體計(jì)算機(jī)系統(tǒng)及應(yīng)用;電視電話;服裝試穿顯示;理發(fā)發(fā)型預(yù)測(cè)顯示;電視會(huì)議;辦公自動(dòng)化、現(xiàn)場(chǎng)視頻管理等9。2.4 數(shù)字圖像類型MATLAB中,一幅圖像可能包含一個(gè)數(shù)據(jù)矩陣,也可能包含一個(gè)顏色映射表矩陣。MATLAB中有四種基本的圖像類型:(1)二值圖像(二進(jìn)制圖像)二值圖像也叫黑白圖像,就是圖像像素只存在0、1兩個(gè)值。一個(gè)二值圖像是純黑白的。每一個(gè)像素值將取0或者1中的一個(gè)值,通常0表示黑,1表示白。二值圖像可以保存為雙精度或uint8類型的雙精度數(shù)組,顯然使用uint8類型更節(jié)省空間。在圖像處理工具箱中,任何一個(gè)返回二進(jìn)制圖像的函數(shù)都是以u(píng)int8類型邏輯數(shù)組來(lái)返回的。(2)灰度圖像在MATLAB中,灰度圖像是保存在一個(gè)矩陣中的,矩陣中的每一個(gè)元素代表一個(gè)像素點(diǎn)。矩陣可以是雙精度類型,其值域?yàn)?,1;也可以為uint8類型,其數(shù)據(jù)范圍為0,255。矩陣的每個(gè)元素代表不同的亮度或灰度級(jí)。彩色圖像轉(zhuǎn)化為灰度圖像公式: (2-4)(3)索引圖像索引圖像包括圖像矩陣與顏色圖數(shù)組,其中,顏色圖是按圖像中顏色值進(jìn)行排序后的數(shù)組。對(duì)于每個(gè)像素,圖像矩陣包含一個(gè)值,這個(gè)值就是顏色圖中的索引。顏色圖為m*3雙精度值矩陣,各行分別指定紅綠藍(lán)(RGB)單色值。Colormap=R,G, B,R,G,B為值域?yàn)?,1的實(shí)數(shù)值。圖像矩陣與顏色圖的關(guān)系依賴于圖像矩陣是雙精度型還是uint8(無(wú)符號(hào)8位整型)類型。如果圖像矩陣為雙精度類型,第一點(diǎn)的值對(duì)應(yīng)于顏色圖的第一行,第二點(diǎn)對(duì)應(yīng)于顏色圖的第二行,依次類推。如果圖像矩陣是uint8,有一個(gè)偏移量,第0點(diǎn)值對(duì)應(yīng)于顏色圖的第一行,第一點(diǎn)對(duì)應(yīng)于第二行,依次類推;uint8長(zhǎng)用于圖形文件格式,它支持256色。(4)RGB圖像與索引圖像一樣,RGB圖像分別用紅,綠,藍(lán)三個(gè)亮度值為一組,代表每個(gè)像素的顏色。與索引圖像不同的是,這些亮度值直接存在圖像數(shù)組中,而不是存放在顏色圖中。圖像數(shù)組為M*N*3,M,N表示圖像像素的行列數(shù)10。2.5 主要圖像文件格式(1) JPEG(Joint Photographic Experts Group)格式,是一種成為聯(lián)合圖像專家組的圖像壓縮格式。文件后綴名為“.jpeg”或“.jpg”,是最常用的圖像文件格式。JPEG是一種有損壓縮格式,能夠?qū)D像壓縮在很小的存儲(chǔ)空間內(nèi)。(2) TIFF(Tagged Image File Format)格式。它是目前圖像文件格式中最復(fù)雜的一種。處理1,4,8,24位非壓縮圖像,1,4,8,24位packbit壓縮圖像,一位CCITT壓縮圖像等。且它支持單色到32位真彩色模式的所有圖像。文件內(nèi)容包括:文件頭,參數(shù)指針表與參數(shù)域,參數(shù)數(shù)據(jù)表和圖像數(shù)據(jù)四部分。(3) BMP(Windows Bitmap)格式。它是一種與硬件設(shè)備無(wú)關(guān)的圖像文件格式,使用非常廣。有1,4,8,24位非壓縮圖像,8位RLE(Run-length Encoded )圖像。文件內(nèi)容包括:文件頭(一個(gè)BITMAP FILEHEADER數(shù)據(jù)結(jié)構(gòu)),位圖信息數(shù)據(jù)塊(位圖信息頭BITMAP INFOHEADER和一個(gè)顏色表)和圖像數(shù)據(jù)。(4) GIF(Graphics Interchange Format)格式。原義是“圖像互換格式”,是CompuServe公司在 1987年開(kāi)發(fā)的圖像文件格式。GIF文件的數(shù)據(jù),是一種基于LZW算法的連續(xù)色調(diào)的無(wú)損壓縮格式。其壓縮率一般在50%左右,它不屬于任何應(yīng)用程序。目前幾乎所有相關(guān)軟件都支持它,公共領(lǐng)域有大量的軟件在使用GIF圖像文件。GIF圖像文件的數(shù)據(jù)是經(jīng)過(guò)壓縮的,而且是采用了可變長(zhǎng)度等壓縮算法。GIF格式的另一個(gè)特點(diǎn)是其在一個(gè)GIF文件中可以存多幅彩色圖像,如果把存于一個(gè)文件中的多幅圖像數(shù)據(jù)逐幅讀出并顯示到屏幕上,就可構(gòu)成一種最簡(jiǎn)單的動(dòng)畫(huà)。 (5) PCX(Windows Paintbrush)格式。它是最早使用的圖像文件格式之一。PCX格式支持256種顏色,不如TIFF等格式功能強(qiáng),但結(jié)構(gòu)比較簡(jiǎn)單,存取速度快,壓縮比適中,適用于一般軟件的使用??商幚?,4,8,16,24位等圖像數(shù)據(jù)。文件內(nèi)容包括:文件頭(128字節(jié)),圖像數(shù)據(jù)、擴(kuò)展顏色映射表數(shù)據(jù)。(6) HDF(Hierarchical Data Format)格式。有8位、24位光柵數(shù)據(jù)集。(7) PNG(Portable Network Graphics):包括1位、2位、4位、8位和16位灰度圖像,8位和16位索引圖像,24位和48位真彩色圖像。(8) RAS(Sun Raster image): 有1位bitmap、8位索引、24位真彩色和帶有透明度的32位真彩色。(9) CO(Windows Icon resource): 有1位、4位、8位非壓縮圖像11。第3章 MATLAB仿真軟件的簡(jiǎn)介3.1 MATLAB的歷史背景 在20世紀(jì)70年代中期,Cleve Moler博士和其同事在美國(guó)國(guó)家科學(xué)基金的資助下開(kāi)發(fā)了調(diào)用EISPACK和LINPACK的FORTRAN子程序庫(kù)。EISPACK是特征值求解的FORTRAN程序庫(kù),LINPACK是解線性方程的程序庫(kù)。在當(dāng)時(shí),這兩個(gè)程序庫(kù)代表矩陣運(yùn)算的最高水平。到20世紀(jì)70年代后期,身為美國(guó)New Mexico大學(xué)計(jì)算機(jī)系系主任的Cleve Moler,在給學(xué)生講授線性代數(shù)課程時(shí),想教學(xué)生使用EISPACK和LINPACK程序庫(kù),但他發(fā)現(xiàn)學(xué)生用FORTRAN編寫(xiě)接口程序很費(fèi)時(shí)間,于是他開(kāi)始自己動(dòng)手,利用業(yè)余時(shí)間為學(xué)生編寫(xiě)EISPACK和LINPACK的接口程序。Cleve Moler給這個(gè)接口程序取名為MATLAB,該名為矩陣(matrix)和實(shí)驗(yàn)室(laboratory)兩個(gè)英文單詞的前三個(gè)字母的組合。在以后的數(shù)年里,MATLAB在多所大學(xué)里作為教學(xué)輔助軟件使用,并作為面向大眾的免費(fèi)軟件廣為流傳。1983年春天,Cleve Moler到Stanford大學(xué)講學(xué),MATLAB深深地吸引了工程師John Little。John Little敏銳地覺(jué)察到MATLAB在工程領(lǐng)域的廣闊前景。同年,他和 Cleve Moler、Sieve Bangert一起,用C語(yǔ)言開(kāi)發(fā)了第二代專業(yè)版。這一代的MATLAB語(yǔ)言同時(shí)具備了數(shù)值計(jì)算和數(shù)據(jù)圖示化的功能。1984年,Cleve Moler和 John Lithe成立了MathWorks公司,正式把MATLAB推向市場(chǎng),并繼續(xù)進(jìn)行MATLAB的研究和開(kāi)發(fā)。在當(dāng)今30多個(gè)數(shù)學(xué)類科技應(yīng)用軟件中,就軟件數(shù)學(xué)處理的原始內(nèi)核而言,可分為兩大類。一類是數(shù)值計(jì)算型軟件,如 MATLAB、Xmath、Gauss等,這類軟件長(zhǎng)于數(shù)值計(jì)算,對(duì)處理大批數(shù)據(jù)效率高;另一類是數(shù)學(xué)分析型軟件,如Mathematica、Maple等,這類軟件以符號(hào)計(jì)算見(jiàn)長(zhǎng),能給出解析解和任意精度解,其缺點(diǎn)是處理大量數(shù)據(jù)時(shí)效率較低。MathWorks公司順應(yīng)多功能需求之潮流,在其卓越數(shù)值計(jì)算和圖示能力的基礎(chǔ)上,又率先在專業(yè)水平上開(kāi)拓了其符號(hào)計(jì)算、文字處理、可視化建模和實(shí)時(shí)控制能力,開(kāi)發(fā)了適合多學(xué)科、多部門(mén)要求的新一代科技應(yīng)用軟件MATLAB。經(jīng)過(guò)多年的國(guó)際競(jìng)爭(zhēng),MATLAB 已經(jīng)占據(jù)了數(shù)值型軟件市場(chǎng)的主導(dǎo)地位。在MATLAB進(jìn)入市場(chǎng)前,國(guó)際上的許多應(yīng)用軟件包都是直接以FORTRAN和C語(yǔ)言等編程語(yǔ)言開(kāi)發(fā)的。這種軟件的缺點(diǎn)是使用面窄、接口簡(jiǎn)陋、程序結(jié)構(gòu)不開(kāi)放以及沒(méi)有標(biāo)準(zhǔn)的基庫(kù),很難適應(yīng)各學(xué)科的最新發(fā)展,因而很難推廣。MATLAB的出現(xiàn),為各國(guó)科學(xué)家開(kāi)發(fā)學(xué)科軟件提供了新的基礎(chǔ)。在MATLAB問(wèn)世不久的20世紀(jì)80年代中期,原先控制領(lǐng)域里的一些軟件包紛紛被淘汰或在MATLAB上重建。時(shí)至今日,經(jīng)過(guò)Math Works公司的不斷完善,MATLAB已經(jīng)發(fā)展成為適合多學(xué)科、多種工作平臺(tái)的功能強(qiáng)勁的大型軟件。在國(guó)外,MATLAB已經(jīng)經(jīng)受了多年考驗(yàn)。在歐美等高校,MATLAB已經(jīng)成為線性代數(shù)、自動(dòng)控制理論、數(shù)理統(tǒng)計(jì)、數(shù)字信號(hào)處理、時(shí)間序列分析、動(dòng)態(tài)系統(tǒng)仿真等高級(jí)課程的基本教學(xué)工具;成為攻讀學(xué)位的大學(xué)生、碩士生、博士生必須掌握的基本技能。在設(shè)計(jì)研究單位和工業(yè)部門(mén),MATLAB被廣泛用于科學(xué)研究和解決各種具體問(wèn)題12。3.2 MATLAB簡(jiǎn)介MATLAB是由美國(guó)mathworks公司發(fā)布的主要面對(duì)科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語(yǔ)言(如C、Fortran)的編輯模式,代表了當(dāng)今國(guó)際科學(xué)計(jì)算軟件的先進(jìn)水平。MATLAB 是MATrix LABoratory(“矩陣實(shí)驗(yàn)室”)的縮寫(xiě),不僅具備完善的科學(xué)計(jì)算功能,而且能勝任眾多專業(yè)領(lǐng)域的仿真和設(shè)計(jì)任務(wù),甚至能自動(dòng)生成直接與硬件關(guān)聯(lián)的代碼,在圖像處理、系統(tǒng)仿真、數(shù)字信號(hào)處理、自動(dòng)控制等領(lǐng)域都有著廣泛的應(yīng)用。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué),工程中常用的形式十分相似,故用MATLAB來(lái)解算問(wèn)題要比用C,F(xiàn)ORTRAN等語(yǔ)言完相同的事情簡(jiǎn)捷得多。MATLAB包括擁有數(shù)百個(gè)內(nèi)部函數(shù)的主包和三十幾種工具包(Toolbox)。工具包又可以分為功能性工具包和學(xué)科工具包。功能工具包用來(lái)擴(kuò)充MATLAB的符號(hào)計(jì)算,可視化建模仿真,文字處理及實(shí)時(shí)控制等功能。學(xué)科工具包是專業(yè)性比較強(qiáng)的工具包,控制工具包,信號(hào)處理工具包,通信工具包等都屬于此類。MATLAB圖像處理工具箱包括:(1)圖像處理工具箱(Image Processing Toolbox) 它為工程師和科學(xué)家提供了一套完整的用于圖像處理和分析的函數(shù),總共超過(guò)了200個(gè)圖像處理函數(shù),用戶只需要花少量的時(shí)間在算法編程上,而可以把大量時(shí)間用于問(wèn)題的分析處理上。(2)圖像獲取工具箱(Image Acquisition Toolbox) 它擴(kuò)展了MATLAB的強(qiáng)大科學(xué)計(jì)算能力,允許直接在MATLAB環(huán)境下通過(guò)工業(yè)標(biāo)準(zhǔn)硬件設(shè)備獲取圖像和視頻信號(hào)。(3)地圖工具箱(Mapping Toolbox) 它與MATLAB組合起來(lái)提供了一個(gè)完整的分析和顯示地理信息的環(huán)境,利用該工具箱提供的函數(shù),工程師可以用來(lái)分析地理數(shù)據(jù),進(jìn)行地圖顯示,調(diào)用外部地圖數(shù)據(jù)源。 3.3 MATLAB的特點(diǎn)MATLAB軟件具有如下特點(diǎn):(1) 它的語(yǔ)言非常接近自然語(yǔ)言,因此,具有一定程序設(shè)計(jì)基礎(chǔ)的人學(xué)起來(lái)比較容易。運(yùn)算符豐富,具有結(jié)構(gòu)化的控制語(yǔ)句(如for循環(huán),while循環(huán),break語(yǔ)句和if語(yǔ)句),又有面向?qū)ο缶幊痰奶匦?。它的程序限制不?yán)格,程序設(shè)計(jì)自由度大,而且具有源程序的開(kāi)放性。(2) 該軟件提供了大量的內(nèi)部函數(shù),讓用戶在使用時(shí)非常方便,此外,日益龐大的Toolbox更是讓該軟件的應(yīng)用領(lǐng)域越來(lái)越廣泛。(3) 該軟件語(yǔ)言以向量矩陣為著眼點(diǎn),因此它比較適于進(jìn)行數(shù)值分析。(4) 它的繪圖功能強(qiáng)大,由于MATLAB在世界范圍內(nèi)特別是在工程計(jì)算領(lǐng)域的流行,越來(lái)越多的人開(kāi)始青睞并使用這套軟件。(5) MATLAB的缺點(diǎn)是,它和其他高級(jí)程序相比,程序的執(zhí)行速度較慢。由于MATLAB的程序不用編譯等預(yù)處理,也不生成可執(zhí)行文件,程序?yàn)榻忉寛?zhí)行,所以速度較慢13。3.4 MATLAB在數(shù)字圖像中的應(yīng)用圖像處理工具包是由一系列支持圖像處理操作的函數(shù)組成的。所支持的圖像處理操作有:圖像的幾何操作、鄰域和區(qū)域操作、圖像變換、圖像恢復(fù)與增強(qiáng)、線性濾波和濾波器設(shè)計(jì)、變換(DCT變換等) 、圖像分析和統(tǒng)計(jì)、二值圖像操作等。下面就MATLAB 在圖像處理中各方面的應(yīng)用分別進(jìn)行介紹。(1) 圖像文件格式的讀寫(xiě)和顯示。MATLAB 提供了圖像文件讀入函數(shù) imread(),用來(lái)讀取如:bmp、tif、tiffpcx 、jpg 、gpeg 、hdf、xwd等格式圖像文;圖像寫(xiě)出函數(shù) imwrite() ,還有圖像顯示函數(shù) image()、imshow()等等。(2) 圖像處理的基本運(yùn)算。MATLAB 提供了圖像的和、差等線性運(yùn)算 ,以及卷積、相關(guān)、濾波等非線性算。例如,conv2(I,J)實(shí)現(xiàn)了I,J兩幅圖像的卷積。(3) 圖像變換。MATLAB 提供了一維和二維離散傅立葉變換(DFT) 、快速傅立葉變換(FFT) 、離散余弦變換 (DCT) 及其反變換函數(shù),以及連續(xù)小波變換(CWT)、離散小波變換(DWT)及其反變換。(4) 圖像的分析和增強(qiáng)。針對(duì)圖像的統(tǒng)計(jì)計(jì)算MATLAB 提供了校正、直方圖均衡、中值濾波、對(duì)比度調(diào)整、自適應(yīng)濾波等對(duì)圖像進(jìn)行的處理。(5) 圖像的數(shù)學(xué)形態(tài)學(xué)處理。針對(duì)二值圖像,MATLAB 提供了數(shù)學(xué)形態(tài)學(xué)運(yùn)算函數(shù);腐蝕(Erode)、膨脹(Dilate)算子,以及在此基礎(chǔ)上的開(kāi) (Open)、閉(Close)算子、厚化 (Thicken) 、薄化 (Thin) 算子等豐富的數(shù)學(xué)形態(tài)學(xué)運(yùn)算。(6) 此外,還有一些重要的函數(shù)在MATLAB中的應(yīng)用: 使用imnoise添加噪聲。 使用imfinfo用于圖像文件信息查詢。 使用montage函數(shù)來(lái)顯示多幀圖像陣列。 使用immovie函數(shù)顯示多幀圖像陣列中創(chuàng)建MATLAB電影動(dòng)畫(huà)。 使用zoom函數(shù)來(lái)實(shí)現(xiàn)圖像上任一區(qū)域的縮放。 使用warp函數(shù)將圖像作為紋理進(jìn)行映射。 使用subimage函數(shù)在一個(gè)圖像窗口中顯示多幅圖像。以上所提到的 MATLAB在圖像中的應(yīng)用都是由相應(yīng)的MATLAB函數(shù)來(lái)實(shí)現(xiàn)的,使用時(shí),只需按照函數(shù)的調(diào)用語(yǔ)法正確輸入?yún)?shù)即可。具體的用法可參考MATLAB豐富的幫助文檔。圖像邊緣對(duì)圖像識(shí)別和計(jì)算機(jī)分析十分有用,在MATLAB中,函數(shù) edge()用于灰度圖像邊緣的提取,它支持六種不同的邊緣提取方法,即Sobel方法、Prewitt 方法、Robert 方法,Laplacian2Gaussian方法、過(guò)零點(diǎn)方法和Canny方法14。第4章 圖形用戶界面4.1 圖形用戶界面簡(jiǎn)介用戶界面是指:實(shí)現(xiàn)人與機(jī)器(或程序)之間交互作用的工具和方法。如鍵盤(pán)、鼠標(biāo)等都可成為與計(jì)算機(jī)交換信息的接口。圖形用戶界面GUI(全稱Graphical User Interfaces )則是由窗口、光標(biāo)、按鍵、菜單、文字說(shuō)明等對(duì)象構(gòu)成的一個(gè)用戶界面,用戶圖形界面(GUI)是程序的圖形化界面。GUI可以使用戶定制用與MATLAB的交互方式。把圖形界面加到MATLAB 的函數(shù)和M文件中。GUI可以在MATLAB 中生成非常有效的工具和應(yīng)用程序,或是建立演示工作的交互式界面。創(chuàng)建MATLAB 用戶圖形界面必須有三個(gè)基本元素:(1)組件:在matlab GUI 中的每一個(gè)項(xiàng)目如按鈕、標(biāo)簽、編輯框等都是一個(gè)圖形化組件。組件又可分為三類:圖形化控件(按鈕,編輯框,列表,滾動(dòng)條等)、靜態(tài)元素(窗口和文本字符串)、菜單和坐標(biāo)系。圖形化控件和靜態(tài)元素由函數(shù)uicontrol創(chuàng)建,菜單由函數(shù)uimenu和uicontextmenu創(chuàng)建,坐標(biāo)系經(jīng)常用于顯示圖形化數(shù)據(jù),由函數(shù)axes創(chuàng)建。(2)圖象窗口(Figure):GUI的每一個(gè)組件都必須安排在圖象窗口中,可以用函figure來(lái)創(chuàng)建空?qǐng)D象窗口,空?qǐng)D象窗口經(jīng)常用于放置各種類型的組件。(3)回應(yīng):當(dāng)用戶用鼠標(biāo)單擊或用鍵盤(pán)鍵入一些信息,那么程序就要有相應(yīng)的執(zhí)行動(dòng)作。鼠標(biāo)單擊或鍵入信息是一個(gè)事件,如果matlab程序運(yùn)行相應(yīng)的函數(shù),那么matlab函數(shù)肯定會(huì)有所反應(yīng)。例如,如果用戶單擊一按鈕,這個(gè)事件必然引起相應(yīng)的matlab語(yǔ)句執(zhí)行。這些相應(yīng)的語(yǔ)句被稱為回應(yīng),在執(zhí)行GUI的單個(gè)圖形組件時(shí),必須有一個(gè)回應(yīng)。4.2 MATLAB 常用圖像操作圖像的讀寫(xiě)與顯示操作:imread( )讀取圖像;imwrite( )輸出圖像;imshow( ), image( )把圖像顯示于屏幕;imcomplement() 對(duì)圖像取反;imcrop( )對(duì)圖像進(jìn)行裁剪;imresize( )函數(shù)實(shí)現(xiàn)對(duì)圖像的插值縮放;imrotate( )實(shí)現(xiàn)圖像轉(zhuǎn)用;imfeature功能:計(jì)算圖像區(qū)域的特征尺寸;imfinfo功能:返回圖形文件信息;imhist功能:顯示圖像數(shù)據(jù)的柱狀圖;immovie功能:創(chuàng)建多幀索引圖的電影動(dòng)畫(huà);impixel功能:確定像素顏色值;figure:強(qiáng)制生成一個(gè)新的繪圖窗口;medfilt2功能:進(jìn)行二維中值過(guò)濾;montage功能:在矩形框中同時(shí)顯示多幅圖像;nlfilter功能:進(jìn)行邊沿操作;pixval功能:顯示圖像像素信息;truesize功能:調(diào)整圖像顯示尺寸;zoom功能:縮放圖像;isbw功能:判斷是否為二進(jìn)制圖像;isgray功能:判斷是否為灰度圖像;isrgb功能:判讀是否為RGB真彩圖像;dither( )通過(guò)顏色抖動(dòng),把真彩圖像轉(zhuǎn)換成索引圖像或灰度圖象轉(zhuǎn)換成二值圖像gray2ind( ) 將灰度圖像(或二值圖像)轉(zhuǎn)換成索引圖像grayslice( ) 通過(guò)設(shè)定的閾值將灰度圖象轉(zhuǎn)換成索引圖像im2bw( ) 通過(guò)設(shè)定亮度閾值將灰度、真彩、索引圖象轉(zhuǎn)換成二值圖像ind2gray( ) 將索引圖象轉(zhuǎn)換成灰度圖象ind2rgb( ) 將索引圖象轉(zhuǎn)換成真彩色圖像mat2gray( ) 將一個(gè)數(shù)據(jù)矩陣轉(zhuǎn)換成一幅灰度圖象rgb2gray( ) 將真彩轉(zhuǎn)換成灰度圖象rgb2ind( ) 將真彩轉(zhuǎn)換成索引圖象4.3 GUI的創(chuàng)建打開(kāi)MATLAB,點(diǎn)擊File,然后New,再點(diǎn)擊GUI,彈出的對(duì)話框選擇Create New GUI即可創(chuàng)建一個(gè)用戶界面圖形。菜單:在每一個(gè)窗口系統(tǒng)中使用菜單讓用戶選擇命令和選項(xiàng)。通常在顯示屏或窗口的頂部有一菜單條。移動(dòng)鼠標(biāo)指針到菜單標(biāo)志上按下鼠標(biāo)按鍵,頂層菜單就被選中,以列菜單項(xiàng)就從菜單標(biāo)志拉下來(lái)。這種款式菜單就叫下拉式菜單。一個(gè)菜單項(xiàng)還可以有自己的菜單項(xiàng)列表作為子菜單。子菜單項(xiàng)在子菜單的右邊顯示小三角或箭頭以表示菜單還有更多的子菜單項(xiàng)可供選擇。子菜單可以嵌套,但層次的數(shù)目受到窗口系統(tǒng)及有用資源的限制。建立菜單和子菜單:我們采用函數(shù)uimenu建立菜單項(xiàng)Hm_1=uimenu(hx_parent,propertyName,propertyValue)其中Hm_1是由uimenu生成的菜單項(xiàng)的句柄。通過(guò)設(shè)定uimenu的屬性值就可以定義菜單特性。Uimenu對(duì)象中最重要的屬性是lable和callback。lable屬性值是菜單條和下拉菜單項(xiàng)上的文本字符串,以確認(rèn)菜單項(xiàng)。callback屬性值是MATLAB字符串??刂瓶颍合到y(tǒng)窗口設(shè)置控制框,讓用戶進(jìn)行某種操作或設(shè)置選項(xiàng)或?qū)傩浴?刂瓶蚴菆D形對(duì)像,如圖標(biāo)、文本框和滾動(dòng)條。它和菜單一起使用以建立用戶圖形界面稱之為窗口系統(tǒng)和計(jì)算機(jī)窗口管理器。MATLAB控制框又稱uicontrol,它是圖形對(duì)象,可以放置在MATLAB的圖形窗中的任何位置并用鼠標(biāo)激活,MATLAB的uicontrol包括按鈕、滑標(biāo)、文本框及彈出式菜單。Uicontrol是由函數(shù)uicontrol生成的,常用句法:Hc_1=uicontrol(Hf_fig,PropertyName,PropertyVaule)通過(guò)設(shè)定不同的屬性值定義uicontrol的屬性。建立不同的控制框:matlab共有八種不同的類型的或樣式的控制框,他們均由uicontrol建立,屬性style決定了所建立的控制框的類型。callback屬性值是當(dāng)控制框激活時(shí),傳給eval在命令窗口空間執(zhí)行的matlab的字符串。下面介紹八種uicontrol15:(1)按鍵鈕:又稱命令按鈕或按鈕,是小的長(zhǎng)方形屏幕對(duì)象,常常在對(duì)象本身標(biāo)有文本。將鼠標(biāo)指針移動(dòng)至對(duì)象,來(lái)選擇按鍵鈕uicontrol,單擊鼠標(biāo)按鈕,執(zhí)行由回調(diào)字符串所定義的動(dòng)作。按鍵鈕的style屬性值是pushbutton.按鍵鈕是典型的用于執(zhí)行一個(gè)動(dòng)作而不是改變狀態(tài)或設(shè)定屬性。(2)無(wú)線按鈕:又稱選擇按鈕或切換按鈕,他由一個(gè)標(biāo)志和標(biāo)志文本的左端一個(gè)小圓圈或小菱形形成。當(dāng)選擇時(shí),圓圈被填充,且value屬性值為1;若未被選擇時(shí),value的屬性值為0。無(wú)線按鈕的style屬性值為radiobutton。無(wú)線按鈕典型的用在一組互斥的選項(xiàng)中選擇一項(xiàng)。(3) 檢查框:又稱切換按鈕,它由具有標(biāo)志并在標(biāo)志的左邊的一個(gè)小方框組成。激活時(shí)uicontrol在檢查和清除狀態(tài)之間切換。在檢查狀態(tài)時(shí),根據(jù)平臺(tái)的不同,方框被填充,或在框內(nèi)含x,value的屬性值為1 ,若為清除狀態(tài),則方框?yàn)榭眨瑅alue的屬性值為0。檢查框的style屬性為checkbox。檢查框典型的用于表明選項(xiàng)的狀態(tài)或?qū)傩?。通常檢查框是獨(dú)立的對(duì)象,如需要檢查框可以與無(wú)線按鈕交換使用。(4) 靜態(tài)文本框:顯示一個(gè)文本字符串的uicontrol,該字符串是由string屬性值所確定的。靜態(tài)文本框的style屬性值為text。靜態(tài)文本框典型的用于顯示標(biāo)志、用戶信息及當(dāng)前值。靜態(tài)文本框之所以稱之為靜態(tài),是因?yàn)橛脩舨荒軇?dòng)態(tài)的修改所顯示的文本,文本只能通過(guò)改變string屬性來(lái)更改。(5)可編輯文本框:可編輯文本框允許用戶動(dòng)態(tài)的編輯或重新安排文本串。就像是使用文本編輯器或文字處理器一樣。在string屬性中有該屬性??删庉嬑谋究虻膗icontrol的style屬性值為edit。典型的用在讓用戶輸入文本串或特定值。(6)滑標(biāo):或稱滾動(dòng)條包括三個(gè)獨(dú)立的部分,分別是滾動(dòng)槽或長(zhǎng)方形區(qū)域,代表有效對(duì)象值范圍;滾動(dòng)槽內(nèi)的指示器,代表滑標(biāo)當(dāng)前值;以及在槽的兩端的箭頭?;瑯?biāo)的style的屬性值為slider?;瑯?biāo)典型的用于從幾個(gè)值域范圍內(nèi)選定一個(gè)。滑標(biāo)值有三種方式設(shè)定,方法一:鼠標(biāo)指針指向指示器,移動(dòng)指示器。拖動(dòng)鼠標(biāo)是,要按住鼠標(biāo)按鈕,當(dāng)指示器位于期望位置后,松開(kāi)鼠標(biāo)。方法二:當(dāng)指針處于槽中但在指示器的一側(cè)時(shí),單擊鼠標(biāo)按鈕,指示器按該側(cè)方向移動(dòng)距離約為整個(gè)值域范圍的10%;方法三:在滑標(biāo)無(wú)論哪端點(diǎn)擊鼠標(biāo)箭頭,指示器沿著箭頭的方向移動(dòng)大約為滑標(biāo)范圍的1%,滑標(biāo)通常與所用文本uicontrol對(duì)象一起顯示標(biāo)志,當(dāng)前滑標(biāo)值及值域范圍。(7)彈出式菜單:典型的用于向用戶提出互斥的一系列選項(xiàng)清單,讓用戶選擇。彈出式菜單不受菜單條的限制,可位于圖形窗口的任何位置,style屬性是popupmenu。當(dāng)關(guān)閉時(shí)彈出式菜單以矩形或按鈕的形式出現(xiàn),按鈕上含有當(dāng)前選擇的標(biāo)志,在標(biāo)識(shí)的右側(cè)有一個(gè)向下的箭頭或凸起的小方塊來(lái)表明uicontrol對(duì)象是一個(gè)彈出式菜單,當(dāng)指針處在彈出式uicontrol之上并按下鼠標(biāo)時(shí),出現(xiàn)其它選項(xiàng)。移動(dòng)指針到不同的選項(xiàng),松開(kāi)鼠標(biāo)就關(guān)閉彈出式菜單,顯示新的選項(xiàng)。(8)框架:框架uicontrol對(duì)象僅是帶色彩的矩形區(qū)域??蚣芴峁┝艘曈X(jué)的分隔性??蚣艿湫偷挠糜诮M成無(wú)線按鈕或其他uicontrol對(duì)象。在其他對(duì)象放入框架之前,框架應(yīng)事先定義。否則,框架可能覆蓋控制框使他們不可見(jiàn)。4.4 GUI的應(yīng)用編程和回調(diào)的考慮,在命令行通過(guò)輸入uimenu和uicontrol來(lái)建立效率不高,腳本或函數(shù)M文件使用更為簡(jiǎn)便,假定想實(shí)現(xiàn)一個(gè)M文件,首先確定是否要編寫(xiě)腳本或函數(shù)文件。4.4.1 腳本與函數(shù)腳本文件似乎成了當(dāng)然的選擇。在腳本中,所有的命令都在工作窗口執(zhí)行,因此隨時(shí)可以隨時(shí)使用所有的MATLAB函數(shù)和對(duì)象。將信息傳給回調(diào)函數(shù)沒(méi)有任何困難。在這里有幾點(diǎn)權(quán)衡,首先,當(dāng)所有的變量都可以利用時(shí),工作空間充斥了變量名和變量值,即使它們不再有用。其次,如果用戶使用clear命令,重要的對(duì)象句柄就可能丟失。另一個(gè)缺點(diǎn)是:用腳本文件定義回調(diào)字符串可能變得十分復(fù)雜。另一個(gè)問(wèn)題是,腳本文件比函數(shù)文件運(yùn)行的要慢,腳本文件在第一次運(yùn)行時(shí)要編譯。最后一點(diǎn),腳本文件沒(méi)有函數(shù)文件靈活。函數(shù)可以接受輸入?yún)⒘坎⒎祷刂?。因此,函?shù)可作為其他函數(shù)的參變量。獨(dú)立的回調(diào)函數(shù),建立GUI函數(shù)的一個(gè)有效地方法是編寫(xiě)?yīng)毩⒌幕卣{(diào)函數(shù),專門(mén)執(zhí)行一個(gè)或者多個(gè)回調(diào)。函數(shù)使用的對(duì)象句柄和其他的變量可以作為參量傳遞,必要時(shí)回調(diào)函數(shù)可返回值。4.4.2 遞歸函數(shù)調(diào)用利用單獨(dú)的M文件并遞歸調(diào)用該文件,既可以避免多個(gè)M文件的復(fù)雜性,又可以利用函數(shù)的優(yōu)點(diǎn)。使用switches或if elseif 語(yǔ)句,可將回到函數(shù)裝入調(diào)用函數(shù)內(nèi),通常這樣一種調(diào)用的結(jié)構(gòu)為function guifunc(switch)其中switch確定為執(zhí)行那個(gè)函數(shù)開(kāi)關(guān)的參量,它可以是字符串,startup,close,seccolor,也可以是代碼或數(shù)字。全局變量global,可用在函數(shù)中,使某些變量對(duì)GUI 函數(shù)的所有部分都可用,全局變量是在函數(shù)的公共區(qū)說(shuō)明,因此整個(gè)函數(shù)以及對(duì)函數(shù)的遞歸調(diào)用都可以利用全局變量。4.4.3 調(diào)試GUI M文件回調(diào)字符串在命令窗口工作空間中計(jì)算并執(zhí)行的。這個(gè)情況對(duì)編寫(xiě)和調(diào)用GUI函數(shù)和腳本文件有著隱含的意義,回調(diào)字符串可以很復(fù)雜,尤其是在腳本文件中,這為句法錯(cuò)誤提供了很多機(jī)會(huì),記錄單引號(hào)、逗號(hào)、括號(hào)是令人頭痛的事。如果出現(xiàn)了句法錯(cuò)誤,MATLAB給出提示;只要對(duì)象的callback屬性值是一個(gè)真正的文本串,MATLAB就認(rèn)可了,只有當(dāng)對(duì)象被激活并將回調(diào)字符串傳給eval時(shí),才檢查回調(diào)字符串內(nèi)部的句法錯(cuò)誤。這樣讓用戶定義回調(diào)字符串,它涉及未曾定義過(guò)的對(duì)象句柄和變量,這是編寫(xiě)互相參照的程序更容易。但是每個(gè)回調(diào)函數(shù)必須分別測(cè)試,保證回調(diào)字符串是合法的MATLAB命令,并且回調(diào)字符串涉及的所有變量可在命令窗口工作空間中是可利用的。將回調(diào)函數(shù)M文件一樣編程或像GUI函數(shù)本身內(nèi)的開(kāi)關(guān)一樣編程,就可以不運(yùn)行整個(gè)GUI函數(shù)而對(duì)各個(gè)回調(diào)進(jìn)行改變或測(cè)試。因此,回調(diào)字符串是在命令窗口工作空間中而不是在函數(shù)本身內(nèi)計(jì)算,在函數(shù)和各回調(diào)函數(shù)之間傳遞數(shù)據(jù)就變得十分復(fù)雜。第5章 基于MATLAB的圖像跟蹤算法5.1 100幀視頻圖像的讀取由于視頻是由100幀圖像通過(guò)連續(xù)播放從而達(dá)到視頻的效果的,所以要達(dá)到視頻放映的效果,應(yīng)首先對(duì)100幀圖像序列進(jìn)行順序讀取。100幀圖像存儲(chǔ)在MATLAB的默認(rèn)路徑中,文件名為00000xxx.bmp。要達(dá)到讀取它們的目的,需要使用循環(huán)算法。算法由一個(gè)名為read_seqim(i)的函數(shù)實(shí)現(xiàn),以下是函數(shù)的源程序:function I=read_seqim(i)if nargin=0 i=1;min=00000001;endname=num2str(i); if i<=9 min=strcat(0000000,name,.bmp); elseif i<=99 min=strcat(000000,name,.bmp); else min=strcat(00000,name,.bmp); endI=imread(min);其中i為讀取圖像的序號(hào),通過(guò)以上的函數(shù)可以很方便的實(shí)現(xiàn)對(duì)100幀圖像中任意一幀的讀取,從而為后面的處理提供方便。5.2 圖像的閾值處理(圖像分割)閾值(Threshold),也叫門(mén)限。閾值化(Thresholding),即按給定閾值進(jìn)行圖像的二值化處理。閾值分割法可分為以下幾種: (1)簡(jiǎn)單閾值分割法;(2)多閾值分割法;(3)最大類間方差法;(4)最佳閾值法。 許多情況,

注意事項(xiàng)

本文(基于MATLAB的圖像處理及跟蹤算法)為本站會(huì)員(jun****875)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!