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