基于視頻的羅非魚檢測設(shè)計(jì)與開發(fā)
基于視頻的羅非魚檢測設(shè)計(jì)與開發(fā),基于,視頻,羅非魚,檢測,設(shè)計(jì),開發(fā)
編號
無錫太湖學(xué)院
畢業(yè)設(shè)計(jì)(論文)
題目: 基于視頻的羅非魚檢測設(shè)計(jì)與開發(fā)
信機(jī) 系 計(jì)算機(jī)科學(xué)與技術(shù) 專業(yè)
學(xué) 號: 0921137
學(xué)生姓名: 周 骉
指導(dǎo)教師: 李朝鋒 (職稱:副教授 )
(職稱: )
2013年5月25日
無錫太湖學(xué)院本科畢業(yè)設(shè)計(jì)(論文)
誠 信 承 諾 書
本人鄭重聲明:所呈交的畢業(yè)設(shè)計(jì)(論文) 基于視頻的羅非魚檢測設(shè)計(jì)與開發(fā) 是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的成果,其內(nèi)容除了在畢業(yè)設(shè)計(jì)(論文)中特別加以標(biāo)注引用,表示致謝的內(nèi)容外,本畢業(yè)設(shè)計(jì)(論文)不包含任何其他個(gè)人、集體已發(fā)表或撰寫的成果作品。
班 級: 計(jì)科94
學(xué) 號: 0921137
作者姓名:
2013 年 5 月 25 日
無錫太湖學(xué)院
信機(jī) 系 計(jì)算機(jī)科學(xué)技術(shù) 專業(yè)
畢 業(yè) 設(shè) 計(jì)論 文 任 務(wù) 書
一、題目及專題:
1、 題目 基于視頻的羅非魚檢測設(shè)計(jì)與開發(fā)
2、專題
二、課題來源及選題依據(jù)
課題來源:導(dǎo)師指定
選題依據(jù):在當(dāng)今這個(gè)生活節(jié)奏迅速的時(shí)代,測量工作已經(jīng)難以通過事事親力親為得到保證,特別是在復(fù)雜的環(huán)境條件下,因此我們需要通過其他方式手段來達(dá)到我們的測量目的。近代科學(xué)和工業(yè)化的發(fā)展,也要求測試技術(shù)突破經(jīng)典的測量方法和技術(shù),尋求新的測試原理與手段。圖像測量作為近年來在測量領(lǐng)域新興的一種高性能測量技術(shù),其在機(jī)器視覺、圖像匹配、圖像檢測和模式識別中都有重要應(yīng)用。數(shù)字圖像面積測量作為數(shù)字圖像測量的一個(gè)重要分支,在日常生活中的應(yīng)用更是不勝枚舉。
三、本設(shè)計(jì)(論文或其他)應(yīng)達(dá)到的要求:
① 了解圖像識別與檢測
② 熟練掌握對圖像進(jìn)行灰度化處理, 中值濾波處理及二值化處理.
③ 熟練掌握從圖像中將某個(gè)特定區(qū)域與其它部分進(jìn)行分離并提取出想要識別的物體的處理。
④ 熟練使用MATLAB提供的圖形用戶界面(GUI)工具。
⑤ 完成對羅非魚大小的時(shí)刻檢測
四、接受任務(wù)學(xué)生:
計(jì)科94 班 姓名 周骉
五、開始及完成日期:
自 2012 年 11 月 12 日 至 2013年 5月 25日
六、設(shè)計(jì)(論文)指導(dǎo)(或顧問):
指導(dǎo)教師 簽名
簽名
簽名
教研室主任
〔學(xué)科組組長研究所所長〕 簽名
系主任 簽名
2012年11月12日
V
摘 要
隨著信息技術(shù)的飛速發(fā)展,在人們的日常生產(chǎn)實(shí)踐中,對信息的檢測分析處理就顯得尤為重要,而在對信息的分析工程當(dāng)中,復(fù)雜的數(shù)學(xué)運(yùn)算給人們分析處理帶來了一定的困難,MATLAB的誕生,為信息與圖像的分析帶來了極大的方便,利用MATLAB軟件,人們可以對檢測到的圖像信息做出實(shí)時(shí)準(zhǔn)確的分析,極大的提高了工作效率。
圖像識別與檢測是一種應(yīng)用中重要的圖像分析技術(shù)。對圖像識別與檢測的的研究一直是圖像技術(shù)研究中的熱點(diǎn)和焦點(diǎn)。圖像識別與檢測目前已有很多方法,這些方法各有優(yōu)缺點(diǎn),適應(yīng)環(huán)境也不同。
本論文首先介紹了圖像檢測的研究背景以及發(fā)展情況,然后重點(diǎn)介紹了本論文中進(jìn)行羅非魚檢測的技術(shù)和方法。該方法先對圖像進(jìn)行灰度值化處理,中值濾波處理及二值化處理,然后利用羅非魚的形狀特點(diǎn)進(jìn)行檢測,最后計(jì)算羅非魚所在區(qū)域的像素點(diǎn)數(shù)以求出羅非魚的面積。實(shí)驗(yàn)結(jié)果表明, 本程序設(shè)計(jì)能夠在一定的誤差范圍內(nèi)實(shí)現(xiàn)對羅非魚的生長檢測。且效果良好。
圖像識別與檢測是圖像處理中的一個(gè)經(jīng)典難題。
關(guān)鍵詞: 圖像識別;中值濾波;圖像二值化
Abstract
With the rapid development of information technology, in people's day-to-day production practice, the detection and analysis of information processing is particularly important engineering analysis of the information which the complex mathematical operations to people analytical processing certain difficulties MATLAB birth of information and analysis of the images has brought great convenience, using MATLAB software, people can make real-time and accurate analysis of the detected image information, which greatly improves the work efficiency.
The image recognition and detection is important in an application of image analysis techniques. Image recognition and detection has been a hot spot in the image technology research and focus. Image recognition and detection there are many ways, these methods have their own advantages and disadvantages, and adapt to the environment.
This paper introduces the research background and the development of image detection, and then focuses on the Tilapia detection techniques and methods in this paper. The first gray-scale image binary on processing, median filtering and binary on processing, and then use the shape characteristics of the Tilapia detection, and finally in order to calculate the number of pixels of the Tilapia Area Tilapia area. The experimental results show that the Lo fish growth detection, the program design can be realized within a certain error range. And it is good effect.
Image recognition and detection is a classical problem in image processing.
Key words:Image recognize; Median filter; Image Binary
目 錄
摘 要 III
Abstract IV
目 錄 V
1 緒論 1
1.1課題背景 1
3.6.1 背景介紹 1
1.1.2 研究現(xiàn)狀 2
1.2 圖像檢測主要研究方法 2
1.2.1 邊緣檢測法 3
1.2.2 區(qū)域提取法 3
1.2.3 閾值分割法 3
1.3 論文的內(nèi)容與結(jié)構(gòu)安排 3
2 Matlab GUI編程介紹 5
2.1 Matlab簡介 5
2.2 Matlab GUI編程 5
2.2.1 控件對象 5
2.2.2 控件對象的描述 6
3 圖像預(yù)處理 7
3.1 灰度變換 7
3.2 圖像增強(qiáng) 8
3.3 圖像平滑 9
3.3.1 中值濾波原理 9
3.3.2 平滑效果分析 10
3.4 圖像二值化 11
3.4.1 圖像二值化原理 11
3.4.2 二值化實(shí)現(xiàn)效果 14
3.5 圖像區(qū)域分析 15
3.5.1 區(qū)域和邊緣 15
3.5.2 分割 16
3.6 本章小結(jié) 16
4 系統(tǒng)設(shè)計(jì) 17
4.1 概要設(shè)計(jì) 17
4.2 各個(gè)模塊設(shè)計(jì) 18
4.2.1 圖像讀取模塊 18
4.2.2 圖像預(yù)處理模塊 20
4.2.3 圖像識別模塊 21
4.2.4 程序運(yùn)行界面 22
5 系統(tǒng)測試 25
6 總結(jié)與展望 27
6.1 總結(jié) 27
6.2 展望 27
致 謝 29
參考文獻(xiàn) 30
附錄 31
基于視頻的羅非魚檢測設(shè)計(jì)與開發(fā)
1 緒論
本章對程序中所涉及的研究領(lǐng)域進(jìn)行了較為詳細(xì)的綜述。簡要介紹了圖像識別和檢測的的研究目的和意義,并給出了圖像檢測和識別的基本方法及步驟。在對圖像檢測技術(shù)以及相關(guān)步驟技術(shù)進(jìn)行簡要綜述的基礎(chǔ)上,介紹了該技術(shù)當(dāng)前的研究熱點(diǎn)及論文的主要研究內(nèi)容。
1.1課題背景
1.1.1 背景介紹
圖像識別與檢測算法的研究已有幾十年的歷史,在不同環(huán)境下一直是步驟相同而識別算法不同,且一直以來都受到人們的高度重視。關(guān)于圖像識別與檢測的原理和方法技術(shù)在國內(nèi)外已經(jīng)有不少的程序開發(fā)和論文發(fā)表,但一直以來沒有比較系統(tǒng)和全面的總結(jié)。傳統(tǒng)的圖像識別和檢測方法在本程序的算法設(shè)計(jì)過程中體現(xiàn)了一些優(yōu)勢,為進(jìn)一步的圖像分析和處理打下了基礎(chǔ)。由于計(jì)算機(jī)技術(shù)的迅猛發(fā)展,及其相關(guān)技術(shù)的發(fā)展和成熟,結(jié)合圖像增強(qiáng)等技術(shù),能夠在計(jì)算機(jī)上實(shí)現(xiàn)實(shí)時(shí)圖像檢測和識別技術(shù)。
其中最主要的技術(shù)是圖像識別技術(shù),從圖像中將某個(gè)特定區(qū)域與其它部分進(jìn)行分離并提取出想要識別的物體的處理。圖像識別有多種方法,早在1965年就有人提出檢測邊緣算子,邊緣檢測已產(chǎn)生不少經(jīng)典算法?,F(xiàn)階段,有越來越多的學(xué)者開始將數(shù)學(xué)形態(tài)學(xué)、模糊理論、遺傳算法理論等等研究成果運(yùn)用到圖像檢測和識別中,產(chǎn)生了結(jié)合特定數(shù)學(xué)方法和針對特殊圖像識別和檢測的的先進(jìn)圖像處理技術(shù)。
圖像識別技術(shù)的研究目標(biāo)是根據(jù)觀測到的圖像,對其中的物體進(jìn)行類別的分辨,從而對其做出有意義的判斷。圖像識別即利用現(xiàn)代信息處理技術(shù)與計(jì)算技術(shù)來模擬和完成人類的認(rèn)識和理解過程。一般來說,一個(gè)圖像識別系統(tǒng)是由三個(gè)部分構(gòu)成的,如下圖所示,分別是圖像分割,圖像特征提取以及分類器的識別分類。
其中,圖像分割技術(shù)將圖像劃分為多個(gè)有意義的區(qū)域,然后將每個(gè)圖像上區(qū)域的圖像進(jìn)行特征識別和提取,最后分類器根據(jù)提取的圖像特征信息對該圖像進(jìn)行相應(yīng)的分類處理。事實(shí)上,圖像識別與圖像分割沒有嚴(yán)格的界限。從某種意義來說,圖像分割的過程與圖像識別的過程是相同的。圖像分割著重的是對象和背景的關(guān)系進(jìn)行研究,研究的是目標(biāo)在特定情況下所表現(xiàn)出來的整體特征,而圖像識別技術(shù)則著重于對象本身的屬性。圖像分割以及識別技術(shù)應(yīng)用很廣,在通信、醫(yī)學(xué)、航空航天、機(jī)器人、工業(yè)自動化、及軍事等領(lǐng)域均有應(yīng)用。
圖像預(yù)處理
圖像分割
特征提取
特征匹配
輸出結(jié)果
圖1.1 圖像識別的流程圖
1.1.2 研究現(xiàn)狀
當(dāng)前,圖像的識別與分割技術(shù)是圖像處理領(lǐng)域中研究比較活躍的課題之一,而且眾多研究人員的研究重心就在圖像識別與分割, 目前己經(jīng)取得的成果還是少于沒有待解決的問題。
圖像識別經(jīng)歷了以下三個(gè)階段的發(fā)展:對文字的識別、對數(shù)字圖像的處理與識別、對特定物體的識別。對文字識別的研究始于1950年,首先是對字母、符號和數(shù)字的識別,對普通印刷文字的識別到對手寫文字識別,其應(yīng)用十分廣泛,并且已經(jīng)在許多專用設(shè)備上研制成功。對數(shù)字圖像處理和識別開始于1965年。數(shù)字圖像與模擬圖像相比在存儲方面,傳輸方面、傳輸過程中不易失真、處理方便等方面有巨大優(yōu)勢,這些研究都提供了強(qiáng)大的動力給圖像識別技術(shù)的發(fā)展。對物體的識別技術(shù)主要指的是對三維世界的客體及環(huán)境的認(rèn)識和感知,事實(shí)上屬于高級的計(jì)算機(jī)視覺范圍。
數(shù)字圖像識別是以對圖像處理與識別為基礎(chǔ)的技術(shù),它結(jié)合人工智能、系統(tǒng)學(xué)等各個(gè)學(xué)科的研究方向,且其研究成果在各種工業(yè)及探測機(jī)器人上廣泛應(yīng)用。 現(xiàn)代圖像識別技術(shù)的一個(gè)不足方面就是自適應(yīng)性比較差 ,一旦目標(biāo)圖像被較強(qiáng)的噪聲污染或是目標(biāo)圖像有較大殘缺往往就得不出理想的結(jié)果。
1.2 圖像檢測主要研究方法
圖像檢測和識別是圖像處理中的一項(xiàng)關(guān)鍵技術(shù),自20世紀(jì)70年代以來就一直受到研究者的的高度重視,至今研究者已提出了多種類型的圖像識別算法,現(xiàn)提出的識別算法大都是針對具體問題的,并沒有一種適合于所有圖像的通用識別算法,而且近年來每年都有上百篇相關(guān)研究報(bào)道發(fā)表。然而,很少有人對其步驟和流程進(jìn)行探討,這給圖像識別技術(shù)的應(yīng)用帶來許多實(shí)際問題。因此,對圖像識別的研究還在不斷深入之中,圖像識別技術(shù)是目前圖像處理中研究的熱點(diǎn)之一。
圖像識別技術(shù)在圖像工程中的位置它起著承上啟下的作用,可以認(rèn)為是在底層和高層之間橋接的關(guān)鍵一層。由于比較熱門,最近幾年許多新思路、新方法、或改進(jìn)算法不斷涌現(xiàn)而出。論文也是層出不窮。下面對一些經(jīng)典傳統(tǒng)方法作簡要的概述。
多年來人們對圖像識別提出了不同的解釋和表述,借助集合概念對圖像識別可給出如下定義:
圖像的目標(biāo)檢測,也叫目標(biāo)提取,是一種基于所檢測目標(biāo)的幾何和統(tǒng)計(jì)特征的圖像分割技術(shù),它是將目標(biāo)的分割和識別合二為一,其準(zhǔn)確性和實(shí)時(shí)性是檢驗(yàn)?zāi)繕?biāo)檢測整個(gè)系統(tǒng)的一項(xiàng)重要能力。尤其是在實(shí)際應(yīng)用的復(fù)雜場景中,往往需要對多個(gè)目標(biāo)進(jìn)行同時(shí)處理,目標(biāo)自動提取和識別就顯得特別重要。
計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展和計(jì)算機(jī)視覺處理的在日常生活和工作中的應(yīng)用越來越廣泛,在其中使用的計(jì)算機(jī)圖像識別等處理技術(shù)對在圖像中對目標(biāo)進(jìn)行實(shí)時(shí)檢測和實(shí)時(shí)跟蹤的研究也越來越熱門,對目標(biāo)進(jìn)行動態(tài)實(shí)時(shí)跟蹤定位的系統(tǒng)個(gè)已經(jīng)在交通系統(tǒng)智能化、監(jiān)控系統(tǒng)智能化、檢測軍事目標(biāo)及醫(yī)學(xué)導(dǎo)航的手術(shù)操作中手術(shù)器械定位等方面具有非常廣泛的應(yīng)用價(jià)值。圖像的目標(biāo)檢測大概分為四個(gè)步驟。
1.2.1 邊緣檢測法
圖像處理和理解常常需要進(jìn)行邊緣檢測,以獲取目標(biāo)。邊緣檢測方法是人們研究得比較多的一種方法,它是通過檢測圖像中不同區(qū)域的邊緣來達(dá)到分割圖像以找到目標(biāo)物體的目的。邊緣檢測的實(shí)質(zhì)是采用某種邊緣檢測算法來提取出圖像中各個(gè)邊緣的交界線。邊緣可以定義為在圖像中灰度發(fā)生急劇變化的區(qū)域邊界。在圖像中,灰度的變化情況可以采用圖像灰度分布的梯度反映,因此我們可以用局部圖像微分技術(shù)來獲得邊緣檢測算子。經(jīng)典的邊緣檢測方法,是通過對原始圖像中像素的某小鄰域構(gòu)造邊緣檢測算子來達(dá)到檢測邊緣這一目的。
1.2.2 區(qū)域提取法
區(qū)域提取法在實(shí)現(xiàn)時(shí)有兩種基本形式:一種方法是首先從單個(gè)像素出發(fā),逐漸結(jié)合,形成所需要的分割區(qū)域;另一種方法是從全圖出發(fā),逐漸分裂切割至所需的分割區(qū)域。實(shí)際過程中使用的通常是結(jié)合這兩種基本形式。由于上面兩種基本形式,區(qū)域提取法可以分為區(qū)域生長法和分裂合并法。區(qū)域生長法的基本思想是將具有相似性質(zhì)的像素合起來構(gòu)成區(qū)域,具體做法是先給定圖像中要分割的目標(biāo)物體內(nèi)的一個(gè)小塊或者說種子區(qū)域,再在種子區(qū)域的基礎(chǔ)上不斷將其周圍的像素點(diǎn)以一定的規(guī)則加入其中,達(dá)到最終將代表該物體的所有像素點(diǎn)結(jié)合成一個(gè)區(qū)域的目的。該方法的關(guān)鍵是要選擇合適的生長或相似準(zhǔn)則。生長準(zhǔn)則一般可分為三種:基于區(qū)域灰度差準(zhǔn)則、基于區(qū)域內(nèi)灰度分布統(tǒng)計(jì)性質(zhì)準(zhǔn)則和基于區(qū)域形狀準(zhǔn)則。分裂合并法是先將圖像分割成很多的一致性較強(qiáng)的小區(qū)域,再按一定的規(guī)則將小區(qū)域融合成大區(qū)域,達(dá)到分割圖像的目的。區(qū)域提取法的缺點(diǎn)是往往會造成過度分割,即將圖像分割成過多的區(qū)域,因此近年來針對這種方法的研究較少。
1.2.3 閾值分割法
閾值分割法是圖像處理中一種基于區(qū)域的圖像分割技術(shù)。
圖像閾值化分割在圖像處理中是一種傳統(tǒng)的最常用的圖像分割方法,因其實(shí)現(xiàn)簡單易行、實(shí)現(xiàn)計(jì)算量小、運(yùn)行性能較穩(wěn)定而成為圖像分割中最基本的分割技術(shù),其應(yīng)用也是最廣泛的。它對于所求目標(biāo)和背景占據(jù)不同灰度級范圍的圖像特別適合。它不僅可以將數(shù)據(jù)量進(jìn)行極大的壓縮,而且也大大簡化了分析問題和處理問題時(shí)的步驟,因此在很多情況下,圖像閾值分割法是進(jìn)行圖像分析、特征提取與模式識別之前的必要的圖像預(yù)處理過程。將圖像閾值化處理的主要目的是要按照灰度級,對像素集合進(jìn)行一個(gè)劃分,將劃分后得到的每個(gè)子集在圖像中形成一個(gè)與現(xiàn)實(shí)景物相對應(yīng)的區(qū)域,而且,在每個(gè)劃分的區(qū)域內(nèi)部具有相同的屬性,而相鄰區(qū)域布局有這種一致屬性。實(shí)現(xiàn)這樣的劃分可以考慮從灰度級出發(fā),從而選取一個(gè)或多個(gè)閾值來實(shí)現(xiàn)。
1.3 論文的內(nèi)容與結(jié)構(gòu)安排
本文的內(nèi)容分為五章,具體的章節(jié)安排如下:
第一章 緒論:介紹圖像識別和檢測的研究意義等背景和現(xiàn)狀;系統(tǒng)介紹了圖像識別的分類、層次及步驟;并對圖像識別的研究現(xiàn)狀和相關(guān)技術(shù)做了概述。
第二章 圖像識別檢測的預(yù)處理:介紹了圖像識別前平滑與灰度調(diào)整等圖像增強(qiáng)操作技術(shù)的原理、算法。并著重分析了其優(yōu)勢。
第三章 系統(tǒng)設(shè)計(jì):前一部分先簡單介紹了閾值分割方法原理。后一部分先簡單介紹了雙峰法選擇閾值,接下來重點(diǎn)介紹最大類方差法,是一種比較經(jīng)典的圖像分割方法,也稱為QSTU分割方法,能夠自動提取閾值,從而將圖像分割。
第四章 系統(tǒng)設(shè)計(jì):首先對小波圖像分割的理論作簡要敘述,然后重點(diǎn)介紹本論文所采用的多閾值分割算法的原理與算法。
第五章 結(jié)論:重點(diǎn)對本論文設(shè)計(jì)進(jìn)行總結(jié),并進(jìn)一步展望該課題的研究前景。
2 Matlab GUI編程介紹
2.1 Matlab簡介
Matlab軟件是[1]MathWorks的公司在1982年時(shí)推出來的一套高性能的基于數(shù)值計(jì)算和可視化軟件,它是集對矩陣運(yùn)算、數(shù)值分析、圖形顯示和信號處理于一體,整體構(gòu)成了一個(gè)比較方便且界面比較友好的用戶環(huán)境。MATLAB的推出受到了各個(gè)領(lǐng)域?qū)<液透鱾€(gè)學(xué)者的廣泛關(guān)注,它強(qiáng)大的擴(kuò)展功能也提供了基礎(chǔ)為各個(gè)領(lǐng)域的應(yīng)用。這些專家學(xué)者陸續(xù)推出了諸如MATLAB工具箱等工具,其中主要有控制系統(tǒng)、信號處理、圖像處理、神經(jīng)網(wǎng)絡(luò)、非線性系統(tǒng)控制設(shè)計(jì)、魯棒控制、最優(yōu)化、系統(tǒng)辨識、模糊邏輯、樣條、小波、通信和統(tǒng)計(jì)等工具箱, 而且工具箱功能還在不斷增加, 這些工具箱函數(shù)給各個(gè)領(lǐng)域的研究和工程應(yīng)用提供了強(qiáng)有力的工具。另外, MATLAB 軟件具有如下優(yōu)點(diǎn):
⑴ 它語言較簡潔,庫函數(shù)也很豐富,它壓縮了其他一切不必要的編程工作。
⑵ 它的運(yùn)算符豐富,語法限制不嚴(yán),程序設(shè)計(jì)自由度大,且程序可移植好,基本上不做修改就可在各種型號計(jì)算機(jī)和操作系統(tǒng)上運(yùn)行。
⑶ 它的圖形功能強(qiáng)大,數(shù)據(jù)的可視化非常簡單。
⑷ 它的源程序具有開放性。而且除內(nèi)部函數(shù),它所有的MATLAB的核心的文件和工具箱上的文件都是具有可讀可改的源文件,用戶可通過對源文件的修改以及加入自己的文件構(gòu)成新的工具箱。
2.2 Matlab GUI編程
圖形用戶界面GUI(Graphical User Interfaces)是一種用戶和計(jì)算機(jī)進(jìn)行信息交流的工具和方法,由各種圖形對象組成,在這種用戶界面下,用戶的命令和對程序的控制是通過鼠標(biāo)等輸入設(shè)備“選擇”各種圖形對象來實(shí)現(xiàn)的。軟件開發(fā)者只需在由軟件開發(fā)工具自動生成的程序代碼中添加自己的運(yùn)算或控制代碼,就可以完成應(yīng)用程序的設(shè)計(jì)。目前90%以上的應(yīng)用程序和軟件都是在GUI下運(yùn)行的。
MATLAB有兩種GUI用戶界面控件的創(chuàng)建方式,基于命令行的編程方式制作和基于MATLAB提供的圖形用戶界面開發(fā)環(huán)境GUIDE中的圖形用戶界面開發(fā)工具的GUI創(chuàng)建方式制作。這里主要介紹基于GUIDE的創(chuàng)建方式。
MATLAB 的GUI的基本圖形對象分為控件對象uicontrol和用戶界面菜單對象uimenu(包括固定菜單和現(xiàn)場菜單),簡稱控件和菜單。
2.2.1 控件對象
控件對象是事件響應(yīng)的圖形界面對象。當(dāng)某一事件發(fā)生時(shí),應(yīng)用程序會做出響應(yīng)并執(zhí)行某些預(yù)定的功能子程序(Callback).
常用的基本控件:
⑴ 按鈕(Push Buttons):執(zhí)行某種預(yù)定的單功能或操作;
⑵ 雙位開關(guān)按鈕(Toggle Button):產(chǎn)生一個(gè)動作并指示一個(gè)二進(jìn)制狀態(tài)(開或關(guān)),當(dāng)鼠標(biāo)點(diǎn)擊它時(shí)按鈕將下陷,并執(zhí)行callback(回調(diào)函數(shù))中指定的內(nèi)容,再次點(diǎn)擊,按鈕復(fù)原,并再次執(zhí)行callback 中的內(nèi)容;
⑶ 單選框(Radio Button):單個(gè)的單選框用來在兩種狀態(tài)之間切換,多個(gè)單選框組成一個(gè)單選框組時(shí),用戶只能在一組狀態(tài)中選擇單一的狀態(tài),或稱為單選項(xiàng);
⑷ 復(fù)選框(Check Boxes):單個(gè)的復(fù)選框用來在兩種狀態(tài)之間切換,多個(gè)復(fù)選框組成一個(gè)復(fù)選框組時(shí),可使用戶在一組狀態(tài)中作組合式的選擇,或稱為多選項(xiàng);
⑸ 文本編輯器(Editable Texts):用來使用鍵盤輸入字符串的值,可以對編輯框中的內(nèi)容進(jìn)行編輯、刪除和替換等操作;
⑹ 靜態(tài)文本框(Static Texts):僅僅用于顯示單行的說明文字;
⑺ 滾動條(Slider): 可輸入指定范圍的數(shù)量值;
⑻ 控件邊框(Frames):在圖形窗口圈出一塊區(qū)域;
⑼ 列表框(List Boxes):在其中定義一系列可供選擇的字符串;
⑽ 彈出式菜單(Popup Menus): 讓用戶從一列菜單項(xiàng)中選擇一項(xiàng)作為參數(shù)輸入;
⑾ 坐標(biāo)軸(Axes): 用于顯示圖形和圖象。
2.2.2 控件對象的描述
MATLAB中的控件大致可分為兩種,一種為動作控件,鼠標(biāo)點(diǎn)擊這些控件時(shí)會產(chǎn)生相應(yīng)的響應(yīng)。一種為靜態(tài)控件,是一種不產(chǎn)生響應(yīng)的控件,如文本框等。
每種控件都有一些可以設(shè)置的參數(shù),用于表現(xiàn)控件的外形、功能及效果,即控件屬性。屬性由兩部分組成:屬性名和屬性值。它們必須是成對出現(xiàn)的。
控制對象的屬性包括公共屬性、基本控制屬性、修飾控制屬性、輔助屬性和callback管理屬性。
用戶可以在創(chuàng)建控件對象時(shí),設(shè)定其屬性值,未指定時(shí)將使用系統(tǒng)缺省值。兩大類控件對象屬性:第一類是所有控件對象都具有的公共屬性,第二類是控件對象作為圖形對象所具有的屬性。具體屬性,這里不再敘述。
3 圖像預(yù)處理
通常在一般情況下,成像系統(tǒng)獲取的圖像(即原始圖像)由于受到種種條件限制和隨機(jī)噪聲的干擾,或者是圖像本身的噪聲,往往不能在視覺系統(tǒng)中直接使用,必須在視覺信息處理的早期階段對原始圖像進(jìn)行灰度處理、噪聲過濾,圖像二值化等圖像預(yù)處理.對機(jī)器視覺系統(tǒng)來說,所用的圖像預(yù)處理方法并不需要將圖像降質(zhì)原因考慮在內(nèi),只需要將圖像中感興趣的區(qū)域的特征進(jìn)行有選擇地突出,并衰減其不需要的特征,故預(yù)處理后的輸出圖像往往與原圖像并不一致,甚至看不出原圖像.這類圖像預(yù)處理方法統(tǒng)稱為圖像增強(qiáng)。目前,圖像增強(qiáng)技術(shù)主要包含兩種處理方法:空間域法和頻率域法??臻g域方法主要是在圖像的空間域內(nèi)對圖像像素進(jìn)行直接處理運(yùn)算。頻率域方法與空間域方法不同,它是在圖像的某種變換域,對圖像的變換值進(jìn)行運(yùn)算,例如可以先對圖像進(jìn)行傅里葉變換,再對圖像的頻譜進(jìn)行某種計(jì)算(如濾波等),最后將計(jì)算后的圖像逆變換到空間域。
3.1 灰度變換
灰度化是指圖像由彩色轉(zhuǎn)化為灰度的過程,在24位真彩色圖像中,它的每一個(gè)像素點(diǎn)由R、B、G三個(gè)分量組成。其中,R代表紅色分量值;G代表綠色分量值;B代表藍(lán)色分量值。經(jīng)常用到的灰度化方法有以下三種:
平均值法:求出每個(gè)像素點(diǎn)的R、G、B的平均值,然后把這個(gè)平均值賦給該像素點(diǎn)的 R、G、B三個(gè)分量。
最大值法:求出每個(gè)像素點(diǎn)R、G、B三個(gè)分量的最大值,然后把這個(gè)最大值賦給原來像素點(diǎn)的R、G、B三個(gè)分量。
加權(quán)平均值法:根據(jù)YUV的顏色空間,I分量的含義就是亮度,它包含了灰度圖的所有信息,只要用I分量就完全能夠獨(dú)自表示出一幅灰度圖來。YUV和RGB之間有如下應(yīng)對關(guān)系:
(3.1)
公式3.1中,I表示灰度圖的亮度值。通過該公式轉(zhuǎn)換的灰度圖能夠比較好地反應(yīng)原圖像的亮度信息。選擇的標(biāo)準(zhǔn)是經(jīng)過灰度變換后,像素的動態(tài)范圍增加,圖像的對比度擴(kuò)展,使圖像變得更加清晰、細(xì)膩、容易識別。
圖3.1 原始圖像
圖3.2 灰度化的圖片
在計(jì)算機(jī)領(lǐng)域中,灰度數(shù)字圖像是每個(gè)像素只有一個(gè)采樣顏色的圖像。這類圖像通常顯示為從最暗的黑色到最亮的白色的灰度,盡管理論上這個(gè)采樣可以是任何顏色的不同深淺,甚至可以是不同亮度上的不同顏色?;叶葓D像與黑白圖像不同,在計(jì)算機(jī)圖像領(lǐng)域中黑白圖像只有黑色與白色兩種顏色;灰度圖像在黑色與白色之間還有許多級的顏色深度。但是,在數(shù)字圖像領(lǐng)域之外,“黑白圖像”也表示“灰度圖像”,例如灰度的照片通常叫做“黑白照片”。在一些關(guān)于數(shù)字圖像的文章中單色圖像等同于灰度圖像,在另外一些文章中又等同于黑白圖像。
彩色圖像的灰度化技術(shù)在現(xiàn)代科技中應(yīng)用越來越廣泛, 例如人臉目標(biāo)的檢測與匹配以及運(yùn)動物體目標(biāo)的監(jiān)測等等, 在系統(tǒng)預(yù)處理階段, 都要把采集來的彩色圖像進(jìn)行灰度化處理, 這樣既可以提高后續(xù)算法速度, 而且可以提高系統(tǒng)綜合應(yīng)用實(shí)效, 達(dá)到更為理想的要求。
3.2 圖像增強(qiáng)
圖像增強(qiáng)按照處理過程所在的空間不同可以分成頻域增強(qiáng)和空域增強(qiáng)。前者把圖像看成一種二維信號,對其進(jìn)行基于二維傅里葉變換的信號增強(qiáng);后者直接對圖像進(jìn)行增強(qiáng)處理,主要方法有灰度變換、直方圖變換、圖像平滑和銳化等。
直方圖均衡化是把己知灰度概率分布的圖像,最終演變成灰度概率均勻分布的像,同時(shí)
灰度頻率較小的灰度級變大,從而將直方圖在較大的動態(tài)范圍內(nèi)趨于一致。
灰度拉伸是指根據(jù)源圖像灰度直方圖的分布,有選擇地對灰度區(qū)間進(jìn)行分段拉伸從而增強(qiáng)對比度。設(shè)圖像中任意一點(diǎn)的灰度值為,通過映射T,映射成灰度值為,即:
圖3.3 灰度拉升
(3.2)
將彩色圖像轉(zhuǎn)化成為灰度圖像的過程稱為圖像灰度化處理。彩色圖像中的每個(gè)像素的顏色有R、G、B三個(gè)分量決定,而每個(gè)分量有255種值可取,這樣一個(gè)像素點(diǎn)可以有1600多萬(255*255*255)的顏色的變化范圍。而灰度圖像是R、G、B三個(gè)分量相同的一種特殊的彩色圖像,其一個(gè)像素點(diǎn)的變化范圍為255種。所以在數(shù)字圖像處理中一般先將各種格式的圖像轉(zhuǎn)變成灰度圖像以后使后續(xù)的圖像計(jì)算量變得少一些。在matlab中較多的圖像處理函數(shù)支持對灰度圖像進(jìn)行處理,因此,對圖像進(jìn)行灰度化十分必要。
3.3 圖像平滑
進(jìn)行圖像平滑的最終目的是為了減少圖像噪聲對圖像結(jié)果的影響。圖像的噪聲來自于多方面,有來自于系統(tǒng)外部干擾,在本系統(tǒng)中,可能由于光照條件的影響產(chǎn)生噪聲,也有來自于系統(tǒng)內(nèi)部的干擾,如攝像機(jī)在拍攝時(shí)的熱噪聲,成像系統(tǒng)本身的干擾等內(nèi)部噪聲。因此,去除噪聲,恢復(fù)原始圖像是圖像處理中的一個(gè)重要內(nèi)容。噪聲主要來自下面三個(gè)方面:
光電子噪聲:主要由光的統(tǒng)計(jì)本質(zhì)和圖像傳感器的光電轉(zhuǎn)換過程引起的噪聲噪聲;
電子噪聲:主要來自電子元器件(如電阻引起的熱噪聲);
光學(xué)噪聲:主要由光學(xué)現(xiàn)象產(chǎn)生的(如膠片的粒狀結(jié)構(gòu)產(chǎn)生的顆粒噪聲);
圖像在生成和傳輸過程中容易受到這些噪聲的干擾和影響而產(chǎn)生效果變差的結(jié)果,因此,抑制或消除這些噪聲從而改善原圖像質(zhì)量,在圖像處理過程中是對原圖像的一個(gè)重要的預(yù)處理,也稱為對圖像的平滑濾波過程。
3.3.1 中值濾波原理
中值濾波的基本思想[7]是用像素點(diǎn)鄰域灰度值的中值來代替該像素點(diǎn)的灰度值,中值濾波在去除脈沖噪聲、椒鹽噪聲等類別噪聲的同時(shí)又能保留圖像邊緣等細(xì)節(jié),這是因?yàn)樗皇怯舌徲騼?nèi)那些與典型值差別很大的值來決定的。中值濾波器在處理連續(xù)圖像窗函數(shù)時(shí)與線性濾波器的工作在工作方式上是類似的,但濾波過程卻不再是簡單的進(jìn)行加權(quán)運(yùn)算。
中值濾波從原理上看,可以看到它是一種非線性濾波,由于在實(shí)際運(yùn)算過程中,它只需要知道周圍點(diǎn)的信息,而并不需要圖像的統(tǒng)計(jì)特性,所以使用起來比較方便。中值濾波首先是被應(yīng)用在一維信號處理技術(shù)中,后來被二維圖像信號處理技術(shù)所應(yīng)用。在一定的條件下,可以克服線性濾波器所帶來的圖像細(xì)節(jié)模糊,而且對濾除脈沖干擾及圖像掃描噪聲最為有效。中值濾波的目的是保護(hù)圖像邊緣的同時(shí)去除噪聲。
在一維的情況下,中值濾波器是一個(gè)含有奇數(shù)個(gè)像素的窗口,在處理之后,將窗口正中的像素灰度值用窗口內(nèi)各像素灰度值的中值來代替。設(shè)有一個(gè)維序列f1,f2,…,fn,取窗口長度為奇數(shù)m,對此序列進(jìn)行中值濾波,就是從輸入序列中相續(xù)抽出m個(gè)數(shù),fi-v,…fi,…fi+v,其中為窗口的中心值v=(m-1)/2,再將這m個(gè)點(diǎn)的數(shù)值按其數(shù)值大小排列,取其序號為正中間的那個(gè)數(shù)作為濾波輸出。中值濾波表達(dá)式為:
(3.3)
對二維序列{Xi,j}的中值濾波,濾波窗口也是二維的,但這種二維窗口可以有各種不同的形狀,如線狀、方形、圓形、十字形、圓環(huán)形等。二維中值濾波可表示為:
(3.4)
在實(shí)際使用窗口時(shí),窗口的尺寸一般先用 再取 逐漸增大,直到其濾波效果滿意為止。
由于中值濾波是非線性運(yùn)算,在輸入和輸出之間的頻率上不存在一一對應(yīng)關(guān)系,故不能用一般線性濾波器頻率特性的研究方法。設(shè)G為輸入信號頻譜,F(xiàn)為輸出信號頻譜,定義 為中值濾波器的頻率響應(yīng)特性,實(shí)現(xiàn)表明H是與G有關(guān),呈不規(guī)則波動不大的曲線,其均值比較平坦,可以認(rèn)為信號經(jīng)中值濾波后,傳輸函數(shù)近似為1,即中值濾波對信號的頻域影響不大,頻譜基本不變。
中值濾波步驟如下:
⑴ 將模板(一般含有奇數(shù)個(gè)點(diǎn)的滑動窗口)在圖像范圍內(nèi)掃描,并將模板中心與圖中某個(gè)象素位置重合;
⑵ 讀取模板中各對應(yīng)象素的灰度值;
⑶ 將這些灰度值從小到大排列;
⑷ 找到這些值中排在中間的一個(gè)值;
⑸ 將這個(gè)中間值賦給對應(yīng)模板中心位置的象素。
圖3.4 中值濾波后的圖像
3.3.2 平滑效果分析
下圖所示的是圖像中值濾波前后的效果比較,其中圖3.5(a)是含有噪聲的原始圖像經(jīng)過灰度化處理后的圖像,圖3.5(b)是該用中值濾波處理后的圖像,濾波窗口為3×3,可見,中值濾波后的圖像不僅濾去了椒鹽類噪聲,而且邊緣得到了較好的保護(hù)。
3.5(a) 灰度化后圖像
3.5(b) 中值濾波后圖像
圖3.5 帶噪聲圖像與中值濾波后圖像比較
3.4 圖像二值化
3.4.1 圖像二值化原理
所謂圖像二值化處理[2]就是將圖像上所有的像素點(diǎn)的灰度值更改為0或255,也就是使處理后圖像呈現(xiàn)出明顯的黑白效果。
圖像的二值化處理操作是將256個(gè)亮度等級的灰度圖像通過進(jìn)行適當(dāng)?shù)拈撝颠x取而獲得仍然可以部分反映圖像整體和局部特征的二值化圖像。通常在數(shù)字圖像處理中,二值化后的圖像占有非常重要的地位。首先,對圖像的二值化處理有利于圖像的進(jìn)一步處理,從而使圖像變得簡單,而且計(jì)算的數(shù)據(jù)量減小,能凸顯出感興趣的目標(biāo)的輪廓,從而對圖像處理的計(jì)算量減小。其次,若要對圖像要進(jìn)行二值圖像的處理與分析,我們首先要把灰度圖像進(jìn)行二值化處理,得到二值化圖像。
所有灰度大于或等于閥值的像素被判定為屬于特定物體,其灰度值為255表示,否則這些像素點(diǎn)被排除在物體區(qū)域以外,灰度值為0,表示背景或者例外的物體區(qū)域。
二值化算法是二值化全局算法的最為杰出的代表之一.它是由于年提出的。它的基本思想是以最佳門限將圖像灰度支方圖分割為兩部分,使兩部分類間方差取最大值,即分離性最大;也即兩組像素組內(nèi)方差最小來確定閾值。首先定義直方圖函數(shù)為一個(gè)概率函數(shù),其中表示灰度值分別為的直方圖概率,,其中是圖像空間區(qū)域。如果直方圖是雙模式的,通過直方圖求閾值也就是確定一個(gè)最好的閾值,利用這個(gè)閾值把直方圖的兩種模式分開。根據(jù)閾值,可以確定灰度值小于或等于的像素集的方差,以及灰度值大于的像素集的方差。關(guān)于最佳閾值的定義是使組內(nèi)方差的加權(quán)和最小的閾值,其中權(quán)是指各組的頻率。
選擇分割標(biāo)準(zhǔn)的方法之一是,確定合適的分割線是組內(nèi)方差的加權(quán)和最小,這個(gè)標(biāo)準(zhǔn)強(qiáng)調(diào)高的組內(nèi)均衡性;第二種方法是選擇合適的分割線使兩組阻值之間的平方差最大。這個(gè)差和組間方差有關(guān)。這兩個(gè)分割標(biāo)準(zhǔn)會產(chǎn)生同樣的分割線,因?yàn)榻M內(nèi)方差和組間方差之和是一個(gè)常數(shù)。
設(shè)是小組內(nèi)各方差的加權(quán)和,即組內(nèi)方差;是值小于或等于的小組的方差,是值大于的小組的方差;是值小于或等于的小組的概率,是值大于的小組的概率;是第一組的均值,是第二組的均值。則組內(nèi)方差定義為:
(3.5)
其中
(3.6)
(3.7)
(3.8)
(3.9)
(3.10)
(3.11)
利用簡單的順序搜索所有可能的值,確定最小的最佳閾值。在許多情況下可以簡化到在兩個(gè)模式之間搜索。而模式識別實(shí)際上就是識別兩模式之間的分界值。
組內(nèi)方差與總方差之間有一定的關(guān)系,它不依賴于閾值??偡讲疃x為:
(3.12)
其中
總方差與組內(nèi)方差之間的關(guān)系可以簡化最佳閾值的計(jì)算。通過重寫,我們有
(3.13)
其中
由于 以及
第一個(gè)括號項(xiàng)是組內(nèi)方差,是兩組方差的加權(quán)和。第二個(gè)括號項(xiàng)成稱為組間方差,是每組均值和總均值的距離平方和的加權(quán)和。組間方差可進(jìn)一步簡化??偩悼梢詫憺椋?
將公式(3-11)帶入公式(3-10)消去,用代替,簡化后得到:
(3.14)
因?yàn)榭偡讲畈灰蕾?,使最小化的將是使組間方差最大的。
(3.15)
為了求使最大的,由公式(3.4)到公式(3.9)確定的參數(shù)大小。而這需要對每個(gè)都要算一遍。為計(jì)算的值與為計(jì)算的值之間有一定的關(guān)系,從公式(3.4)可以直接推出這個(gè)迭代關(guān)系:
(3.16)
初始值?。?
從公式(3.6可推出迭代關(guān)系:
(3.17)
初始值取為.
最后從公式(3.13)我們有
(3.18)
則問題轉(zhuǎn)換為下面的最優(yōu)化問題:
(3.19)
只有當(dāng)圖像整體灰度分布滿足假設(shè)條件下,自動尋找閾值的算法才能很好的工作。的自動閾值尋找器假設(shè)灰度值呈雙模式分布。
3.4.2 二值化實(shí)現(xiàn)效果
圖3.6 二值化前的圖像
圖3.7 二值化后的圖像
經(jīng)過二值化處理后的圖像的像素值只有0或255,即呈現(xiàn)出黑色或白色,處理后的圖像可以直接進(jìn)行圖像區(qū)域分析,利用外接矩形的長寬信息將符合條件的區(qū)域(羅非魚)選擇出來。
3.5 圖像區(qū)域分析
圖像中的區(qū)域是指相互連結(jié)的具有相似特性的一組像素.由于區(qū)域可能對應(yīng)場景中的物體,因此,區(qū)域的檢測對于圖像解釋十分重要。一幅圖像可能包含若干個(gè)物體,而每一個(gè)物體又可能包含對應(yīng)于物體不同部位的若干個(gè)區(qū)域。為了精確解釋一幅圖像,首先要把一幅圖像劃分成對應(yīng)于不同物體或物體不同部位的區(qū)域。
3.5.1 區(qū)域和邊緣
圖像區(qū)域劃分有兩種方法:一種是基于區(qū)域的方法,另一種是使用邊緣檢測的輪廓預(yù)估方法.在基于區(qū)域的方法中,把所有對應(yīng)于一個(gè)物體的像素組合在一起,并進(jìn)行標(biāo)記,以表示它們屬于一個(gè)區(qū)域,這一處理過程稱為分割.在某一評判標(biāo)準(zhǔn)下,把像素分配給某一區(qū)域,就可以把這些像素同圖像其余部分分開.圖像分割中的兩個(gè)最基本的原則是數(shù)值相似性和空間接近性.如果兩個(gè)像素具有相似的強(qiáng)度特性,或它們之間十分靠近,則可以把它們分配到同一區(qū)域,例如,兩個(gè)像素之間的數(shù)值相似性度量可以是它們的灰度值之差,也可以是區(qū)域灰度值分布;它們的空間接近性度量可以是歐幾里德距離,也可以是區(qū)域致密度。
相似性和接近性原則來源于如下假設(shè):同一物體上的點(diǎn)投影到圖像上得到的像素點(diǎn)在空間上十分靠近,且具有相似的灰度值。很顯然,這一假設(shè)并不是在任何情況下都成立.然而可以使用這一假設(shè)來組合圖像中的像素,然后利用相關(guān)域知識來匹配物體模型和區(qū)域.在簡單的情況下,可以通過閾值法和連通成份標(biāo)記法來進(jìn)行圖像分割,這一點(diǎn)在前面章節(jié)中討論過了。對于復(fù)雜的圖像,可以使用更高級的方法實(shí)現(xiàn)圖像分割。
分割也可以通過求取區(qū)域邊界上的像素來進(jìn)行.這些像素點(diǎn)(也稱為邊緣)可以通過搜尋鄰近像素的方法來得到.由于邊緣像素是在邊界上,在邊界兩邊的區(qū)域具有不同的灰度值,這樣,區(qū)域的邊界可以通過測量鄰近像素差值來求?。M管邊緣檢測可能使用誘導(dǎo)特性(如紋理和運(yùn)動)來檢測邊緣.但大多數(shù)邊緣檢測器僅使用強(qiáng)度特性作為邊緣檢測的基礎(chǔ)。
在理想的圖像中,一個(gè)區(qū)域是由一條封閉輪廓線包圍著.原則上,區(qū)域分割和邊緣檢測應(yīng)該產(chǎn)生相同的結(jié)果,即使用邊界跟蹤算法可以得到區(qū)域的邊緣(或封閉的輪廓線);反過來,使用區(qū)域填充算法也可以得到邊緣所包圍的區(qū)域.但在實(shí)際的圖像中,很少能夠從區(qū)域中得到正確的邊緣,反之亦然.由于噪聲和其它因素的影響,不論是區(qū)域分割還是邊緣檢測,都無法提供完整的信息。
圖像分割的目的是把一幅給定的圖像分成有意義區(qū)域或部分。圖像分割之后,為進(jìn)一步對圖像作分析和識別,就必須通過對圖像中的物體(目標(biāo))作定型或定量的分析來作出正確的結(jié)論,這些結(jié)論是建立在圖像物體的某些特征的基礎(chǔ)上的。
若遇有目標(biāo)區(qū)域太大的圖像, 則可以在堆內(nèi)存中構(gòu)造棧結(jié)構(gòu)來模擬遞歸調(diào)用的過程, 但需要有較扎實(shí)的程序設(shè)計(jì)功底。
在科研工作中, 人們越來越感到離不開計(jì)算機(jī),因?yàn)橛?jì)算機(jī)可以按人們的意愿完成一些工作量大、機(jī)械、程序性強(qiáng)的工作, 如細(xì)胞計(jì)數(shù), 基因序列的分析, 藥物分子的篩選等。然而編程要有算法, 而一般非科研工作者難以花費(fèi)很多的時(shí)間去接受專業(yè)的編程訓(xùn)練, 因此設(shè)計(jì)和倡導(dǎo)一些通俗易懂, 易于實(shí)現(xiàn)的算法, 便能較好地促使計(jì)算機(jī)與其他專業(yè)的融合。本研究的目的即在于此。
3.5.2 分割
已知一幅圖像像素集和一個(gè)一致性謂詞,求圖像表示成n個(gè)區(qū)域集合的一種劃分:
(3.20)
一致性謂詞和圖像劃分具有如下特性,即任何區(qū)域滿足如下謂詞:
?。?.21)
任何兩個(gè)相鄰區(qū)域不能合并成單一區(qū)域,必滿足謂詞:
?。?.22)
一致性謂詞定義了在區(qū)域上的所有點(diǎn)與區(qū)域模型的相似程度。把一幅灰度圖像轉(zhuǎn)換成二值圖像是圖像分割的最簡單形式。用于求取二值圖像的閾值算法可以推廣到求取多值圖像,其中的閾值算法已經(jīng)上邊章節(jié)中討論過了。為了在各種變化的場景中都能得到魯棒的圖像分割,閾值分割算法應(yīng)能根據(jù)圖像強(qiáng)度取樣來自動選取合適的閾值.閾值分割法不要過分依賴于物體的灰度知識,且使用有關(guān)灰度值的相對特性來選取合適的閾值。這一簡單的思想在許多計(jì)算機(jī)視覺算法中十分有用。
3.6 本章小結(jié)
本章介紹了圖像在進(jìn)行識別之前的一些預(yù)處理,通過對圖像的預(yù)處理,可以大大簡化后期的操作和計(jì)算。首先介紹了灰度變換原理及實(shí)驗(yàn)分析,在系統(tǒng)預(yù)處理階段, 都要把采集來的彩色圖像進(jìn)行灰度化處理, 這樣既可以提高后續(xù)算法速度, 而且可以提高系統(tǒng)綜合應(yīng)用實(shí)效, 達(dá)到更為理想的要求。其次介紹了圖像增強(qiáng)技術(shù)的一些概念,然后對圖像平滑進(jìn)行介紹,著重分析介紹了中值濾波這一概念,并做了實(shí)驗(yàn)對比,最后針對二值化這一技術(shù)概念,對本文所采用的技術(shù)二值化這一方法進(jìn)行了著重講解和介紹,通過介紹方法的原理,可以對該算法的計(jì)算處理原理有較深的理解,從而對這種方法有較深入的了解,在使用這種方法時(shí)可以根據(jù)具體情況使用,以實(shí)現(xiàn)對圖像的二值化處理,從而在后面程序運(yùn)行時(shí)減少程序處理時(shí)間和步驟。
4 系統(tǒng)設(shè)計(jì)
4.1 概要設(shè)計(jì)
本章解決的主要問題是系統(tǒng)的設(shè)計(jì)。包括圖像的讀入,圖像格式的轉(zhuǎn)化,圖像灰度化處理,中值去噪,圖像二值化處理,目標(biāo)識別等幾個(gè)主要部分。首先將圖像讀入,將圖片轉(zhuǎn)換成灰度圖片。運(yùn)用中值去噪對圖像去除噪音,將小的噪音減弱或消除。求取最佳閾值,然后用最佳閾值進(jìn)行圖像分割,去除圖中較大的噪音。利用graythresh函數(shù)得到Otsu分割方法的灰度閾值,得到二值圖像。最后對得到的二值圖像進(jìn)行目標(biāo)識別處理得到最后的圖像和結(jié)果。
本章的重點(diǎn)在于中值去噪和圖像識別。采用中值去噪是將圖像輸出的像素值設(shè)置為相應(yīng)的輸入像素的邊沿像素值的合成。中值濾波去噪輸出的象素值的大小與邊沿像素的中值是相等的。中值濾波容易在濾波后去除孤立點(diǎn)、線的噪聲同時(shí)保持圖象的邊緣與原始圖像一致;它能很好的去除二值噪聲。圖像閾值分割處理操作是利用圖像中像素灰度特性的差異,把圖像分為目標(biāo)和背景兩類區(qū)域. 閾值分割的基本流程是先根據(jù)目標(biāo)和背景確定閾值,然后根據(jù)閾值把圖像分割歸類. 圖像分割中如何確定最優(yōu)閾值是關(guān)鍵,也是程序的難點(diǎn)。確定閾值后就可以對去除噪音后的圖像進(jìn)行分割。得到二值圖像。
總體流程圖是整體的軟件設(shè)計(jì)的核心思想,是本文探討的重要問題。是本設(shè)計(jì)的骨架和核心,總體流程圖如圖4.1所示。
開始
讀取視頻圖像
將圖片轉(zhuǎn)化為灰度圖像
中值去噪
轉(zhuǎn)為二值化圖像
進(jìn)行連通區(qū)域分析
結(jié)束
將羅尾魚的情況表示出來
圖4.1 程序運(yùn)行流程圖
4.2 各個(gè)模塊設(shè)計(jì)
4.2.1 圖像讀取模塊
⑴ 讀取視頻
進(jìn)行檢測的首要一步就是需要將所需要檢測的含有羅非魚的視頻圖像讀入程序中,以進(jìn)行后續(xù)操作;讀取視頻的Matlab代碼為:
global videoObj backgroundFrame
[FileName,PathName] = uigetfile('*.avi','請選擇視頻文件');
videoFilePath = [PathName, FileName];
videoObj = VideoReader(videoFilePath);
backgroundFrame = read(videoObj, 1);
axes(handles.axes_video);
imshow(backgroundFrame);
%提對話框
msgbox(' 成 功 載 入!!','操作提示');
點(diǎn)擊讀取視頻按鈕,可以進(jìn)行原始圖像的讀取,并載入:
圖4.2 打開文件
2 選取感興趣區(qū)域
讀入視頻后,需要對圖像進(jìn)行感興趣區(qū)域的選取,本程序中,圖像的感興趣區(qū)域是魚缸所在區(qū)域。這樣做有兩個(gè)好處,一個(gè)是可以減少識別時(shí)所耗的時(shí)間,另一個(gè)是可以降低識別所出現(xiàn)的誤差,增加準(zhǔn)確度。在程序中,可以直接在視頻圖像上直接點(diǎn)擊并拖拽選擇魚缸區(qū)域即可在視頻中進(jìn)行選取。由于代碼較簡單,這里不再贅述。下圖為截取后圖像。
圖4.3 原始視頻圖像
圖4.4 截圖圖像的方法
圖4.5 原始圖像
將原始圖像做灰度化處理后的截圖如下:
圖4.6 灰度值化后圖像
4.2.2 圖像預(yù)處理模塊
選取的魚缸區(qū)域需要進(jìn)行預(yù)處理,才可以進(jìn)行羅非魚的識別。由于讀入的視頻是彩色視頻,所顯示的圖片也是彩色圖片,因此首先要對其做灰度化處理,將圖片轉(zhuǎn)為灰度圖,matlab中提供了這一函數(shù),這使得編碼難度大大降低。
圖4.7 灰度值化后圖像
由于讀入的視頻圖像可能有外界干擾引起的噪聲,例如魚缸中一些雜質(zhì)等,可能會對識別效果產(chǎn)生影響,故而需要進(jìn)一步對圖像進(jìn)行處理,將圖像進(jìn)行中值濾波處理,進(jìn)而使所求結(jié)果更加精確。
圖4.8 中值濾波后的圖像
最后將中值濾波后的圖像進(jìn)行二值化處理,即完成了圖像的預(yù)處理。圖像的二值化處理用到了上文提到的二值化算法,經(jīng)過二值化處理后,對二值化圖像進(jìn)行羅非魚的檢測。
圖4.9 二值化圖像
4.2.3 圖像識別模塊
二值化后的圖像,需要進(jìn)行羅非魚的識別,首先進(jìn)行判斷,如果白色區(qū)域很大,則由于羅非魚
收藏