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