Web圖像檢索系統(tǒng)原型設(shè)計(jì)和實(shí)現(xiàn)_第1頁
Web圖像檢索系統(tǒng)原型設(shè)計(jì)和實(shí)現(xiàn)_第2頁
Web圖像檢索系統(tǒng)原型設(shè)計(jì)和實(shí)現(xiàn)_第3頁
Web圖像檢索系統(tǒng)原型設(shè)計(jì)和實(shí)現(xiàn)_第4頁
Web圖像檢索系統(tǒng)原型設(shè)計(jì)和實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Web圖像檢索系統(tǒng)原型設(shè)計(jì)和實(shí)現(xiàn)摘要計(jì)算機(jī)處理能力的日益增強(qiáng),因特網(wǎng)技術(shù)的廣泛普及和網(wǎng)絡(luò)帶寬不斷提高,大量的圖像信息不斷產(chǎn)生,如何從這些海量圖像數(shù)據(jù)中搜索人們感興趣并有效利用這些圖像,成為迫切需要解決的問題。本設(shè)計(jì)介紹了在web中檢索圖像的基本概念和常用的重要技術(shù),并簡要闡述了它們的基本概念、原理,說明了目前這一領(lǐng)域的發(fā)展現(xiàn)狀。本文介紹了圖像的特征:顏色特征、紋理特征和形狀特征,和以圖像內(nèi)容特征為基礎(chǔ)的Web圖檢索原理。最后以基于內(nèi)容的圖像檢索為重點(diǎn),利用Matlab對Web圖像檢索系統(tǒng)進(jìn)行了模擬和驗(yàn)證。我的工作是Web圖像檢索系統(tǒng)原型的架構(gòu)和檢索界面的設(shè)計(jì)和實(shí)現(xiàn),利用matlabgui設(shè)計(jì)系統(tǒng)界面以實(shí)現(xiàn)圖像的檢索功能。關(guān)鍵字:Web圖象檢索,特征提取,MatlabGUIAbstractWiththecapacityofcomputerincreasing,Internettechnologyispopularmoreandmore.Amassofimagedatainformationsisproducedconstantly,soimageretrievalbecomesaurgentproblem.Firstly,thebasicconceptofWebimageretrievalandsometechnologysareintroducedinthepaper;secondlywedescribestheimagefeatures:colorfeature,textonfeafure,shapefeafure.thetheoryofWebimageretrievalisbasedonthesecontentfeatures.Meanwhile,severalimportantimageretrievalalgorithmsareintroducedandcomparedinthepaper.Finally,wemadeexperimentonMatlabforwebimageretrieval.IamresponsibleforbuildingthesystemprototypframeforWebimageretrieval,andcompletingtheinterfaceofWebimageretrievalonMatlabGUI.Keywords:Webimageretrieval,featureextraction,MatlabGUI目錄TOC\o"1-3"\h\u292961緒論 1247631.1系統(tǒng)背景和意義 197671.2系統(tǒng)概述 224091.3我所做的工作 2224662系統(tǒng)分析 331402.1系統(tǒng)需求分析 3144112.2技術(shù)平臺 3144112.2.1matlab簡介 3144112.2.2matlabgui 479403web圖像檢索原理 551493.1基于文本的圖像搜索 5190393.2基于內(nèi)容的圖像搜索 5190393.2.1常用的圖像特征 5190393.2.2體系結(jié)構(gòu) 7190393.2.3查詢模塊 8190393.2.4特征提取模塊 8190393.2.5匹配模塊 893354界面設(shè)計(jì)及MatlabGUI編程 10131514.1用GUIDE編輯器簡歷圖形界面 10235804.2菜單條(MenuBar) 12170294.3彈出框(Popupmenu) 1333314.4列表框(Listbox) 1433314.5按鈕(PushButton) 1633314.5.1選擇圖片 1633314.5.2導(dǎo)入數(shù)據(jù)庫 1833314.5.3查詢 20262055系統(tǒng)測試 23131515.1inputtodatabase 23131515.2searchdatabase 24131515.3測試結(jié)果 27106856總結(jié) 2817283致謝 285109參考文獻(xiàn) 29Web圖像檢索系統(tǒng)原型設(shè)計(jì)和實(shí)現(xiàn)--Web圖像檢索系統(tǒng)原型的架構(gòu)和檢索界面的設(shè)計(jì)和實(shí)現(xiàn)1緒論隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)頁包含了更多的非文字信息,如聲音、圖像、視頻?;趫D像內(nèi)容的檢索已成為互聯(lián)網(wǎng)檢索技術(shù)研究的熱點(diǎn)。圖像的檢索在當(dāng)今這個(gè)網(wǎng)絡(luò)處處有的社會(huì)里越發(fā)的顯現(xiàn)出了它的價(jià)值。文字搜索引擎尚且不夠智能,如何能夠?qū)崿F(xiàn)圖像的檢索呢,看起來不可能實(shí)現(xiàn)的認(rèn)為在工程師和科學(xué)家的努力下漸漸變得可能。試想,當(dāng)手頭有一張照片,卻不知道這張照片出自何處,用文字搜索顯然不是明智之舉,尤其在這個(gè)文字搜索以關(guān)鍵字為基礎(chǔ)的情況下,更加無法得到我們想要的結(jié)果。這個(gè)時(shí)候,一旦存在一種搜索方式,可以以圖片為元素進(jìn)行檢索,該是多么方便的一件事。世界上進(jìn)行此項(xiàng)研究的部門有很多,本課題的目的便是對此進(jìn)行一個(gè)淺顯的探索學(xué)習(xí)。本課題側(cè)重web圖像檢索方法的研究,擬建立Web圖像檢索系統(tǒng)原型,實(shí)現(xiàn)基于圖像內(nèi)容的檢索。1.1系統(tǒng)背景和意義數(shù)字圖像作為多媒體信息的一個(gè)重要組成部分,生動(dòng)形象、易于理解,使得圖像成為在商業(yè)、教育、科技等多方面廣泛應(yīng)用的媒體形式之一,無論是對于專業(yè)的設(shè)計(jì)者,還是一般的網(wǎng)友,挖掘網(wǎng)絡(luò)素材早已成為一種特別的需求。數(shù)字圖像的應(yīng)用日益廣泛,要求快捷的圖像檢索工具和基于圖像過濾的防火墻,因此提出開發(fā)圖像搜索引擎和基于圖像過濾機(jī)制的防火墻,而圖像檢索技術(shù)正是這兩項(xiàng)產(chǎn)品的核心技術(shù)。雖然從20世紀(jì)70以來就開始了圖像檢索技術(shù)的研究,但隨著Internet應(yīng)用的不斷深入,計(jì)算機(jī)網(wǎng)絡(luò)的飛速發(fā)展,數(shù)字圖像的來源也在不斷擴(kuò)大,圖像數(shù)據(jù)的種類和數(shù)量也與日俱增。如何有效地從如此海量的圖像數(shù)據(jù)中檢索出你所需,是一個(gè)有理論意義和現(xiàn)實(shí)意義的研究課題。而事實(shí)同樣也表明,圖像檢索技術(shù)已經(jīng)是國內(nèi)外的研究熱點(diǎn)。1.2系統(tǒng)概述本課題擬選用matlab環(huán)境,選用經(jīng)典的Web圖像數(shù)據(jù)庫,研究并實(shí)現(xiàn)基于圖像內(nèi)容的檢索方法。本課題為Web圖像檢索系統(tǒng)原型設(shè)計(jì)和實(shí)現(xiàn),本課題下有三個(gè)子課題,分別為:1、Web圖像檢索系統(tǒng)原型的架構(gòu)和檢索界面的設(shè)計(jì)和實(shí)現(xiàn):設(shè)計(jì)Web圖像檢索系統(tǒng)原型的架構(gòu),模擬實(shí)現(xiàn)指定web圖庫的地址和指定待檢索圖像,根據(jù)指定待檢索的圖像檢索該地址的所有圖像,并顯示檢索結(jié)果。2、基于顏色特征的圖像檢索研究:該子課題研究圖像的顏色特征,和顏色特征的表示,及相應(yīng)的匹配算法。擬在擬用Matlab平臺,實(shí)現(xiàn)基于圖像直方圖的匹配檢索。3、基于紋理特征的圖像檢索研究;該子課題研究圖像的紋理特征,和紋理特征的表示,及相應(yīng)的匹配算法。擬在擬用Matlab平臺,實(shí)現(xiàn)基于圖像局部二值模式的匹配檢索。最后希望達(dá)成的目的為,在完備的圖片檢索界面下,配合兩種圖像檢索算法,可以在輸入一張圖片后,在當(dāng)前文件夾下,按序?qū)ふ遗帕谐雠c之相似的十張圖片。由此可知,本課題主要還是一個(gè)研究學(xué)習(xí)性為主的課題,通過matlab來模擬實(shí)現(xiàn)一個(gè)簡單的圖像檢索系統(tǒng),從而達(dá)到在本地文件夾下實(shí)現(xiàn)檢索相似圖片的目的。1.3我所做的工作我負(fù)責(zé)的工作是web圖像檢索系統(tǒng)原型的架構(gòu)和檢索查詢和結(jié)果顯示界面的設(shè)計(jì)和開發(fā)。系統(tǒng)的架構(gòu)是構(gòu)造web檢索系統(tǒng)的原型和檢索流程,為顏色和紋理檢索算法實(shí)現(xiàn)提供統(tǒng)一的接口和檢索結(jié)果反饋。提供友好的用戶界面,一目了然,簡潔并且能夠有效的實(shí)現(xiàn)web圖像檢索的基本功能。

2系統(tǒng)分析2.1系統(tǒng)需求分析當(dāng)今是一個(gè)互聯(lián)網(wǎng)高速發(fā)展的社會(huì),在這樣的情形下,搜索引擎就顯得尤為重要。不管是國內(nèi)的百度,還是國外的google,都是靠搜索引擎起家的公司。但是目前的搜索引擎主要還是以文字搜索為主要方式,在這樣的方式之下,必定存在極大的局限性,況且,如今的文字搜索不夠智能,只能以關(guān)鍵字為線索進(jìn)行搜索,這樣的搜索方式,極大的限制了人們的需求,和幾年前相比,沒有任何實(shí)質(zhì)性的突破。在這樣的情況下,需要一種全新的搜索方式來滿足人們更多的需求,于是,圖片檢索這些年來在國際上非常流行,有很多部門和學(xué)校都在進(jìn)行此項(xiàng)工作的研究,意義重大,在未來的應(yīng)用前景廣泛,甚至是一種革命性的轉(zhuǎn)變,能夠徹底的改變?nèi)藗兊纳?。功能需求:本系統(tǒng)原型的人機(jī)接口交互部分主要要實(shí)現(xiàn)的是兩個(gè)功能。一個(gè)功能將指定文件夾下的所有文件名導(dǎo)入的一個(gè)文本文檔中,限定檢索的范圍,可模擬在實(shí)際網(wǎng)絡(luò)檢索中一個(gè)物理點(diǎn)。另外一個(gè)功能實(shí)現(xiàn)web圖像檢索流程:選擇要檢索的圖片,然后在指定的檢索范圍里尋找最相似的圖片,然后呈現(xiàn)出來。2.2技術(shù)平臺本系統(tǒng)采用matlab編程實(shí)現(xiàn),圖形界面采用matlabgui編程,下面將簡要介紹一下matlab。2.2.1matlab簡介MATLAB是由美國mathworks公司發(fā)布的主要面對科學(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ì)語言(如C、Fortran)的編輯模式,代表了當(dāng)今國際科學(xué)計(jì)算軟件的先進(jìn)水平。MATLAB和Mathematica、Maple、MathCAD并稱為四大數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)計(jì)與分析等領(lǐng)域。 MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點(diǎn),使MATLAB成為一個(gè)強(qiáng)大的數(shù)學(xué)軟件。在新的版本中也加入了對C,F(xiàn)ORTRAN,C++,JAVA的支持??梢灾苯诱{(diào)用,用戶也可以將自己編寫的實(shí)用程序?qū)氲組ATLAB函數(shù)庫中方便自己以后調(diào)用,此外許多的MATLAB愛好者都編寫了一些經(jīng)典的程序,用戶可以直接進(jìn)行下載就可以用。Matlab還具備以下優(yōu)勢特點(diǎn):1、高效的數(shù)值計(jì)算及符號計(jì)算功能,能使用戶從繁雜的數(shù)學(xué)運(yùn)算分析中解脫出來;2、具有完備的圖形處理功能,實(shí)現(xiàn)計(jì)算結(jié)果和編程的可視化;3、友好的用戶界面及接近數(shù)學(xué)表達(dá)式的自然化語言,使學(xué)者易于學(xué)習(xí)和掌握;4、功能豐富的應(yīng)用工具箱(如信號處理工具箱、通信工具箱等),為用戶提供了大量方便實(shí)用的處理工具。正是基于這些,本系統(tǒng)選用matlab來實(shí)現(xiàn)。2.2.2matlabgui系統(tǒng)主要是在Matlab下進(jìn)行編程。而我的工作主要是用Matlabgui來完成的。圖形化用戶界面(GraphicalUserInterfaces,即GUI)是一種圖形化的溝通界面,通過此界面可以很方便的達(dá)成一些特定控制的操作,而這些界面又是由按鈕,窗口,工具欄,鍵盤操作等對象所構(gòu)成的,以方便借助這些界面調(diào)用MATLAB來進(jìn)行運(yùn)算處理操作。GUI是未來的趨勢,因?yàn)槿祟悓τ趫D形辨識的能力遠(yuǎn)超過其他表達(dá)方式,因此借助GUI程序能夠設(shè)計(jì)出專屬某個(gè)主題的圖形化界面,是初次接觸的使用者也能夠快速且容易的上手。另外,MATLAB具有高度的數(shù)學(xué)運(yùn)算能力與各種領(lǐng)域的工具箱,若能結(jié)合GUI相信所完成的程序會(huì)非常實(shí)用。結(jié)合以上Matlabgui的諸多優(yōu)點(diǎn),可以知道以此來設(shè)計(jì)web圖像檢索系統(tǒng)是非常適合的。Gui界面很清晰方便,可以很好的設(shè)計(jì)出友好簡潔的用戶界面,高效且方便用戶使用。并且matlabgui的變成想對自由寬松,更加適合初學(xué)者。綜合上述分析,利用matlab開發(fā)此系統(tǒng)是可行的,而且是很有意義的。

3web圖像檢索Web圖像檢索的方法主要為兩種,一種為基于文本的圖像檢索,一種為基于內(nèi)容的圖像檢索,本系統(tǒng)主要采用基于內(nèi)容的圖像檢索。3.1基于文本的圖像檢索基于文本的圖像檢索方法誕生于二十世紀(jì)70年代,是圖像檢索方法的常用技術(shù)之一,它利用人工進(jìn)行圖像語義識別,并用相應(yīng)的文本關(guān)鍵詞對圖像語義進(jìn)行注解以實(shí)現(xiàn)圖像的檢索。由于語言文字是人們進(jìn)行語義表達(dá)最直觀和熟知的手段,也是檢索技術(shù)中廣泛采用的檢索方法,故通過其實(shí)現(xiàn)的圖像檢索使得檢索形式較為簡便、且由于采用人工注解圖像語義,有效跨越了“語義鴻溝”,從一定意義上說是基于語義的圖像檢索方法。在圖像規(guī)模較小的初期應(yīng)用中,這種方法有效地滿足了圖像的檢索需求,然而,隨著圖像檢索應(yīng)用的不斷深入,利用人工提取圖像語義標(biāo)識以實(shí)現(xiàn)檢索的方法存在著一些明顯的缺陷:1、人工提取圖像語義標(biāo)識需要耗費(fèi)大量的人力資源,尤其面對呈指數(shù)級增長態(tài)勢的圖像資源,完全依賴人工工作存在著明顯的效率問題;2、人工實(shí)現(xiàn)圖像語義標(biāo)識的提取過程存在著主觀片面性,圖像的語義豐富,充分理解圖像語義依賴于不同的知識結(jié)構(gòu)及理解能力,不同人對其理解存在著主觀差異性。因此,面對不斷增長的圖像資源檢索需求,如何高效、客觀地實(shí)現(xiàn)圖像語義的識別是影響基于文本的圖像檢索方法發(fā)展的瓶頸技術(shù)。3.2基于內(nèi)容的圖像檢索本系統(tǒng)主要采用基于內(nèi)容的圖像檢索。3.2.1常用的圖像特征由于本系統(tǒng)主要采用的是紋理特征及顏色特征。以下會(huì)扼要介紹這兩種及其他幾種圖像特征。1、顏色特征:顏色信息是在圖像檢索中使用最廣泛的底層特征,它和圖像中的物體和場景有著緊密的聯(lián)系。與其他底層特征相比,顏色特征對于圖像縮放、旋轉(zhuǎn)、遮擋及其他形變有更強(qiáng)的魯棒性。最早采用顏色特征進(jìn)行圖像檢索的是由Swain和Ballard提出的基于顏色直方圖的檢索方法。圖像顏色特征的表達(dá)涉及如下幾個(gè)方面的問題:一是選擇一個(gè)合適的顏色空間;二是將顏色特征量化為向量形式;三是定義相似度(距離)標(biāo)準(zhǔn)用來度量不同圖像之間在顏色上的相似性。由于顏色特征和其他特征相比具有一定的穩(wěn)定性,不隨物體的平移、旋轉(zhuǎn)、觀察距離的變化而變化,對于圖像縮放、旋轉(zhuǎn)、遮擋及其他形變有著更強(qiáng)的變化。2、紋理特征:紋理也是圖像的一個(gè)重要屬性。航空、遙感照片、織物設(shè)計(jì)圖案、復(fù)雜的自然風(fēng)景以及動(dòng)植物都有紋理。紋理特征有兩個(gè)要素構(gòu)成:(1)紋理基元;(2)基元的排列。紋理基元是一種或多種圖像基元的組合,有一定的形狀和大小。紋理由紋理基元排列而成,?;帕械氖杳艹潭取⒅芷谛?、方向性的不同,能使圖像的外觀產(chǎn)生極大地改變。紋理可以認(rèn)為是灰度(顏色)在空間以一定的形式變化而產(chǎn)生的圖案,是真實(shí)圖像區(qū)域固有的特征之一。類似于顏色,紋理也常取決于人們的感知,一般說來可以認(rèn)為紋理是由許多相似接近的、互相編織的元素構(gòu)成,所以直觀來說紋理描述可提供圖像區(qū)域的平滑、稀疏、規(guī)則性等特性。3、形狀特征:形狀特征對于人類說是識別物體的主要信息,是一種重要的圖像內(nèi)容表達(dá)手段。按表達(dá)的形式分,可分為基于邊界的和基于區(qū)域的兩種類型。邊界特征包括:線型形狀,多邊形逼近,有限元模型和傅里葉描繪子。區(qū)域特征主要有矩不變量等。形狀特征是比顏色和紋理更高層一些的特征,對形狀的表達(dá)比對顏色或紋理的表達(dá)從本質(zhì)上要復(fù)雜的多,圖像的形狀信息不隨圖像顏色等特征的變化而變化,是物體穩(wěn)定的特征。特別對于圖形,形狀是它唯一重要的特征。形狀特征的各種表示方法中一個(gè)重要標(biāo)準(zhǔn)是它必須具有仿射不變性,即相對于旋轉(zhuǎn)平移和尺度變換具有不變性。通常來說,形狀特征有兩種表示方法,一種是基于邊界輪廓特征(contour-based)的,包括:傅立葉形狀描述子、小波輪廓描述子、邊界直方圖、鏈編碼、曲率尺度空間等,其中最典型的方法為傅立葉形狀描述子。一種是基于區(qū)域特征(region-based)的,如不變矩。前者只用到物體的外邊界,而后者則關(guān)系到整個(gè)對象所在的區(qū)域。4、語義特征:圖像的視覺特征在一定程度上能代表圖像包含的信息,但事實(shí)上,人們判斷圖像的相似性并非僅僅建立在視覺特征的相似性上.更多的狀況下,用戶主要根據(jù)返回圖像的含義,而不是顏色、紋理、形狀等特征,來判別圖像滿足自己需要的程度.這些圖像的含義就是圖像的高層語義特征,它包含了人對圖像內(nèi)容的理解.基于語義的圖像檢索的目的,就是要使計(jì)算機(jī)檢索圖像的能力達(dá)到人的理解水平.在一般的圖像內(nèi)容層次模型中,語義位于最高層;其與第2層和第3層之間的差別被許多學(xué)者稱為“語義鴻溝”,語義鴻溝的存在是目前CBIR系統(tǒng)還難以被普通用戶接受的原因。在某些狹窄的專業(yè)領(lǐng)域,比如指紋識別和醫(yī)學(xué)圖像檢索中,將圖像低層特征和高層語義建立某種聯(lián)系是可能的,但是在廣泛領(lǐng)域內(nèi),低層視覺特征與高層語義之間并沒有很直接的聯(lián)系。采用顏色、紋理、形狀等底層特征對圖像進(jìn)行的描述往往與人對圖像的描述存在較大的差異,直接利用這些特征作為檢索依據(jù)常得不到令人滿意的結(jié)果。解決這類問題的辦法是采用高層的特征即“語義特征”進(jìn)行檢索。由于它是從人類視覺理解出發(fā),著眼于提取圖像中符合人類視覺的概念。基于語義的檢索技術(shù)難度很大,是圖像檢索領(lǐng)域的研究方向。在語義級圖像檢索技術(shù)中,關(guān)鍵是實(shí)現(xiàn)語義的提取。這就要解決兩個(gè)問題:語義特征具有“模糊性”,因此要提取圖像的語義特征就必須解決特征的“模糊化”問題;語義特征與人的視覺理解緊密相關(guān),所以在檢索中要融入人的視覺感知,在“理解”圖像的基礎(chǔ)上檢索圖像。雖然采用語義內(nèi)容進(jìn)行查詢是最符合人的使用要求的方式,也是理想的檢索方式,但是就當(dāng)前的計(jì)算機(jī)和圖像理解的發(fā)展水平來看,這種完全智能化的檢索方法前正處于研究階段,與實(shí)際應(yīng)用還有較大的距離。3.2.2體系結(jié)構(gòu)本設(shè)計(jì)以matlab為開發(fā)環(huán)境實(shí)現(xiàn)了一個(gè)基于內(nèi)容的圖像檢索原型系統(tǒng)如圖3-1所示,主要用于驗(yàn)證各種特征提取算法的可行性和有效性。首先對用戶提交的示例圖像進(jìn)行特征提取,然后與圖像特征庫中的特征值進(jìn)行匹配,最后將檢索結(jié)果返回給用戶。系統(tǒng)的關(guān)鍵模塊包括查詢模塊、特征提取模塊、匹配模塊,實(shí)際應(yīng)用中每個(gè)模塊都有許多具體技術(shù)可以采用,下面主要討論各模塊的功能及相關(guān)實(shí)現(xiàn)技術(shù)。用戶界面用戶界面圖像輸入模塊特征提取模塊查詢接口模塊圖像顯示模塊檢索匹配模塊圖像特征庫圖3-1基于內(nèi)容的圖像檢索系統(tǒng)結(jié)構(gòu)3.2.3查詢模塊查詢模塊用于提供前端界面的有關(guān)查詢接口,用戶通過查詢界面訪問圖像庫從而找到滿足要求的圖像,檢索結(jié)果也是通過這個(gè)接口返回給用戶。本系統(tǒng)主要采用示例圖像方式,即用戶給定一幅與期望圖像類似的圖像作為查詢圖像。3.2.4特征提取模塊基于內(nèi)容的圖像檢索首先要解決的問題就是圖像內(nèi)容的分析和表示。圖像內(nèi)容的分析和表示指的是通過對圖像像素的顏色屬性以及像素間的相互關(guān)系進(jìn)行分析,從而得到一系列數(shù)字或者描述特征,這些特征可以在一定程度下描述圖像本身的內(nèi)容。然后,利用這些特征可以對圖像建立索引,從而達(dá)到圖像檢索的目的。因此,圖像內(nèi)容的表示問題本質(zhì)上是一個(gè)圖像特征的提取問題。從廣義上來講,圖像的特征包括圖像的底層特征和高層語義特征。底層特征用來描述圖像共有的特征,主要包括顏色、紋理、形狀等;后者則用來描述圖像自身的內(nèi)容信息,比較抽象。本設(shè)計(jì)主要基于圖像底層特征的特征提取。系統(tǒng)中的特征提取模塊負(fù)責(zé)圖像處理工作,具體實(shí)現(xiàn)CBIR系統(tǒng)中支持的各種特征提取算法,從而能從圖像中提取相應(yīng)的特征信息。3.2.5匹配模塊查詢模塊將用戶的查詢請求通過特征提取模塊轉(zhuǎn)換為查詢特征向量,然后調(diào)用匹配模塊計(jì)算特征庫中的每一個(gè)特征與待查圖像特征的相似度,并按相似程度由大到小排列返回給用戶所需要的圖像?;趦?nèi)容的圖像檢索系統(tǒng)所使用的匹配不是精確匹配而是一種基于相似的檢索,它關(guān)心的是排序,選擇合適的相似性度量函數(shù)很重要。目前研究圖像內(nèi)容的相似性度量是指圖像特征間的相似性,是圖像檢索研究的重要組成部分。相似性度量方法的好壞影響到圖像檢索的性能;而相似性度量的計(jì)算復(fù)雜性影響到圖像檢索的用戶響應(yīng)時(shí)間。一般假設(shè)圖像特征矢量是距離空間中的元素(其中的元素稱為點(diǎn)),通過計(jì)算兩點(diǎn)之間的接近程度來衡量圖像特征之間的相似度。

4界面設(shè)計(jì)及MATLABGUI編程本章主要介紹該系統(tǒng)圖形界面及其gui編程實(shí)現(xiàn)。4.1用GUIDE編輯器建立圖形界面建立gui,用guide編輯器進(jìn)行編輯。為了更好的實(shí)現(xiàn)功能,并且為用戶提供良好的用戶界面,需要設(shè)計(jì)一個(gè)簡潔而充實(shí)的界面,界面設(shè)計(jì)如圖4-1所示。圖4-1主界面

以下是該界面的初始化程序:gui_Singleton=1;gui_State=struct('gui_Name',mfilename,...'gui_Singleton',gui_Singleton,...'gui_OpeningFcn',@Demo_OpeningFcn,...'gui_OutputFcn',@Demo_OutputFcn,...'gui_LayoutFcn',[],...'gui_Callback',[]);ifnargin==0%LAUNCHGUI initial_dir=pwd;%OpenFIG-filefig=openfig(mfilename,'reuse'); %Generateastructureofhandlestopasstocallbacks,andstoreit.handles=guihandles(fig);guidata(fig,handles);%disp('populate1!!');%Populatethelistboxload_listbox(initial_dir,handles)%Returnfigurehandleasfirstoutputargumentifnargout>0 varargout{1}=fig;endelseifischar(varargin{1})%INVOKENAMEDSUBFUNCTIONORCALLBACKtry[varargout{1:nargout}]=feval(varargin{:});%FEVALswitchyardcatchdisp(lasterr);endend4.2菜單條(MenuBar)由圖4-1可知,這個(gè)主界面包含了一個(gè)菜單欄,文件(file)項(xiàng),選項(xiàng)(option)項(xiàng),幫助(help)項(xiàng)。由于本系統(tǒng)旨在模擬實(shí)現(xiàn)web圖像檢索的基本功能,因此file以及help項(xiàng)并沒有進(jìn)行特別的制作。而option選項(xiàng)則是菜單欄的重點(diǎn),option選項(xiàng)下有兩個(gè)子選項(xiàng),如圖4-2所示。圖4-2option子選項(xiàng)Option有兩個(gè)子選項(xiàng),其一為inputtodatabase,該模式下實(shí)現(xiàn)的功能主要為將本地文件夾下的所有文件的文件名導(dǎo)入到一個(gè)名為database的TXT文檔里。另外一個(gè)選項(xiàng)是searchdatabse。這個(gè)選項(xiàng)所實(shí)現(xiàn)的功能則是整個(gè)系統(tǒng)的核心部分,在該模塊下,可以實(shí)現(xiàn)將本地文件夾下與輸入圖片相似的十張圖片按高低順序排列呈現(xiàn)出來。以下為inputtodatabase子選項(xiàng)的代碼部分:functioninputDatabase_Callback(hObject,eventdata,handles)%hObjecthandletoCloseMenuItem(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Somecodetoinputtheselectedimagetothedatabase...set(handles.input,'Checked','On');set(handles.search,'Checked','Off');set(handles.listbox1,'Enable','On');set(handles.text1,'Enable','On');set(handles.popupmenu,'Enable','On');handles.option='input';%Thismeansthattheoptionisto"inputtodatabase"...guidata(hObject,handles)以下為searchdatabase部分的程序代碼:functionsearchDatabase_Callback(hObject,eventdata,handles)%hObjecthandletoCloseMenuItem(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Somecodetosearchthedatabasefortheselectedimage...set(handles.input,'Checked','Off');set(handles.search,'Checked','On');set(handles.listbox1,'Enable','On');set(handles.text1,'Enable','On');set(handles.popupmenu,'Enable','On');handles.option='search';%Thismeansthattheoptionisto"searchdatabase"...guidata(hObject,handles)4.3彈出框(Popupmenu)彈出框的目的主要是為了選擇圖片庫所在路徑。彈出框如圖4-3所示。4-3彈出框(popumenu)以下為彈出框(popumenu)的代碼部分:functionpopupmenu_Callback(hObject,eventdata,handles)%hObjecthandletopopupmenu(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Hints:contents=get(hObject,'String')returnspopupmenucontentsascellarray%contents{get(hObject,'Value')}returnsselecteditemfrompopupmenuval=get(hObject,'Value');str=get(hObject,'String');cd(str{val});load_listbox(pwd,handles)該段代碼讓彈出框中可以顯示demo文件所在的本地文件夾的路徑。4.4列表框(Listbox)列表框需要做的事情就是將彈出框顯示的本地文件夾路徑下的文件全部顯示出來。并且可以方便的拖動(dòng)選擇,更好的為圖像檢索服務(wù)。列表框如圖4-4所示。圖4-4列表框(listbox)以下兩段為列表框的相關(guān)代碼,實(shí)現(xiàn)的功能各有差異。其中第一段如下:functionvarargout=listbox1_Callback(h,eventdata,handles)%hObjecthandletolistbox1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Hints:contents=get(hObject,'String')returnslistbox1contentsascellarray%contents{get(hObject,'Value')}returnsselecteditemfromlistbox1mouse_event=get(handles.figure1,'SelectionType');index_selected=get(handles.listbox1,'Value');file_list=get(handles.listbox1,'String'); filename=file_list{index_selected};ifstrcmp(mouse_event,'normal')if~handles.is_dir(handles.sorted_index(index_selected))[newpath,name,ext,ver]=fileparts(filename);switchextcase'.BMP'set(handles.selectButton,'Enable','On');case'.bmp'set(handles.selectButton,'Enable','On');case'.tiff'set(handles.selectButton,'Enable','On');otherwiseset(handles.selectButton,'Enable','Off');endendendifstrcmp(mouse_event,'open') ifhandles.is_dir(handles.sorted_index(index_selected)) cd(filename) load_listbox(pwd,handles)end以上這段代碼實(shí)現(xiàn)的主要是在點(diǎn)擊選擇擴(kuò)展名為tiff以及bmp的文件時(shí),可以對按鈕(PushButton)進(jìn)行操作。從而進(jìn)行圖片的查看及檢索。以下是另外一段代碼:functionload_listbox(dir_path,handles)cd(dir_path)dir_struct=dir(dir_path);[sorted_names,sorted_index]=sortrows({dir_}');handles.file_names=sorted_names;handles.is_dir=[dir_struct.isdir];handles.sorted_index=[sorted_index];guidata(handles.figure1,handles)set(handles.listbox1,'String',handles.file_names,... 'Value',1)set(handles.text1,'String',pwd)以上代碼主要是規(guī)定了該列表框中顯示讀取的是彈出框本地文件夾下的各個(gè)文件的文件名。4.5按鈕(PushButton)本系統(tǒng)界面下共有三個(gè)按鈕,分別實(shí)現(xiàn)不同的功能,分別為選擇圖片按鈕,導(dǎo)入數(shù)據(jù)庫按鈕,查詢按鈕。以下將詳細(xì)的介紹這三個(gè)按鈕。4.5.1選擇圖片該按鈕實(shí)現(xiàn)的功能是在選擇好右邊列表框內(nèi)相應(yīng)的可以讀取的文件格式的圖片時(shí),進(jìn)行圖片的讀取。按下按鈕后,會(huì)顯示出該圖片的紋理特征圖以及顏色直方圖。選擇按鈕如圖4-5所示。圖4-5選擇圖片按鈕該按鈕的程序代碼段如下所示:functionselectButton_Callback(hObject,eventdata,handles)%hObjecthandletoselectButton(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)index_selected=get(handles.listbox1,'Value');file_list=get(handles.listbox1,'String'); filename=file_list{index_selected};[newpath,name,ext,ver]=fileparts(filename);handles.filename=strcat(name,ext);%[handles.queryx,handles.querymap]=imread(filename);handles.queryx=imread(filename);%readtheimagefile.figuresubplot(1,2,1)%imshow(handles.queryx,handles.querymap);%Thisdisplaystheimage.imshow(handles.queryx);subplot(1,2,2)%imhist(handles.queryx,handles.querymap);imhist(handles.queryx);%ObtainHSVformatoftheimage...%handles.queryhsv=rgb2hsv(handles.querymap);guidata(hObject,handles)set(handles.selectButton,'Enable','Off');set(handles.listbox1,'Enable','Off');set(handles.text1,'Enable','Off');set(handles.popupmenu,'Enable','Off');set(handles.input,'Enable','Off');set(handles.search,'Enable','Off');%handles.optionswitchhandles.optioncase'input'set(handles.inputButton,'Enable','On');case'search'set(handles.searchButton,'Enable','On');end以上的這段代碼中,有一段代碼可以將右側(cè)列表框內(nèi)的圖片文件讀取出來并以單獨(dú)的窗口顯示被選圖片和顏色直方圖,如圖4-6所示。圖4-6被選圖片及顏色直方圖4.5.2導(dǎo)入數(shù)據(jù)庫該按鈕實(shí)現(xiàn)的功能相對簡單。就是在inputtodatabase下,可以將列表框中的所有文件的文件名按順序?qū)氲奖镜匚募A路徑下的一個(gè)名為database的TXT文檔中。該按鈕如圖4-7所示,該database文檔如圖4-8所示。圖4-7導(dǎo)入數(shù)據(jù)庫按鈕圖4-8database.txt文檔該按鈕的程序代碼段如下:functioninputButton_Callback(hObject,eventdata,handles)%hObjecthandletotransform1button(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)set(handles.inputButton,'Enable','Off');%Opendatabasetxtfile...forreading...fid=fopen('database.txt');exists=0;while1tline=fgetl(fid);if~ischar(tline),break,end%Meaning:EndofFile...if(strcmp(tline,handles.filename))exists=1;break;endendfclose(fid);if~existsfid=fopen('database.txt','a');file_list=get(handles.listbox1,'String'); M=size(file_list);fori=1:Mfilename=file_list{i};fprintf(fid,'%s\r',filename);end;fclose(fid);endguidata(hObject,handles)msgbox('Databaseupdatedwithfilename...','Success...');set(handles.input,'Checked','Off');set(handles.search,'Checked','Off');set(handles.input,'Enable','On');set(handles.search,'Enable','On');以上代碼還實(shí)現(xiàn)了一個(gè)功能,就是當(dāng)有新的文件添加到本地文件夾下時(shí),會(huì)出現(xiàn)一個(gè)窗口提示“Databaseupdatedwithfilename...”更新database文檔,更新完成后會(huì)顯示“Success...”。4.5.3查詢該按鈕實(shí)現(xiàn)的功能就是利用同組另外兩個(gè)同學(xué)提供的基于紋理特征和顏色特征的算法,查找出本地文件夾下與目標(biāo)圖標(biāo)最相似的十幅圖片,并將之降序排列。該按鈕如圖4-9所示。圖4-9查詢按鈕

該按鈕的程序代碼段如下所示:functionsearchButton_Callback(hObject,eventdata,handles)%hObjecthandletotransform2button(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)set(handles.searchButton,'Enable','Off');%Coloursearch...%Opendatabasetxtfile...forreading...fid=fopen('database.txt');resultValues=[];%Resultsmatrix...resultNames={};i=1;%Indices...j=1;h=waitbar(0,'PleaseWait...');while1imagename=fgetl(fid);if~ischar(imagen

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論