九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

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

上傳人:jun****875 文檔編號:20004946 上傳時間:2021-01-24 格式:DOC 頁數(shù):54 大?。?55.91KB
收藏 版權(quán)申訴 舉報 下載
基于MATLAB的圖像處理及跟蹤算法_第1頁
第1頁 / 共54頁
基于MATLAB的圖像處理及跟蹤算法_第2頁
第2頁 / 共54頁
基于MATLAB的圖像處理及跟蹤算法_第3頁
第3頁 / 共54頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于MATLAB的圖像處理及跟蹤算法》由會員分享,可在線閱讀,更多相關(guān)《基于MATLAB的圖像處理及跟蹤算法(54頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、摘 要視頻圖像處理技術(shù)廣泛用于工業(yè)、安全、醫(yī)療、管理等領(lǐng)域。運動目標的檢測和跟蹤是圖像處理技術(shù)在視頻序列圖像處理方面的一個重要應(yīng)用,在航天、交通、機器人視覺、視頻監(jiān)控、公共場所客流數(shù)據(jù)監(jiān)測等場合發(fā)揮著重要作用。本文介紹了一種基于MATLAB的簡易的從視頻播放的幀圖像中找出目標圖像,并進行視頻跟蹤的實現(xiàn)方法。通過對圖像進行閾值處理(圖像分割),再對分割后的圖像求取形心,以對目標圖像進行定位,并最后找到各幅幀圖像的目標位置的方法,從而實現(xiàn)對100幀視頻圖像的實時跟蹤。關(guān)鍵詞:目標檢測;閾值處理;視頻序列目標跟蹤;形心估計ABSTRACTVideo image processing technolo

2、gy 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 traff

3、ic 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 centroi

4、d, 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 課題研究思路

5、3第2章數(shù)字圖像處理簡介42.1 圖像數(shù)字化過程42.2 數(shù)字圖像處理的基本內(nèi)容62.2.1 基本概念62.2.2 數(shù)字圖像處理的主要內(nèi)容62.3 數(shù)字圖像處理的特點和應(yīng)用82.3.1 數(shù)字圖像處理的特點82.3.2 數(shù)字圖像處理的應(yīng)用82.4 數(shù)字圖像類型92.5 主要圖像文件格式11第3章MATLAB仿真軟件的簡介133.1 MATLAB的歷史背景133.2 MATLAB簡介143.3 MATLAB的特點153.4 MATLAB在數(shù)字圖像中的應(yīng)用16第4章圖形用戶界面184.1 圖形用戶界面簡介184.2 MATLAB 常用圖像操作184.3 GUI的創(chuàng)建204.4 GUI的應(yīng)用224.4

6、.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è)置跟蹤波門29第6章總結(jié)與展望346.1 總結(jié)346.2 展望34參考文獻36致謝37附 錄38附錄一:圖像類型轉(zhuǎn)換模塊的實現(xiàn)38附錄二:圖像模塊中灰度的變換38外文資料原文42譯文45第1章 引言1.1 選題背景數(shù)字圖像處理起源于20世紀20年代。當(dāng)時,人們通過Bartlane海底電纜圖片傳輸系統(tǒng),從倫敦到

7、紐約傳輸了一幅經(jīng)過數(shù)字壓縮后的照片,從而把傳輸時間從一周多縮短到不足三個小時。為了傳輸圖片,該系統(tǒng)在傳輸端進行了圖像編碼,然后在接受端用特殊打印設(shè)備重構(gòu)了該圖片。盡管這一應(yīng)用包含了數(shù)字圖像處理的知識,但是并沒有使用計算機。而數(shù)字圖像處理需要很大的存儲空間和計算能力,其發(fā)展受到計算機中數(shù)據(jù)儲存、顯示和傳輸?shù)认嚓P(guān)技術(shù)發(fā)展的制約1。在20世紀50年代,當(dāng)時的電子計算機已經(jīng)發(fā)展到一定水平,人們開始利用計算機來處理圖形和圖形信息。在20世紀60年代初期數(shù)字圖像處理作為一門學(xué)科大約形成了。第一臺可執(zhí)行圖像處理任務(wù)的大型進算計出現(xiàn)。早期的圖像處理的目的是改善圖像的質(zhì)量,它以人為對象,已改善人的視覺效果為目的

8、。圖像處理中,輸入的是質(zhì)量低的圖像,輸出的是改善質(zhì)量后的圖像,常用的圖像處理方法有圖像增強、復(fù)原、編碼、壓縮等。首次獲得實際成功應(yīng)用的是美國噴氣推進實驗室(JPL)。他們對航天探測器徘徊者7號在1964年發(fā)回的幾千張月球照片使用了圖像處理技術(shù),如幾何校正、灰色變換、去除噪聲的方法進行處理,并考慮了太陽位置和月球環(huán)境的影響,由計算機成功地繪制出月球表面地圖,獲得了巨大的成功。隨后又對探測飛船發(fā)回的近十萬張照片進行更為復(fù)雜的圖像處理技術(shù)都發(fā)揮了巨大的作用。20世紀60年代末70年代初,數(shù)字圖像處理技術(shù)應(yīng)用于醫(yī)學(xué)圖像、地球遙感監(jiān)測和天文學(xué)等諸多領(lǐng)域。1972年英國EMI公司工程師Housfield發(fā)

9、明了用于頭顱診斷的X射線計算機斷層攝影裝置,也就是我們通常所說的CT(Computer Tomograph)。CT基本方法是根據(jù)人的頭部截面的投影,經(jīng)計算機處理來重建截面圖像,稱為圖像重建。1975年EMI公司又成功研制出全身用的CT裝置,獲得了人體各個部位鮮明清晰的斷層圖像。1979年,這項無損傷診斷技術(shù)獲得了諾貝爾獎,說明它對人類作出了劃時代的貢獻。1972年美國陸地資源衛(wèi)星(Landsat)將多譜圖像用于資源探測。同年,計算機層析儀(CT)問世,它將圖像重建技術(shù)用于醫(yī)學(xué)2。20世紀70年代中期開始,隨著計算機技術(shù)和人工智能、思維科學(xué)研究的迅速發(fā)展,數(shù)字圖像處理向更高、更深層次發(fā)展。人們已

10、開始研究如何使用計算機系統(tǒng)解釋圖像,實現(xiàn)類似人類視覺系統(tǒng)理解外部世界,這被稱為圖像理解或計算機視覺。很多國家,特別是發(fā)達國家投入更多的人力、物力到這項研究,取得了不少重要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的視覺計算理論,這個理論成為計算機視覺其后十多年的主導(dǎo)思想。圖像理解雖然在理論方法研究上已取得了不小的進展,但它本身是一個比較難的研究領(lǐng)域,存在不少困難,因人類本身對自己的視覺過程還了解甚少,因此計算機視覺是一個有待人們進一步探索新的領(lǐng)域。1.2 課題研究目的及意義最早的圖像處理時上世紀六七十年代,隨著電子技術(shù)和計算機技術(shù)的不斷提高和普及,數(shù)字圖像處理進入高速發(fā)展時期

11、。數(shù)字圖像處理就是利用數(shù)字計算機或者其他數(shù)字硬件,對圖像信息轉(zhuǎn)換而得的電信號進行某些數(shù)學(xué)運算,以提高圖像的實用性。例如從衛(wèi)星圖片中提取目標物的特征參數(shù),三維立體斷層圖像的重建等等。數(shù)字圖像處理技術(shù)處理精度比較高,而且還可以通過改進處理軟件來優(yōu)化處理效果??偟膩碚f,數(shù)字圖像處理包括點運算、幾何處理、圖像增強、圖像還原、圖像形態(tài)學(xué)處理、圖像編碼、圖像重建、模式識別等。由于計算機技術(shù)處理能力不斷增強,數(shù)字圖像處理學(xué)科在飛速發(fā)展的同時,也越來越廣泛地向其他許多學(xué)科快速交叉滲透,使得圖像作為信息獲取以及信息的利用等方面也變得越來越重要。目前數(shù)字圖像處理應(yīng)用越來越廣泛,已經(jīng)滲透到工業(yè)、醫(yī)療保健、航空航天、

12、軍事等各個領(lǐng)域,在國民經(jīng)濟中發(fā)揮越來越大的作用。MathWorks公司推出的MATLAB是學(xué)習(xí)數(shù)理知識的好幫手。應(yīng)用MATLAB友好的界面和豐富、實用、高效的指令及模塊,可以使人較快地認識、理解圖像處理的相關(guān)概念,逐步掌握圖像信號處理的基本方法,進而能夠解決相關(guān)的工程和科研中的問題。圖像是人類獲取和交換信息的主要來源,因此,圖像處理的應(yīng)用領(lǐng)域必然涉及到人類生活和工作的方方面面。隨著人類活動范圍的不斷擴大,圖像處理的應(yīng)用領(lǐng)域也將隨之不斷擴大,數(shù)字圖像處理對人類的作用將是不可限量3。1.3 課題研究思路本文首先通過對MATLAB軟件的了解及應(yīng)用,基于MATLAB的數(shù)字圖像處理環(huán)境和如何利用MATL

13、AB及其圖像處理工具箱進行數(shù)字圖像處理。主要論述了利用MATLAB實現(xiàn)對圖像讀取、閥值處理、距心的求取等圖像處理。第2章 數(shù)字圖像處理簡介 2.1 圖像數(shù)字化過程圖像的數(shù)字化過程就是在計算機內(nèi)生成一個二維矩陣的過程。數(shù)字化的目的是將一幅圖像以數(shù)字的形式進行表示,并且要做到既不失真又便于計算機進行處理。圖像的數(shù)字化要求是要達到以最小的數(shù)據(jù)量不失真地描述圖像信息。數(shù)字圖像(digital imagine)和傳統(tǒng)的圖像即模擬圖像(picture)是有差別的。圖像的數(shù)字化包括采樣和量化兩個過程。1.采樣采樣(sampling)就是把在時間上和空間上連續(xù)的圖像分割成離散點(采樣點,即像素)的集合的一種操

14、作。采樣是對圖像空間坐標的離散化,它決定了圖像的空間分辨率。采樣越細,越能精確地表現(xiàn)圖像。圖像基本上是在二維平面上連續(xù)分布的信息形式要把它輸入到計算機中,首先要把二維信號變成一維信號,因此要進行掃描(scanning)。最常用的掃描方法是在二維平面上按一定間隔順序地從上方順序地沿水平方向的直線(掃描線)掃描,從而取出濃淡值(灰度值)的線掃描(Laster掃描)。對于由此得到的一維信號,通過求出每一特定間隔的值,可以得到離散的信號。對于運動圖像除進行水平,垂直兩個方向的掃描以外,還有進行時間軸上的掃描。通過采樣,如設(shè)橫向的像素數(shù)為M,縱向的像素數(shù)為N,則畫面的大小可以表示為“M*N”個像素。一般

15、來說,圖像中細節(jié)越多,采樣的間隔應(yīng)當(dāng)越小。2.量化如果把這些連續(xù)變化的值(灰度值)量化為8bit,則灰度值被分成0-2552的256個級別,分別對應(yīng)于各個灰度值的濃淡程度,叫做灰度等級或灰度標度。經(jīng)過采樣,圖像被分解成在時間上和空間上離散分布的像素,但是像素的值(灰度值)還是連續(xù)值。像素的值,是指白色-灰色-黑色的濃淡值,有時候也指光的強度(亮度)值或灰度值。把這些連續(xù)的濃淡值或灰度值變?yōu)殡x散的值(整數(shù)值)的操作就是量化。在0-255的值對應(yīng)于白-黑的時候,有以0為白,255為黑的方法,也有以0為黑,255為白的方法,這取決于圖像的輸入方法以及用什么樣的觀點對圖像進行處理等,這是在編程時應(yīng)特別

16、注意的問題。但在只有黑白二值的二值圖像的情形,一般設(shè)0為白,1為黑4。量化的方法有:(1) 分層量化(Hierarchical quantization)(2) 均勻量化(Uniform quantization)(3) 非均勻量化(Non-uniform quantization)分層量化是把每一個離散樣本的連續(xù)灰度值分成有限多的層次。均勻量化是把源圖像灰度層次從最暗至最亮均勻分為有限層次,如果采用不均勻分層就是非均勻量化。對連續(xù)的灰度值賦予量化級的,即灰度值方法有:等間隔量化(Equal interval quantization)和非等間隔量化(Non equal interval qu

17、antization)。等間隔量化是簡單地把采樣值的灰度范圍等間隔地分割并進行量化。非均勻量化是依據(jù)一幅圖像具體的灰度值分布的概率密度函數(shù),按總的量化誤差的最小的原則來進行量化。實用中一般采用等間隔量化5。3. 采樣、量化和圖像細節(jié)的關(guān)系上面的數(shù)字化過程,需要確定數(shù)值N和灰度級的級數(shù)K。在數(shù)字圖像處理中,一般都取成2的整數(shù)冪,即: (2-1) (2-2) 一幅數(shù)字圖像在計算機中所占的二進制存儲位數(shù)b為: (2-3) 例如,灰度級為256級(m=8)的512512的一幅數(shù)字圖像,需要大約210萬個存儲位。隨著N和m的增加,計算機所需要的存儲量也隨之迅速增加。由于數(shù)字圖像是連續(xù)圖像的近似,從圖像數(shù)

18、字化的過程可以看到。這種近似的程度主要取決于采樣樣本的大小和數(shù)量(N值)以及量化的級數(shù)K(或m值)。N和K的值越大,圖像越清晰6。2.2 數(shù)字圖像處理的基本內(nèi)容2.2.1 基本概念數(shù)字圖像處理(Digital Image Processing)是通過計算機對圖像進行去除噪聲、增強、復(fù)原、分割、提取特征等處理的方法和技術(shù)。相對于以往的數(shù)字圖像處理方法,數(shù)字圖像處理是一次新的“工業(yè)革命”,它徹底改變了以往人們處理圖像時所采用的手段,成為圖像處理中一個嶄新的方向。數(shù)字圖像處理的產(chǎn)生和迅速發(fā)展主要受三個因素的影響:一是計算機的發(fā)展;二是數(shù)學(xué)的發(fā)展(特別是離散數(shù)學(xué)理論的創(chuàng)立和完善);三是廣泛的農(nóng)牧業(yè)、林

19、業(yè)、環(huán)境、軍事、工業(yè)和醫(yī)學(xué)等方面的應(yīng)用需求的增長7。2.2.2 數(shù)字圖像處理的主要內(nèi)容從系統(tǒng)整體研究的角度來看,數(shù)字圖像處理的研究內(nèi)容主要包括以下幾個方面:圖像的獲取、表示與表現(xiàn),圖像增強、圖像復(fù)原、圖像分割、圖像分析、圖像重建及圖像編碼壓縮等。其中,數(shù)字圖像處理包括:算術(shù)/邏輯操作和幾何運算、圖像增強、圖像分割、圖像形態(tài)學(xué)處理、模式識別、圖像復(fù)原、圖像壓縮等內(nèi)容。(1)算術(shù)/邏輯操作圖像中的算術(shù)/邏輯操作主要以像素對像素為基礎(chǔ)在兩幅或多幅圖像間進行(其中不包含邏輯非操作,它在單一影像中進行)。對圖像的邏輯操作同樣也是基于像素的?!芭c或非”這三種邏輯算子完全是函數(shù)化的。當(dāng)我們對灰度級圖像進行邏

20、輯操作時,像素值作為一個二進制的字符串來處理。在四種算術(shù)操作中,減法與加法在圖像處理中最有用。我們簡單的把兩幅圖像想除看成是用一副的取反圖像與另一幅圖像相乘。在四種代數(shù)運算操作中加法運算可用于降低圖像中加性隨機噪聲的污染;減法運算則可以檢測圖像中物體的運動變化;乘法運算可用于標記圖像中的感興趣區(qū)域;除法運算則經(jīng)常用于多光譜遙感圖像的分析處理,以擴大不同物體之間的差異。(2)幾何變換幾何運算用于改變圖像中像素與像素之間的空間位置關(guān)系,從而改變圖像的空間結(jié)構(gòu),達到處理圖像的目的。簡單而言,圖像幾何變換就是建立一種源圖像像素與變換后的圖像像素之間的映射關(guān)系。主要包括圖像的平移、縮放、旋轉(zhuǎn)、鏡像和轉(zhuǎn)置

21、變換等。 (3)圖像增強圖像增強是圖像處理最關(guān)鍵的研究問題之一,圖像增強按作用域可分為兩類,即空域處理和頻域處理??沼蛱幚硎侵苯訉D像進行處理,而頻域處理則是在圖像的某個變化域內(nèi),對圖像的變換系數(shù)進行運算,然后通過逆變換獲得圖像增強效果。圖像增強可以突出圖像中的某些“有用”信息,擴大圖像中不同物體特征之間的差別,改善圖像的視覺效果。圖像增強的算法包括直方圖增強,空域濾波增強,頻域濾波增強和彩色增強等。(4)圖像分割圖像分割將圖像細分為構(gòu)成它的子區(qū)域或?qū)ο?。圖像分割算法一般基于亮度值的兩個基本特性之一:不連續(xù)性和相似性。第一類方法基于亮度的不連續(xù)變化分割圖像,比如圖像的邊緣。第二類方法依據(jù)事先制

22、定的準則將圖像分割為相似的區(qū)域。圖像分割包括間斷檢測,邊緣檢測,門限處理等。(5)圖像形態(tài)學(xué)處理圖像形態(tài)學(xué)由一組形態(tài)學(xué)代數(shù)算子組成,最基本的形態(tài)學(xué)代數(shù)算子包括腐蝕、膨脹、開運算、閉運算等,通過組合應(yīng)用這些算子,可以實現(xiàn)對圖像形狀、結(jié)構(gòu)的分析和處理。數(shù)學(xué)形態(tài)學(xué)可以完成圖像分割、特征提取、邊界檢測、圖像濾波、圖像增強和恢復(fù)等工作。(6)模式識別模式識別總是從大量信息和數(shù)據(jù)出發(fā),在一定的經(jīng)驗和認識基礎(chǔ)上,利用計算機和數(shù)學(xué)的推理的方法對信息進行自動識別。模式識別系統(tǒng)一般包括4個部分,即數(shù)據(jù)獲取、預(yù)處理、特征提取和決策分類。(7)圖像復(fù)原(恢復(fù))由于設(shè)備造成的掃描線漏失、錯位等各種原因不可避免造成圖像質(zhì)

23、量的下降(退化)。圖像的復(fù)原就是根據(jù)事先建立起來的系統(tǒng)退化模型,將降質(zhì)了的圖像重建成接近于或完全無退化的原始理想圖像的過程。(8)圖像壓縮數(shù)字圖像的數(shù)據(jù)量是很巨大的,然而數(shù)字圖像實際上又具有很大的壓縮潛力。圖像壓縮所解決的問題是盡量減少表示數(shù)字圖像時所需的數(shù)據(jù)量。減少數(shù)據(jù)量的基本原理是出去其中的冗余數(shù)據(jù)。這種變換在圖像存儲或傳輸之前進行。在以后的某個時候,再對壓縮圖像進行解壓縮,以重構(gòu)原圖像或原圖像的近似圖像8。2.3 數(shù)字圖像處理的特點和應(yīng)用2.3.1 數(shù)字圖像處理的特點(1) 數(shù)字圖像處理的信息大多是二維信息,處理信息量很大。因此對計算機的計算速度、存儲容量等要求較高。(2) 數(shù)字圖像處理

24、占用的頻帶較寬。與語言信息相比,占用的頻帶要打幾個數(shù)量級。(3) 數(shù)字圖像中各個像素是不獨立的,其相關(guān)性大。在圖像畫面上,經(jīng)常有很多像素有相同或接近的灰度。(4) 由于圖像是三維景物的二維投影,一幅圖像本身不具備復(fù)現(xiàn)三維景物的全部幾何信息的能力,很顯然三維景物背后部分信息在二維圖像畫面上是反應(yīng)不出來的。因此,要分析和理解三維景物必須做合適的假定或附加新的測量。(5) 數(shù)字圖像處理后的圖像一般是給人觀察和評價的,因此受人的因素影響較大。2.3.2 數(shù)字圖像處理的應(yīng)用計算機圖像處理和計算機、多媒體、智能機器人、專家系統(tǒng)等技術(shù)的發(fā)展緊密相關(guān)。近年來計算機識別、理解圖像的技術(shù)發(fā)展很快,也就是圖像處理的

25、目的除了直接供人觀看(如醫(yī)學(xué)圖像是為醫(yī)生觀看作診斷)外,還進一步發(fā)展了與計算機視覺有關(guān)的應(yīng)用,如郵件自動分檢,車輛自動駕駛等。下面僅羅列了一些典型應(yīng)用實例,而實際應(yīng)用更廣。(1)在生物醫(yī)學(xué)中的應(yīng)用主要包括顯微圖像處理;DNA顯示分析;紅、白血球分析計數(shù);蟲卵及組織切片的分析;癌細胞的識別;染色體分析等等。(2)遙感航天中的應(yīng)用軍事偵察、定位、導(dǎo)航、指揮等應(yīng)用;多光譜衛(wèi)星圖像分析;地形、地圖、國土普查;地質(zhì)、礦藏勘探;天文、太空星體的探測及分析等。(3)工業(yè)應(yīng)用CAD 和CAM技術(shù)用于模具、零件制造、服裝、印染業(yè);零件、產(chǎn)品無損檢測,焊縫及內(nèi)部缺陷檢查;交通管制、機場監(jiān)控;火車車皮識別等。(4)

26、軍事公安領(lǐng)域中的應(yīng)用巡航導(dǎo)彈地形識別;指紋自動識別;警戒系統(tǒng)及自動火炮控制;反偽裝偵察;手跡、人像、印章的鑒定識別;過期檔案文字的復(fù)原;集裝箱的不開箱檢查等。(5)遙感上的應(yīng)用在遙感的發(fā)展中,可以看到大量與圖像處理密切相關(guān)的技術(shù)。如在20世紀70年代美國發(fā)射的第一顆陸地衛(wèi)星就是通過對獲取的遙感圖片進行處理后達到上述目的的。隨后美國發(fā)射了海洋衛(wèi)星、氣象衛(wèi)星和軍用衛(wèi)星,從而獲取了大量遙感資料。此圖像處理廣泛應(yīng)用于土地測繪、資源調(diào)查、氣象監(jiān)測、環(huán)境污染監(jiān)測、森林防護等。(6)其他應(yīng)用圖像的遠距離通信;多媒體計算機系統(tǒng)及應(yīng)用;電視電話;服裝試穿顯示;理發(fā)發(fā)型預(yù)測顯示;電視會議;辦公自動化、現(xiàn)場視頻管理

27、等9。2.4 數(shù)字圖像類型MATLAB中,一幅圖像可能包含一個數(shù)據(jù)矩陣,也可能包含一個顏色映射表矩陣。MATLAB中有四種基本的圖像類型:(1)二值圖像(二進制圖像)二值圖像也叫黑白圖像,就是圖像像素只存在0、1兩個值。一個二值圖像是純黑白的。每一個像素值將取0或者1中的一個值,通常0表示黑,1表示白。二值圖像可以保存為雙精度或uint8類型的雙精度數(shù)組,顯然使用uint8類型更節(jié)省空間。在圖像處理工具箱中,任何一個返回二進制圖像的函數(shù)都是以uint8類型邏輯數(shù)組來返回的。(2)灰度圖像在MATLAB中,灰度圖像是保存在一個矩陣中的,矩陣中的每一個元素代表一個像素點。矩陣可以是雙精度類型,其值

28、域為0,1;也可以為uint8類型,其數(shù)據(jù)范圍為0,255。矩陣的每個元素代表不同的亮度或灰度級。彩色圖像轉(zhuǎn)化為灰度圖像公式: (2-4)(3)索引圖像索引圖像包括圖像矩陣與顏色圖數(shù)組,其中,顏色圖是按圖像中顏色值進行排序后的數(shù)組。對于每個像素,圖像矩陣包含一個值,這個值就是顏色圖中的索引。顏色圖為m*3雙精度值矩陣,各行分別指定紅綠藍(RGB)單色值。Colormap=R,G, B,R,G,B為值域為0,1的實數(shù)值。圖像矩陣與顏色圖的關(guān)系依賴于圖像矩陣是雙精度型還是uint8(無符號8位整型)類型。如果圖像矩陣為雙精度類型,第一點的值對應(yīng)于顏色圖的第一行,第二點對應(yīng)于顏色圖的第二行,依次類推

29、。如果圖像矩陣是uint8,有一個偏移量,第0點值對應(yīng)于顏色圖的第一行,第一點對應(yīng)于第二行,依次類推;uint8長用于圖形文件格式,它支持256色。(4)RGB圖像與索引圖像一樣,RGB圖像分別用紅,綠,藍三個亮度值為一組,代表每個像素的顏色。與索引圖像不同的是,這些亮度值直接存在圖像數(shù)組中,而不是存放在顏色圖中。圖像數(shù)組為M*N*3,M,N表示圖像像素的行列數(shù)10。2.5 主要圖像文件格式(1) JPEG(Joint Photographic Experts Group)格式,是一種成為聯(lián)合圖像專家組的圖像壓縮格式。文件后綴名為“.jpeg”或“.jpg”,是最常用的圖像文件格式。JPEG是

30、一種有損壓縮格式,能夠?qū)D像壓縮在很小的存儲空間內(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è)備無關(guān)的圖像文件格式,使用非常廣。有1,4,8,24位非壓縮圖像,8位RLE(Run-length Encoded )圖像。文件內(nèi)容包括:文件頭(一個BIT

31、MAP FILEHEADER數(shù)據(jù)結(jié)構(gòu)),位圖信息數(shù)據(jù)塊(位圖信息頭BITMAP INFOHEADER和一個顏色表)和圖像數(shù)據(jù)。(4) GIF(Graphics Interchange Format)格式。原義是“圖像互換格式”,是CompuServe公司在 1987年開發(fā)的圖像文件格式。GIF文件的數(shù)據(jù),是一種基于LZW算法的連續(xù)色調(diào)的無損壓縮格式。其壓縮率一般在50%左右,它不屬于任何應(yīng)用程序。目前幾乎所有相關(guān)軟件都支持它,公共領(lǐng)域有大量的軟件在使用GIF圖像文件。GIF圖像文件的數(shù)據(jù)是經(jīng)過壓縮的,而且是采用了可變長度等壓縮算法。GIF格式的另一個特點是其在一個GIF文件中可以存多幅彩色圖像

32、,如果把存于一個文件中的多幅圖像數(shù)據(jù)逐幅讀出并顯示到屏幕上,就可構(gòu)成一種最簡單的動畫。 (5) PCX(Windows Paintbrush)格式。它是最早使用的圖像文件格式之一。PCX格式支持256種顏色,不如TIFF等格式功能強,但結(jié)構(gòu)比較簡單,存取速度快,壓縮比適中,適用于一般軟件的使用。可處理1,4,8,16,24位等圖像數(shù)據(jù)。文件內(nèi)容包括:文件頭(128字節(jié)),圖像數(shù)據(jù)、擴展顏色映射表數(shù)據(jù)。(6) HDF(Hierarchical Data Format)格式。有8位、24位光柵數(shù)據(jù)集。(7) PNG(Portable Network Graphics):包括1位、2位、4位、8位和

33、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仿真軟件的簡介3.1 MATLAB的歷史背景 在20世紀70年代中期,Cleve Moler博士和其同事在美國國家科學(xué)基金的資助下開發(fā)了調(diào)用EISPACK和LINPACK的FORTRAN子程序庫。EISPACK是特征值求解的FORTRAN程序庫,LINPACK是解線性方程的程序庫。在當(dāng)時,這兩個

34、程序庫代表矩陣運算的最高水平。到20世紀70年代后期,身為美國New Mexico大學(xué)計算機系系主任的Cleve Moler,在給學(xué)生講授線性代數(shù)課程時,想教學(xué)生使用EISPACK和LINPACK程序庫,但他發(fā)現(xiàn)學(xué)生用FORTRAN編寫接口程序很費時間,于是他開始自己動手,利用業(yè)余時間為學(xué)生編寫EISPACK和LINPACK的接口程序。Cleve Moler給這個接口程序取名為MATLAB,該名為矩陣(matrix)和實驗室(laboratory)兩個英文單詞的前三個字母的組合。在以后的數(shù)年里,MATLAB在多所大學(xué)里作為教學(xué)輔助軟件使用,并作為面向大眾的免費軟件廣為流傳。1983年春天,Cl

35、eve Moler到Stanford大學(xué)講學(xué),MATLAB深深地吸引了工程師John Little。John Little敏銳地覺察到MATLAB在工程領(lǐng)域的廣闊前景。同年,他和 Cleve Moler、Sieve Bangert一起,用C語言開發(fā)了第二代專業(yè)版。這一代的MATLAB語言同時具備了數(shù)值計算和數(shù)據(jù)圖示化的功能。1984年,Cleve Moler和 John Lithe成立了MathWorks公司,正式把MATLAB推向市場,并繼續(xù)進行MATLAB的研究和開發(fā)。在當(dāng)今30多個數(shù)學(xué)類科技應(yīng)用軟件中,就軟件數(shù)學(xué)處理的原始內(nèi)核而言,可分為兩大類。一類是數(shù)值計算型軟件,如 MATLAB、X

36、math、Gauss等,這類軟件長于數(shù)值計算,對處理大批數(shù)據(jù)效率高;另一類是數(shù)學(xué)分析型軟件,如Mathematica、Maple等,這類軟件以符號計算見長,能給出解析解和任意精度解,其缺點是處理大量數(shù)據(jù)時效率較低。MathWorks公司順應(yīng)多功能需求之潮流,在其卓越數(shù)值計算和圖示能力的基礎(chǔ)上,又率先在專業(yè)水平上開拓了其符號計算、文字處理、可視化建模和實時控制能力,開發(fā)了適合多學(xué)科、多部門要求的新一代科技應(yīng)用軟件MATLAB。經(jīng)過多年的國際競爭,MATLAB 已經(jīng)占據(jù)了數(shù)值型軟件市場的主導(dǎo)地位。在MATLAB進入市場前,國際上的許多應(yīng)用軟件包都是直接以FORTRAN和C語言等編程語言開發(fā)的。這種

37、軟件的缺點是使用面窄、接口簡陋、程序結(jié)構(gòu)不開放以及沒有標準的基庫,很難適應(yīng)各學(xué)科的最新發(fā)展,因而很難推廣。MATLAB的出現(xiàn),為各國科學(xué)家開發(fā)學(xué)科軟件提供了新的基礎(chǔ)。在MATLAB問世不久的20世紀80年代中期,原先控制領(lǐng)域里的一些軟件包紛紛被淘汰或在MATLAB上重建。時至今日,經(jīng)過Math Works公司的不斷完善,MATLAB已經(jīng)發(fā)展成為適合多學(xué)科、多種工作平臺的功能強勁的大型軟件。在國外,MATLAB已經(jīng)經(jīng)受了多年考驗。在歐美等高校,MATLAB已經(jīng)成為線性代數(shù)、自動控制理論、數(shù)理統(tǒng)計、數(shù)字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真等高級課程的基本教學(xué)工具;成為攻讀學(xué)位的大學(xué)生、碩士生、博士

38、生必須掌握的基本技能。在設(shè)計研究單位和工業(yè)部門,MATLAB被廣泛用于科學(xué)研究和解決各種具體問題12。3.2 MATLAB簡介MATLAB是由美國mathworks公司發(fā)布的主要面對科學(xué)計算、可視化以及交互式程序設(shè)計的高科技計算環(huán)境。它將數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計以及必須進行有效數(shù)值計算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計語言(如C、Fortran)的編輯模式,代表了當(dāng)今國際科學(xué)計算軟件的先進水平。MATLAB 是MATrix LABoratory

39、(“矩陣實驗室”)的縮寫,不僅具備完善的科學(xué)計算功能,而且能勝任眾多專業(yè)領(lǐng)域的仿真和設(shè)計任務(wù),甚至能自動生成直接與硬件關(guān)聯(lián)的代碼,在圖像處理、系統(tǒng)仿真、數(shù)字信號處理、自動控制等領(lǐng)域都有著廣泛的應(yīng)用。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達式與數(shù)學(xué),工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完相同的事情簡捷得多。MATLAB包括擁有數(shù)百個內(nèi)部函數(shù)的主包和三十幾種工具包(Toolbox)。工具包又可以分為功能性工具包和學(xué)科工具包。功能工具包用來擴充MATLAB的符號計算,可視化建模仿真,文字處理及實時控制等功能。學(xué)科工具包是專業(yè)性比較強的工具包,控制工

40、具包,信號處理工具包,通信工具包等都屬于此類。MATLAB圖像處理工具箱包括:(1)圖像處理工具箱(Image Processing Toolbox) 它為工程師和科學(xué)家提供了一套完整的用于圖像處理和分析的函數(shù),總共超過了200個圖像處理函數(shù),用戶只需要花少量的時間在算法編程上,而可以把大量時間用于問題的分析處理上。(2)圖像獲取工具箱(Image Acquisition Toolbox) 它擴展了MATLAB的強大科學(xué)計算能力,允許直接在MATLAB環(huán)境下通過工業(yè)標準硬件設(shè)備獲取圖像和視頻信號。(3)地圖工具箱(Mapping Toolbox) 它與MATLAB組合起來提供了一個完整的分析和

41、顯示地理信息的環(huán)境,利用該工具箱提供的函數(shù),工程師可以用來分析地理數(shù)據(jù),進行地圖顯示,調(diào)用外部地圖數(shù)據(jù)源。 3.3 MATLAB的特點MATLAB軟件具有如下特點:(1) 它的語言非常接近自然語言,因此,具有一定程序設(shè)計基礎(chǔ)的人學(xué)起來比較容易。運算符豐富,具有結(jié)構(gòu)化的控制語句(如for循環(huán),while循環(huán),break語句和if語句),又有面向?qū)ο缶幊痰奶匦?。它的程序限制不嚴格,程序設(shè)計自由度大,而且具有源程序的開放性。(2) 該軟件提供了大量的內(nèi)部函數(shù),讓用戶在使用時非常方便,此外,日益龐大的Toolbox更是讓該軟件的應(yīng)用領(lǐng)域越來越廣泛。(3) 該軟件語言以向量矩陣為著眼點,因此它比較適于進

42、行數(shù)值分析。(4) 它的繪圖功能強大,由于MATLAB在世界范圍內(nèi)特別是在工程計算領(lǐng)域的流行,越來越多的人開始青睞并使用這套軟件。(5) MATLAB的缺點是,它和其他高級程序相比,程序的執(zhí)行速度較慢。由于MATLAB的程序不用編譯等預(yù)處理,也不生成可執(zhí)行文件,程序為解釋執(zhí)行,所以速度較慢13。3.4 MATLAB在數(shù)字圖像中的應(yīng)用圖像處理工具包是由一系列支持圖像處理操作的函數(shù)組成的。所支持的圖像處理操作有:圖像的幾何操作、鄰域和區(qū)域操作、圖像變換、圖像恢復(fù)與增強、線性濾波和濾波器設(shè)計、變換(DCT變換等) 、圖像分析和統(tǒng)計、二值圖像操作等。下面就MATLAB 在圖像處理中各方面的應(yīng)用分別進行

43、介紹。(1) 圖像文件格式的讀寫和顯示。MATLAB 提供了圖像文件讀入函數(shù) imread(),用來讀取如:bmp、tif、tiffpcx 、jpg 、gpeg 、hdf、xwd等格式圖像文;圖像寫出函數(shù) imwrite() ,還有圖像顯示函數(shù) image()、imshow()等等。(2) 圖像處理的基本運算。MATLAB 提供了圖像的和、差等線性運算 ,以及卷積、相關(guān)、濾波等非線性算。例如,conv2(I,J)實現(xiàn)了I,J兩幅圖像的卷積。(3) 圖像變換。MATLAB 提供了一維和二維離散傅立葉變換(DFT) 、快速傅立葉變換(FFT) 、離散余弦變換 (DCT) 及其反變換函數(shù),以及連續(xù)小

44、波變換(CWT)、離散小波變換(DWT)及其反變換。(4) 圖像的分析和增強。針對圖像的統(tǒng)計計算MATLAB 提供了校正、直方圖均衡、中值濾波、對比度調(diào)整、自適應(yīng)濾波等對圖像進行的處理。(5) 圖像的數(shù)學(xué)形態(tài)學(xué)處理。針對二值圖像,MATLAB 提供了數(shù)學(xué)形態(tài)學(xué)運算函數(shù);腐蝕(Erode)、膨脹(Dilate)算子,以及在此基礎(chǔ)上的開 (Open)、閉(Close)算子、厚化 (Thicken) 、薄化 (Thin) 算子等豐富的數(shù)學(xué)形態(tài)學(xué)運算。(6) 此外,還有一些重要的函數(shù)在MATLAB中的應(yīng)用: 使用imnoise添加噪聲。 使用imfinfo用于圖像文件信息查詢。 使用montage函數(shù)

45、來顯示多幀圖像陣列。 使用immovie函數(shù)顯示多幀圖像陣列中創(chuàng)建MATLAB電影動畫。 使用zoom函數(shù)來實現(xiàn)圖像上任一區(qū)域的縮放。 使用warp函數(shù)將圖像作為紋理進行映射。 使用subimage函數(shù)在一個圖像窗口中顯示多幅圖像。以上所提到的 MATLAB在圖像中的應(yīng)用都是由相應(yīng)的MATLAB函數(shù)來實現(xiàn)的,使用時,只需按照函數(shù)的調(diào)用語法正確輸入?yún)?shù)即可。具體的用法可參考MATLAB豐富的幫助文檔。圖像邊緣對圖像識別和計算機分析十分有用,在MATLAB中,函數(shù) edge()用于灰度圖像邊緣的提取,它支持六種不同的邊緣提取方法,即Sobel方法、Prewitt 方法、Robert 方法,Lapl

46、acian2Gaussian方法、過零點方法和Canny方法14。第4章 圖形用戶界面4.1 圖形用戶界面簡介用戶界面是指:實現(xiàn)人與機器(或程序)之間交互作用的工具和方法。如鍵盤、鼠標等都可成為與計算機交換信息的接口。圖形用戶界面GUI(全稱Graphical User Interfaces )則是由窗口、光標、按鍵、菜單、文字說明等對象構(gòu)成的一個用戶界面,用戶圖形界面(GUI)是程序的圖形化界面。GUI可以使用戶定制用與MATLAB的交互方式。把圖形界面加到MATLAB 的函數(shù)和M文件中。GUI可以在MATLAB 中生成非常有效的工具和應(yīng)用程序,或是建立演示工作的交互式界面。創(chuàng)建MATLAB

47、 用戶圖形界面必須有三個基本元素:(1)組件:在matlab GUI 中的每一個項目如按鈕、標簽、編輯框等都是一個圖形化組件。組件又可分為三類:圖形化控件(按鈕,編輯框,列表,滾動條等)、靜態(tài)元素(窗口和文本字符串)、菜單和坐標系。圖形化控件和靜態(tài)元素由函數(shù)uicontrol創(chuàng)建,菜單由函數(shù)uimenu和uicontextmenu創(chuàng)建,坐標系經(jīng)常用于顯示圖形化數(shù)據(jù),由函數(shù)axes創(chuàng)建。(2)圖象窗口(Figure):GUI的每一個組件都必須安排在圖象窗口中,可以用函figure來創(chuàng)建空圖象窗口,空圖象窗口經(jīng)常用于放置各種類型的組件。(3)回應(yīng):當(dāng)用戶用鼠標單擊或用鍵盤鍵入一些信息,那么程序就要

48、有相應(yīng)的執(zhí)行動作。鼠標單擊或鍵入信息是一個事件,如果matlab程序運行相應(yīng)的函數(shù),那么matlab函數(shù)肯定會有所反應(yīng)。例如,如果用戶單擊一按鈕,這個事件必然引起相應(yīng)的matlab語句執(zhí)行。這些相應(yīng)的語句被稱為回應(yīng),在執(zhí)行GUI的單個圖形組件時,必須有一個回應(yīng)。4.2 MATLAB 常用圖像操作圖像的讀寫與顯示操作:imread( )讀取圖像;imwrite( )輸出圖像;imshow( ), image( )把圖像顯示于屏幕;imcomplement() 對圖像取反;imcrop( )對圖像進行裁剪;imresize( )函數(shù)實現(xiàn)對圖像的插值縮放;imrotate( )實現(xiàn)圖像轉(zhuǎn)用;imfe

49、ature功能:計算圖像區(qū)域的特征尺寸;imfinfo功能:返回圖形文件信息;imhist功能:顯示圖像數(shù)據(jù)的柱狀圖;immovie功能:創(chuàng)建多幀索引圖的電影動畫;impixel功能:確定像素顏色值;figure:強制生成一個新的繪圖窗口;medfilt2功能:進行二維中值過濾;montage功能:在矩形框中同時顯示多幅圖像;nlfilter功能:進行邊沿操作;pixval功能:顯示圖像像素信息;truesize功能:調(diào)整圖像顯示尺寸;zoom功能:縮放圖像;isbw功能:判斷是否為二進制圖像;isgray功能:判斷是否為灰度圖像;isrgb功能:判讀是否為RGB真彩圖像;dither( )通

50、過顏色抖動,把真彩圖像轉(zhuǎn)換成索引圖像或灰度圖象轉(zhuǎn)換成二值圖像gray2ind( ) 將灰度圖像(或二值圖像)轉(zhuǎn)換成索引圖像grayslice( ) 通過設(shè)定的閾值將灰度圖象轉(zhuǎn)換成索引圖像im2bw( ) 通過設(shè)定亮度閾值將灰度、真彩、索引圖象轉(zhuǎn)換成二值圖像ind2gray( ) 將索引圖象轉(zhuǎn)換成灰度圖象ind2rgb( ) 將索引圖象轉(zhuǎn)換成真彩色圖像mat2gray( ) 將一個數(shù)據(jù)矩陣轉(zhuǎn)換成一幅灰度圖象rgb2gray( ) 將真彩轉(zhuǎn)換成灰度圖象rgb2ind( ) 將真彩轉(zhuǎn)換成索引圖象4.3 GUI的創(chuàng)建打開MATLAB,點擊File,然后New,再點擊GUI,彈出的對話框選擇Create

51、 New GUI即可創(chuàng)建一個用戶界面圖形。菜單:在每一個窗口系統(tǒng)中使用菜單讓用戶選擇命令和選項。通常在顯示屏或窗口的頂部有一菜單條。移動鼠標指針到菜單標志上按下鼠標按鍵,頂層菜單就被選中,以列菜單項就從菜單標志拉下來。這種款式菜單就叫下拉式菜單。一個菜單項還可以有自己的菜單項列表作為子菜單。子菜單項在子菜單的右邊顯示小三角或箭頭以表示菜單還有更多的子菜單項可供選擇。子菜單可以嵌套,但層次的數(shù)目受到窗口系統(tǒng)及有用資源的限制。建立菜單和子菜單:我們采用函數(shù)uimenu建立菜單項Hm_1=uimenu(hx_parent,propertyName,propertyValue)其中Hm_1是由uime

52、nu生成的菜單項的句柄。通過設(shè)定uimenu的屬性值就可以定義菜單特性。Uimenu對象中最重要的屬性是lable和callback。lable屬性值是菜單條和下拉菜單項上的文本字符串,以確認菜單項。callback屬性值是MATLAB字符串。控制框:系統(tǒng)窗口設(shè)置控制框,讓用戶進行某種操作或設(shè)置選項或?qū)傩浴?刂瓶蚴菆D形對像,如圖標、文本框和滾動條。它和菜單一起使用以建立用戶圖形界面稱之為窗口系統(tǒng)和計算機窗口管理器。MATLAB控制框又稱uicontrol,它是圖形對象,可以放置在MATLAB的圖形窗中的任何位置并用鼠標激活,MATLAB的uicontrol包括按鈕、滑標、文本框及彈出式菜單。U

53、icontrol是由函數(shù)uicontrol生成的,常用句法:Hc_1=uicontrol(Hf_fig,PropertyName,PropertyVaule)通過設(shè)定不同的屬性值定義uicontrol的屬性。建立不同的控制框:matlab共有八種不同的類型的或樣式的控制框,他們均由uicontrol建立,屬性style決定了所建立的控制框的類型。callback屬性值是當(dāng)控制框激活時,傳給eval在命令窗口空間執(zhí)行的matlab的字符串。下面介紹八種uicontrol15:(1)按鍵鈕:又稱命令按鈕或按鈕,是小的長方形屏幕對象,常常在對象本身標有文本。將鼠標指針移動至對象,來選擇按鍵鈕uico

54、ntrol,單擊鼠標按鈕,執(zhí)行由回調(diào)字符串所定義的動作。按鍵鈕的style屬性值是pushbutton.按鍵鈕是典型的用于執(zhí)行一個動作而不是改變狀態(tài)或設(shè)定屬性。(2)無線按鈕:又稱選擇按鈕或切換按鈕,他由一個標志和標志文本的左端一個小圓圈或小菱形形成。當(dāng)選擇時,圓圈被填充,且value屬性值為1;若未被選擇時,value的屬性值為0。無線按鈕的style屬性值為radiobutton。無線按鈕典型的用在一組互斥的選項中選擇一項。(3) 檢查框:又稱切換按鈕,它由具有標志并在標志的左邊的一個小方框組成。激活時uicontrol在檢查和清除狀態(tài)之間切換。在檢查狀態(tài)時,根據(jù)平臺的不同,方框被填充,或

55、在框內(nèi)含x,value的屬性值為1 ,若為清除狀態(tài),則方框為空,value的屬性值為0。檢查框的style屬性為checkbox。檢查框典型的用于表明選項的狀態(tài)或?qū)傩?。通常檢查框是獨立的對象,如需要檢查框可以與無線按鈕交換使用。(4) 靜態(tài)文本框:顯示一個文本字符串的uicontrol,該字符串是由string屬性值所確定的。靜態(tài)文本框的style屬性值為text。靜態(tài)文本框典型的用于顯示標志、用戶信息及當(dāng)前值。靜態(tài)文本框之所以稱之為靜態(tài),是因為用戶不能動態(tài)的修改所顯示的文本,文本只能通過改變string屬性來更改。(5)可編輯文本框:可編輯文本框允許用戶動態(tài)的編輯或重新安排文本串。就像是使用

56、文本編輯器或文字處理器一樣。在string屬性中有該屬性。可編輯文本框的uicontrol的style屬性值為edit。典型的用在讓用戶輸入文本串或特定值。(6)滑標:或稱滾動條包括三個獨立的部分,分別是滾動槽或長方形區(qū)域,代表有效對象值范圍;滾動槽內(nèi)的指示器,代表滑標當(dāng)前值;以及在槽的兩端的箭頭?;瑯说膕tyle的屬性值為slider?;瑯说湫偷挠糜趶膸讉€值域范圍內(nèi)選定一個。滑標值有三種方式設(shè)定,方法一:鼠標指針指向指示器,移動指示器。拖動鼠標是,要按住鼠標按鈕,當(dāng)指示器位于期望位置后,松開鼠標。方法二:當(dāng)指針處于槽中但在指示器的一側(cè)時,單擊鼠標按鈕,指示器按該側(cè)方向移動距離約為整個值域范圍

57、的10%;方法三:在滑標無論哪端點擊鼠標箭頭,指示器沿著箭頭的方向移動大約為滑標范圍的1%,滑標通常與所用文本uicontrol對象一起顯示標志,當(dāng)前滑標值及值域范圍。(7)彈出式菜單:典型的用于向用戶提出互斥的一系列選項清單,讓用戶選擇。彈出式菜單不受菜單條的限制,可位于圖形窗口的任何位置,style屬性是popupmenu。當(dāng)關(guān)閉時彈出式菜單以矩形或按鈕的形式出現(xiàn),按鈕上含有當(dāng)前選擇的標志,在標識的右側(cè)有一個向下的箭頭或凸起的小方塊來表明uicontrol對象是一個彈出式菜單,當(dāng)指針處在彈出式uicontrol之上并按下鼠標時,出現(xiàn)其它選項。移動指針到不同的選項,松開鼠標就關(guān)閉彈出式菜單,

58、顯示新的選項。(8)框架:框架uicontrol對象僅是帶色彩的矩形區(qū)域。框架提供了視覺的分隔性。框架典型的用于組成無線按鈕或其他uicontrol對象。在其他對象放入框架之前,框架應(yīng)事先定義。否則,框架可能覆蓋控制框使他們不可見。4.4 GUI的應(yīng)用編程和回調(diào)的考慮,在命令行通過輸入uimenu和uicontrol來建立效率不高,腳本或函數(shù)M文件使用更為簡便,假定想實現(xiàn)一個M文件,首先確定是否要編寫腳本或函數(shù)文件。4.4.1 腳本與函數(shù)腳本文件似乎成了當(dāng)然的選擇。在腳本中,所有的命令都在工作窗口執(zhí)行,因此隨時可以隨時使用所有的MATLAB函數(shù)和對象。將信息傳給回調(diào)函數(shù)沒有任何困難。在這里有幾

59、點權(quán)衡,首先,當(dāng)所有的變量都可以利用時,工作空間充斥了變量名和變量值,即使它們不再有用。其次,如果用戶使用clear命令,重要的對象句柄就可能丟失。另一個缺點是:用腳本文件定義回調(diào)字符串可能變得十分復(fù)雜。另一個問題是,腳本文件比函數(shù)文件運行的要慢,腳本文件在第一次運行時要編譯。最后一點,腳本文件沒有函數(shù)文件靈活。函數(shù)可以接受輸入?yún)⒘坎⒎祷刂怠R虼?,函?shù)可作為其他函數(shù)的參變量。獨立的回調(diào)函數(shù),建立GUI函數(shù)的一個有效地方法是編寫?yīng)毩⒌幕卣{(diào)函數(shù),專門執(zhí)行一個或者多個回調(diào)。函數(shù)使用的對象句柄和其他的變量可以作為參量傳遞,必要時回調(diào)函數(shù)可返回值。4.4.2 遞歸函數(shù)調(diào)用利用單獨的M文件并遞歸調(diào)用該文件

60、,既可以避免多個M文件的復(fù)雜性,又可以利用函數(shù)的優(yōu)點。使用switches或if elseif 語句,可將回到函數(shù)裝入調(diào)用函數(shù)內(nèi),通常這樣一種調(diào)用的結(jié)構(gòu)為function guifunc(switch)其中switch確定為執(zhí)行那個函數(shù)開關(guān)的參量,它可以是字符串,startup,close,seccolor,也可以是代碼或數(shù)字。全局變量global,可用在函數(shù)中,使某些變量對GUI 函數(shù)的所有部分都可用,全局變量是在函數(shù)的公共區(qū)說明,因此整個函數(shù)以及對函數(shù)的遞歸調(diào)用都可以利用全局變量。4.4.3 調(diào)試GUI M文件回調(diào)字符串在命令窗口工作空間中計算并執(zhí)行的。這個情況對編寫和調(diào)用GUI函數(shù)和腳本

61、文件有著隱含的意義,回調(diào)字符串可以很復(fù)雜,尤其是在腳本文件中,這為句法錯誤提供了很多機會,記錄單引號、逗號、括號是令人頭痛的事。如果出現(xiàn)了句法錯誤,MATLAB給出提示;只要對象的callback屬性值是一個真正的文本串,MATLAB就認可了,只有當(dāng)對象被激活并將回調(diào)字符串傳給eval時,才檢查回調(diào)字符串內(nèi)部的句法錯誤。這樣讓用戶定義回調(diào)字符串,它涉及未曾定義過的對象句柄和變量,這是編寫互相參照的程序更容易。但是每個回調(diào)函數(shù)必須分別測試,保證回調(diào)字符串是合法的MATLAB命令,并且回調(diào)字符串涉及的所有變量可在命令窗口工作空間中是可利用的。將回調(diào)函數(shù)M文件一樣編程或像GUI函數(shù)本身內(nèi)的開關(guān)一樣編

62、程,就可以不運行整個GUI函數(shù)而對各個回調(diào)進行改變或測試。因此,回調(diào)字符串是在命令窗口工作空間中而不是在函數(shù)本身內(nèi)計算,在函數(shù)和各回調(diào)函數(shù)之間傳遞數(shù)據(jù)就變得十分復(fù)雜。第5章 基于MATLAB的圖像跟蹤算法5.1 100幀視頻圖像的讀取由于視頻是由100幀圖像通過連續(xù)播放從而達到視頻的效果的,所以要達到視頻放映的效果,應(yīng)首先對100幀圖像序列進行順序讀取。100幀圖像存儲在MATLAB的默認路徑中,文件名為00000xxx.bmp。要達到讀取它們的目的,需要使用循環(huán)算法。算法由一個名為read_seqim(i)的函數(shù)實現(xiàn),以下是函數(shù)的源程序:function I=read_seqim(i)if

63、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為讀取圖像的序號,通過以上的函數(shù)可以很方便的實現(xiàn)對100幀圖像中任意一幀的讀取,從而為后面的處理提供方便。5.2 圖像的閾值處理(圖像分割)閾值(Threshold),也叫門限。閾值化(Thresholding),即按給定閾值進行圖像的二值化處理。閾值分割法可分為以下幾種: (1)簡單閾值分割法;(2)多閾值分割法;(3)最大類間方差法;(4)最佳閾值法。 許多情況,

展開閱讀全文
溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

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

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


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