武警工程大學(xué)研究生管理大隊(duì)12隊(duì) 張 鑫
武警廣州指揮學(xué)院 姜 波
基于安卓的手機(jī)圖片分類軟件的設(shè)計(jì)與實(shí)現(xiàn)
武警工程大學(xué)研究生管理大隊(duì)12隊(duì) 張 鑫
武警廣州指揮學(xué)院 姜 波
本文針對(duì)安卓手機(jī)中圖片瀏覽器的快速分類和瀏覽,提出一種手機(jī)圖片分類軟件方案。利用層次分析法和手機(jī)圖片的特征,從手機(jī)圖片大小、分辨率、格式、信息完整性四個(gè)方面建立手機(jī)圖片的評(píng)價(jià)模型,對(duì)圖片進(jìn)行打分,最后進(jìn)行篩選。最后給出了Android軟件用戶界面生成和實(shí)現(xiàn)過程。
安卓;圖片瀏覽器;層次分析法
現(xiàn)在Android手機(jī)操作系統(tǒng)已經(jīng)成為整個(gè)手機(jī)操作系統(tǒng)的主流系統(tǒng)。圖片大量地出現(xiàn)在手機(jī)之中,因此手機(jī)圖片的管理和瀏覽的使用也是越來越多。然而儲(chǔ)存在手機(jī)中的圖片來源多種,因此大量無用的雜亂圖片會(huì)出現(xiàn)在手機(jī)之中,例如程序應(yīng)用的圖標(biāo),廣告圖片,網(wǎng)上瀏覽的緩存圖片。而安卓系統(tǒng)的圖片瀏覽器是自動(dòng)加載所有圖片,使得這些圖片大量的充斥在其中影響圖片的瀏覽。因此設(shè)計(jì)一個(gè)新的手機(jī)圖片瀏覽器,實(shí)現(xiàn)先對(duì)圖片的評(píng)分接著進(jìn)行過濾。
手機(jī)中所儲(chǔ)存的圖片大致可以分為以下三大來源:手機(jī)拍照、網(wǎng)上下載保存、手機(jī)應(yīng)用的所產(chǎn)生。下面對(duì)這幾種來源進(jìn)行詳細(xì)分析。
1.1 手機(jī)圖片特征分析
拍攝的圖像所包含很多內(nèi)容,包括ISO、日期時(shí)間、白平衡、快門、相機(jī)品牌、及全球定位系統(tǒng)(GPS)、縮略圖、型號(hào)等等。然而普通的手機(jī)圖片瀏覽器卻并未對(duì)這些數(shù)據(jù)進(jìn)行深入分析,而是簡單按照時(shí)間的方式或者圖片所在的文件夾的方式進(jìn)行排序。
如此手機(jī)中的圖庫就會(huì)成為大雜燴,包羅萬象,影響用戶的使用。一般的解決方法是對(duì)看圖軟件進(jìn)行設(shè)置,指定讀取特定文件夾圖像。但是這樣不僅僅造成圖片可能漏讀取出來,并且隨著包含圖像的文件越來越多,每次設(shè)置也是非常麻煩。
根據(jù)目前分析,我們可以得出手機(jī)圖片三大來源的特征分別是:拍照?qǐng)D片:1)大小較大一般大于1M,圖片質(zhì)量高;2)圖片文件頭部信息包含全面;3)圖片分辨率較大。下載圖片:1)文件大小大多低于1M,圖片質(zhì)量普遍不高;2)圖片進(jìn)行壓縮過,文件頭部包含信息幾乎沒有;3)圖片文件多為jpg或gif格式。手機(jī)程序圖片:1)大小多為幾K到幾十K;2)圖片長寬一致。
為了對(duì)以上的分析進(jìn)行驗(yàn)證,對(duì)手機(jī)中的圖片進(jìn)行了實(shí)際的調(diào)查和統(tǒng)計(jì),總共收集了2530張的手機(jī)圖片,進(jìn)行歸納整理得出的統(tǒng)計(jì)結(jié)果如下:
?
對(duì)圖像進(jìn)行觀察發(fā)現(xiàn),得出以下幾個(gè)結(jié)論:1)拍照?qǐng)D片集中在1-16M范圍之內(nèi);網(wǎng)絡(luò)下載圖片集中在10KB-100KB范圍之內(nèi);手機(jī)程序圖標(biāo)集中在0KB-100KB范圍之內(nèi);2)拍照?qǐng)D片集中在jpg格式,網(wǎng)絡(luò)下載圖片多為jpg或gif格式;手機(jī)程序圖片大多為png格式;3)雜亂無用的圖片集中在0-10KB,并且這些圖片的格式多為jpg格式或png格式。
統(tǒng)計(jì)所得的結(jié)果同理論上的分析大致相同,可以得出手機(jī)圖片的特征。
對(duì)手機(jī)圖片的分辨率統(tǒng)計(jì)所有的手機(jī)程序圖標(biāo)其長寬分辨率絕大部分是完全相同,個(gè)別相差不超過10。手機(jī)拍攝的圖片分辨率之差,不同手機(jī)不相同,但之差在500以上。而網(wǎng)絡(luò)下載圖片分辨率不一定,但不是走向兩個(gè)極端而是介于其中的。
1.2 手機(jī)圖片評(píng)價(jià)模型建立
首先依據(jù)實(shí)際統(tǒng)計(jì)圖片信息結(jié)果對(duì)圖片大小、圖片格式、圖片分辨率、圖片信息完整性評(píng)價(jià)分?jǐn)?shù)建立標(biāo)準(zhǔn),每項(xiàng)滿分標(biāo)準(zhǔn)為100分。標(biāo)準(zhǔn)建立應(yīng)該盡量突出手機(jī)拍照所得照片得分盡量要高,手機(jī)應(yīng)用程序圖標(biāo)的得分應(yīng)該盡量低,網(wǎng)絡(luò)下載所得的圖片應(yīng)該有一定的區(qū)分度。下面為從四個(gè)方面分別建立的不同的評(píng)分標(biāo)準(zhǔn)。
1)圖片格式:jpg格式低質(zhì)量雜亂的圖片集中在0—10KB之中,依據(jù)統(tǒng)計(jì)結(jié)果jpg格式圖片總數(shù)在931張,0-10KB有407張占到43.71%,非雜亂圖片占到56.29%,。所以jpg圖片得分為56分;gif格式圖片共有102張,經(jīng)過篩選其中35張圖片質(zhì)量較高,占到34.31%,所以gif格式圖片得分為34分;png圖片共有1343張圖片,幾乎全部為應(yīng)用程序圖標(biāo)或者為廣告圖片,所以得分為1分。
2)圖片大?。?-16M圖片總共有208張圖片,幾乎沒有無用雜亂的圖片,所以得分99分;100KB-1Mb圖片共有69張,有15張的雜亂的圖片占到21.73%,所以得分為78分;10KB-100KB圖 片共有900張,網(wǎng)絡(luò)下載圖片,程序圖片較多集中在這個(gè)地方,雜亂圖片有565張占到62.77%,所以得分為37分;0-10KB共有1353張,幾乎所有圖片都為雜亂無用的圖片,所以得分為1分。
3)圖片分辨率:由于程序圖標(biāo)明顯的特征是分辨率的長和寬之差非常小,為了將其過濾,若分辨率的長和寬差距在10之內(nèi),得分為1分;若分辨率的長寬都在1000以上則認(rèn)定為拍照所得的圖片,得分為99分;其余分辨率長寬不同,得分為50;
4)信息完整性:
如圖片保存有拍攝的圖像所包含很多內(nèi)容,包括ISO、日期時(shí)間、白平衡、快門、相機(jī)品牌、及全球定位系統(tǒng)(GPS)、縮略圖、型號(hào)全部或者部分信息,根據(jù)前面對(duì)手機(jī)圖片的分析可以得出包含這些信息的圖片不可能是網(wǎng)絡(luò)下載所得或者為手機(jī)程序圖片,則可以認(rèn)定為拍照所得的圖片,得分為99分;若不包含的分為1分。
1.3 層次分析法判斷四個(gè)方面的評(píng)分權(quán)重
1)層次結(jié)構(gòu)
目標(biāo)層:合理的圖片管理。
準(zhǔn)則層:圖片大小(B1),圖片格式(B2),圖片分辨率(B3),圖片信息完整性(B4)。
措施層:圖片過濾、重新排序。
圖1 軟件文件結(jié)構(gòu)及實(shí)現(xiàn)界面
2)構(gòu)造判斷矩陣并賦值
根據(jù)遞階層次結(jié)構(gòu)可以構(gòu)造出判斷矩陣。
B1 B2 B3 B4 B1 1 7 3 5 B2 1/7 1 1/5 1/3 B3 1/3 5 1 3 B4 1/5 3 1/3 1
3)計(jì)算權(quán)向量與檢驗(yàn)
平均隨機(jī)一致性指標(biāo)R.I.表(1000次正互反矩陣計(jì)算結(jié)果)
矩陣階數(shù) 1 2 3 4 5 6 7 8 R.I. 0 0 0.52 0.89 1.12 1.26 1.36 1.41矩陣階數(shù) 9 10 11 12 13 14 15 R.I. 1.46 1.49 1.52 1.54 1.56 1.58 1.59
最后的出的結(jié)論為矩陣滿足一致性檢驗(yàn),得出的權(quán)重分別為:
格式比重為50.5%,信息完整性比重為26.22%,分辨率比重為11.75%,圖片大小比重為11.53%。
1.4 模型驗(yàn)證
為了對(duì)評(píng)價(jià)模型進(jìn)行進(jìn)一步驗(yàn)證,從收集的2600多張圖片之中選取具有代表性的100張圖片。其中有20張為雜亂無用的圖片里面有14張應(yīng)用程序圖標(biāo),6張廣告圖片,其他80張圖片有40張手機(jī)拍攝的圖片,40張網(wǎng)上下載的圖片。最后經(jīng)過評(píng)價(jià)模型檢驗(yàn),統(tǒng)計(jì)得出20張圖片之中有15張圖片的得分是低于30分,被成功的過濾出來,過濾雜亂圖片的成功率為75.00%。非雜亂的80張圖片中,有13張被錯(cuò)誤的過濾掉,差錯(cuò)率為16.25%。雖然評(píng)價(jià)模型并不是100%的能夠準(zhǔn)確無誤的過濾出所有雜亂的圖片,但是過濾的成功率較高,過濾的差錯(cuò)率較低,還是符合預(yù)期,所以對(duì)評(píng)價(jià)系統(tǒng)基本滿意。
2.1 界面設(shè)計(jì)
如今構(gòu)建Android的界面主要有三種方式:(1)利用XML配置文件生成;(2)使用代碼在程序中生成;(3)用界面的接口形成自定義的用戶界面組件。
三種方式都有各自的優(yōu)缺點(diǎn),下面結(jié)合本Android程序來進(jìn)行一一介紹:(1)利用XML配置文件生成。 優(yōu)秀的程序員寫程序代碼時(shí),都會(huì)具有低耦合度,界面的設(shè)計(jì)代碼和程序的邏輯代碼應(yīng)該是互相分離的。所以使用XML文件是值得提倡的行為。通過XML文件配置時(shí),Android程序啟動(dòng)時(shí)會(huì)用setContent-View()的方法來加載界面,然后使用findViewById()來在程序中注冊(cè)圖形組件,程序里面的控件就能實(shí)行各種操作。(2)使用代碼在程序中實(shí)現(xiàn)。對(duì)于一部分控件來說,可以實(shí)現(xiàn)一些特殊的顯示方式,并不完全用布局XML文件中實(shí)現(xiàn)。在程序中代碼構(gòu)建的方式還可以在系統(tǒng)運(yùn)行時(shí)動(dòng)態(tài)去更改頁面布及效果。如gallery控件之中的滑動(dòng)效果,就是需要實(shí)現(xiàn)一個(gè)自定義的循環(huán),讓顯色效果交替在滑動(dòng)中體現(xiàn)。(3)用戶自定義頁面組件。 由于Android應(yīng)用程序中的用戶界面都是由View及View的各個(gè)子類圖Button,TextView等子View及各種容器ViewGroup構(gòu)成。因此也好實(shí)現(xiàn)自己定制化的界面劑頁面組件只需要繼承View類。
2.2 軟件實(shí)現(xiàn)(見圖1)
本文總結(jié)手機(jī)圖庫中的圖片三個(gè)主要來源分別是手機(jī)拍攝的圖片、網(wǎng)上下載的圖片、應(yīng)用程序圖標(biāo),并對(duì)每類圖片的特性及其原因進(jìn)行了詳細(xì)的分析。根據(jù)手機(jī)中三類圖片的特性包括圖片大小、分辨率、格式、信息完整性,建立手機(jī)圖片的評(píng)價(jià)模型。接著按照?qǐng)D片的統(tǒng)計(jì)結(jié)果建立一個(gè)標(biāo)準(zhǔn),對(duì)每一張圖片從四個(gè)特性方面進(jìn)行了打分,而加權(quán)平均數(shù)的權(quán)值是通過層次分析法得出。最后為了對(duì)評(píng)分標(biāo)準(zhǔn)的合理性以及評(píng)價(jià)模型的合理性進(jìn)行檢驗(yàn),從統(tǒng)計(jì)收集的2530選取了具有代表性的100張圖片,來對(duì)模型進(jìn)行驗(yàn)證。得出的結(jié)果是對(duì)于雜亂圖片過濾概率能達(dá)到75.00%,錯(cuò)誤檢測為雜亂圖片概率為16.25%。最終在eclipse上編寫圖片瀏覽器軟件實(shí)現(xiàn)了將低質(zhì)量,雜亂無用的圖片依據(jù)分?jǐn)?shù)進(jìn)行了過濾,從而重新對(duì)手機(jī)中的圖片進(jìn)行排序,得到相對(duì)合理的圖片瀏覽順序。
[1]李海航.基于安卓相機(jī)的照片分享平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].大連理工大學(xué),2015.
[2]普雷斯曼.軟件工程實(shí)踐的研究方法(第一版)[OL].西安:機(jī)械工業(yè)出版社,2011
[3]劉昌平,范明鈺.Android手機(jī)的輕量級(jí)訪問控制[J].計(jì)算機(jī)應(yīng)用研究,2010,7
[4]張吉軍.模糊層次分析法(FAHP)[J].模糊系統(tǒng)與數(shù)學(xué), 2000, 14(2):80-88.
[5]郭金玉,張忠彬,孫慶云,等.層次分析法的研究與應(yīng)用[J].中國安全科學(xué)學(xué)報(bào),2008,18(5):148-153.
[6]魏為,韓慧蓮,靳麗萍.基于WINCE智能手機(jī)圖片瀏覽器的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦開發(fā)與應(yīng)用,2010,23(8):48-49.
張鑫(1991—),安徽合肥人,碩士,現(xiàn)就讀于武警工程大學(xué)。
張鑫【通訊作者】(1991—),安徽合肥人,碩士,現(xiàn)就讀于武警工程大學(xué),主要研究方向:信息安全。