【正文】
各個(gè)模塊的界面及界面關(guān)系進(jìn)行研究,最終實(shí)現(xiàn)一款易于用戶接受,方便用戶操作的軟件。 課題研究?jī)?nèi)容 本論文主要討論分析如何開發(fā)一款基于 Android 平臺(tái)的圖像處理軟件。在圖像通訊、辦公自動(dòng)化系統(tǒng)、地理信息系統(tǒng)、醫(yī)療設(shè)備、衛(wèi)星照片傳輸及分析和工業(yè)自動(dòng)化領(lǐng)域具有非常廣泛的應(yīng)用,并且出現(xiàn)了眾多的圖像處理理論和算法( Wavelet、 Fractal、Morphology、遺傳算法、神經(jīng)網(wǎng)絡(luò)等),如 Fractal 算法可以廣泛應(yīng)用到圖像處理、圖形處理、紋理分析,同時(shí)還可以用于數(shù)學(xué)、物理、生物、神經(jīng)、和音樂等方面。由于圖形圖像各種算法的實(shí)現(xiàn),使得圖像的處理越來(lái)越方便,推動(dòng)各項(xiàng)圖形圖像應(yīng)用 ,更好的為人們服務(wù)。越來(lái)越多的人希望在移動(dòng)的過程中高速地接入互聯(lián)網(wǎng),獲取急需的信息,完成想做的事情。它們的增長(zhǎng)速度都是任何預(yù)測(cè)家未曾預(yù)料到的。 image editing。同時(shí),隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,圖形圖像處理技術(shù)在各個(gè)領(lǐng)域的研究和應(yīng)用日益深入和廣泛, 為了實(shí)現(xiàn)在手機(jī)上對(duì)圖 像進(jìn)行處理,本人開發(fā)了一個(gè)基于 android手機(jī)圖像處理的軟件。 I 基于 android 手機(jī)圖像處理軟件設(shè)計(jì) 摘要 : 隨著移動(dòng)通信技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,手機(jī)操作系統(tǒng)發(fā)生了巨大的變化,從進(jìn)行簡(jiǎn)單通話功能的非智能手機(jī)到現(xiàn)在集上網(wǎng)、聊天、收發(fā)郵件、視屏電話會(huì)議等各種服務(wù)為一身的智能手機(jī)系統(tǒng)。該軟件用 Java 語(yǔ)言, Android SDK 開發(fā)包和 Eclipse 開發(fā)工具進(jìn)行開發(fā)。 image enhancement。迄今,全球移動(dòng)用戶已超過 15 億,互聯(lián)網(wǎng)的用戶也已逾 7 億。 Android 的誕生正順應(yīng)了潮流的發(fā)展。圖形圖像處理的信息量很大,對(duì)處理速度的要求也比較高。進(jìn)入 21 世紀(jì),隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展和相關(guān)理論的不斷完善,數(shù)字圖像處理技術(shù)在許多應(yīng)用領(lǐng)域受到廣泛重視并取得了重大的開拓性成就。本課題需要研究實(shí)現(xiàn)內(nèi)容有如下幾點(diǎn) : (1)研究 Android 平臺(tái)體系結(jié)構(gòu)。 (3)研究基于 Android 平臺(tái)圖像處理的算法,對(duì)數(shù)字圖像處理算法進(jìn)行大量的學(xué)習(xí)和分析,不斷的優(yōu)化算法,實(shí)現(xiàn)圖像的美化效果,讓用戶從中得到更多的樂趣 。配置環(huán)境變量包括 java_home, path 和 classpath 三個(gè)部分。 2.“ classpath”的配置。 的環(huán)境變量配置完成,可以通過打開命令提示符窗口,輸入命令“ java version”, 看到 Java 版本的信息,來(lái)確定安裝是否 成功。小編以 32 位為例)。 docs 包含了的 Android 開發(fā)文檔, samples 包含了 NotePad、 ApiDemos、 Snake 等示例程序, tools 包括全部開發(fā)、編譯和調(diào)試工具。 adb的工作方式比較特殊,采用監(jiān)聽 Socket TCP 5554 等端口的方式 IDE和 Qemu 通訊,默認(rèn)情況下 adb 會(huì) 監(jiān)聽 daemon 相關(guān)的網(wǎng)絡(luò)端口,所以當(dāng)運(yùn)行Eclipse 時(shí) adb 進(jìn)程就會(huì)自動(dòng)運(yùn)行。注意 :adb shell默認(rèn)只啟動(dòng)一個(gè)模擬器 (emulator),如果需要啟動(dòng)多個(gè)模擬器,則需要添加相應(yīng)的參數(shù)。 XML(Extensible Markup Language)即可擴(kuò)展標(biāo)記語(yǔ)言,它與 HTML 一樣,都是 SGML(Standard Generalized Markup Langage,標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言 )。 (l)開放性 XML 成功的主要因素之一是它的基于規(guī)范和標(biāo)準(zhǔn)的開放性。 XML 繼承了 SGML的許多關(guān)鍵特性,首先是良好的可擴(kuò)展性。同時(shí),內(nèi)容和形式的分離使 XML 文檔在不同應(yīng)用系統(tǒng)之間的轉(zhuǎn)換變得非常簡(jiǎn)單,用戶只需要將兩個(gè)不同 XML 文檔的 DTD(Document Type Definition)或XML Schema 進(jìn)行映射。 JNI 設(shè)計(jì)的目的是在 Java 應(yīng)用程序中調(diào)用其它語(yǔ)言編寫的功能模塊。 (2)使用 javac 命令編譯所編寫的 java 類,生成可以在 JVM 運(yùn)行的字節(jié)碼。 (4)將 C/C++程序文件編譯成動(dòng)態(tài)鏈接庫(kù)文件,然后將動(dòng)態(tài)庫(kù)加載到系統(tǒng)中,然后應(yīng)用程序通過 native 接口調(diào)用即可。 便于 接受用戶輸入,更新頁(yè)面信息及狀態(tài)。本軟件中起著控制作用的主要包括一些頁(yè)面組件 (按鈕、滑動(dòng)條,圖像視圖、下拉列表,畫廊視圖等 )監(jiān)聽器及 文件。 圖像增強(qiáng)處理:通過監(jiān)聽圖像增強(qiáng)界面中的 SeekBar 控件,獲取用戶的輸入信息,由 SeekBar 監(jiān)聽器及 文件獲取數(shù)據(jù), 調(diào)用算法圖像的亮度、飽和度、色相進(jìn)行任意的調(diào)節(jié)。模塊之間通過接口或者數(shù)據(jù)進(jìn)行通信,降低模塊間的藕合性。該模塊的 設(shè)計(jì)層次結(jié)構(gòu)如圖 所示: 圖 圖像編輯模塊設(shè)計(jì) 層次結(jié)構(gòu) 用戶視圖層 :顯示用戶編輯選擇的界面,接收用戶的界面輸入。 系統(tǒng)控制層 :負(fù)責(zé)接收用戶視圖層傳遞的數(shù)據(jù),并將數(shù)據(jù)交給對(duì)應(yīng)的業(yè)務(wù)邏 輯類去處理。本模塊由 構(gòu)成。在本模塊中 用戶視圖層是由各個(gè) SeekBar(滑動(dòng)條)控件、 Button(按鈕)控件和 ImageView(圖像視圖)控件組成。 本軟件中 的系統(tǒng)控制層由 SeekBar(滑動(dòng)條)、 Button(按鈕)和ImageView(圖像視圖)監(jiān)聽器及 完成。 圖像特效模塊設(shè)計(jì) 圖像特效模塊設(shè)計(jì)主要實(shí)現(xiàn)了對(duì)圖像的黑白、二值化、霓虹、浮雕、底片、光暈、冰凍、懷舊等效果的處理。在本模塊中用戶的界面是主要通過 XML 形式實(shí)現(xiàn)。 業(yè)務(wù)邏輯處理層 :接收數(shù)據(jù),處理用戶選擇的 ImageView(圖像視圖)控件事件。使用 ImageView(圖像視圖)控件來(lái)顯示需要被處理的圖像,使用 Gallery(畫廊視圖)控件來(lái)顯示有不同類型的邊框效果的 ImageView(圖像視圖)控件。在本模塊中用戶的界面是主要通過 XML 形式實(shí)現(xiàn)。 業(yè)務(wù)邏輯處理層 :接收數(shù)據(jù),處理用戶選擇的 ImageView(圖像視圖)控件事件。 以及通過SeekBar 控 件實(shí)現(xiàn)對(duì)圖像的銳化功能,其中用到了拉普拉斯算法。 ( 2) 00c os sin 0 1 0sin c os 0 0 10 0 1 0 0 1 1ppxxyy????? ? ? ? ? ?? ? ? ? ? ?? ? ? ? ? ?? ? ? ? ? ?? ? ? ? ? ???? 是將上一步變換后的 00( , )Px y , 圍繞新的坐標(biāo)原點(diǎn)順時(shí)針旋轉(zhuǎn) ? 。所謂對(duì)稱變換,就是經(jīng)過變化后的圖像和原圖像是關(guān)于某個(gè)對(duì)稱軸是對(duì)稱的。 delta 建議取 , 屬于經(jīng)驗(yàn)值,可以根據(jù)實(shí)際的情況進(jìn)行微調(diào)。 / /E . r A . r * l a pl a c i a n 0 * de l t a B . r * l a p l a c i a n 1 * de l t a C . r * l a pl a c i a n 2A B CD E FG H I? ? ?對(duì) 點(diǎn) 進(jìn) 行 銳 化 :拉 普 拉 斯 矩 陣系 數(shù)? ? ? ? ? ?? ? ? ? ? ?* de l t a D . r * l a pl a c i a n 3 * de l t a E . r * l a pl a c i a n 4 * de l t a F . r * l a pl a c i a n 5* de l t a G. r * l a pl a c i a n 6 * de l t a H . r * l a pl a c i a n 7 * de l t a I . r * l a pl a c i a n 8* de l t a 。其中主要用到了 Android 中的 Color 類 獲取圖像的像素值,通過獲取 SeekBar 控件的參數(shù)對(duì)應(yīng)改變圖像的像素值。 如下面代碼所示: 22 pub l i c v oid se t S a t ur a t i on( f l oa t sa t ) { r e se t ( ) 。 f i na l f l oa t G = 15f * i nv S a t 。 m [ 2] = B 。 m [ 10] = R 。 如下面代碼所示: 23 ? ?? ?? ?? ?f l oa t de l t a =。 / / Bne wR i nt ( de l t a * pi xR 0 * pi xG re dgre e nbl ue???? ? ?通 過 改 變 的 值 可 以 調(diào) 節(jié) 圖 像 的 亮 度 , 設(shè) 置 為 時(shí) , 保 持原 圖 像 的 值獲 取 像 素 的 分 量獲 取 像 素 的 分 量獲 取 像 素 的 分 量? ?? ?0 * pi xB ) / / Rne wG i nt ( 0 * pi xR de l t a * pi xG 0 * pi x B ) / / Rne wB i nt ( 0 * pi xR 0 * pi xG de l t a * pi x B ) / / B? ? ?? ? ?; 重 新 設(shè) 置 像 素 分 量; 重 新 設(shè) 置 像 素 的 分 量; 重 新 設(shè) 置 像 素 分 量 效果如圖 所示: 圖 調(diào)節(jié)飽和度 前(左)和 調(diào)節(jié)飽和度 后(右) 色相 算法原理: 獲取圖像的每一個(gè)像素,存放在數(shù)組中,通過 Color 類中的 red、green、 blue 方法分別獲取每個(gè)像素的 RGB 分量,將每個(gè)像素按不同的比例將 RGB三個(gè)分量進(jìn)行重新設(shè)置,然后保存在新的數(shù)組中,重畫圖像。pi xR C ol or . pi xC ol or 。 / / Rne w G i nt ( se t _ gr e e n * pi xG ) 。 黑白 算法原理: 獲取圖像的每一個(gè)像素,存放在數(shù)組中,通過 Color 類中的 red、green、 blue 方法分別獲取每個(gè)像素的 RGB 分量,將每個(gè)像素 RGB 三個(gè)分量的比例設(shè)置為 1:1:1,即讓 RGB的值等即可,然后保存在新的數(shù)組中,然后重畫圖像。 / / Bne w R i nt ( 0. 3 * p i xR 0. 3 * p i xG 0. 3 * p i xB ) 。 算法原理: 獲取圖像的每一個(gè)像素,存放在數(shù)組中, 在對(duì)圖像黑白處理后,通過選取一個(gè)閾值,對(duì)圖像的每一個(gè)像素進(jìn)行二值化,如果像素的RGB分量大于選取的閾值,將像素值設(shè)置為255,否知設(shè)置為0。 / / RpixG C ol or . pixC ol or 。 / / Gne w B i nt ( * pixR * pixG * pixB ) 。 e l se ne w G 0 。 然后保存在新的數(shù)組中,重畫圖像。. r . g . b R GBA? ? ?? ? ?? ? ?求 點(diǎn) 的 浮 雕 效 果 如 下 :注 : 式 中 的 、 和 分 別 表 示 該 像 素 的 的 權(quán) 值 。B . b 255 B . b 。將處理的像素保存到新的數(shù)組中,重畫圖像。 如下面代碼所示: ? ?? ? ? ? ? ?? ? ? ? ? ?i nt [ ] g a uss = n e w [ ] 1 2 1 2 4 2 1 2 1 / /i nt d e l t a = 16 。 例: 30 ? ?? ?? ? B CBpixR Col or . pixCol or 。 / /Are dgre e nblue????求 點(diǎn) 的 冰 凍 效 果 :獲 取 像 素 的 分 量獲 取 像 素 的 分 量獲 取 像 素 的 分 量得 到 的 新 的 像 素 值 效果如圖 所示: 圖 冰凍處理 前(左)和 冰凍處理 后(右) 霓虹 算法原理: 獲取圖像的每一個(gè)像素,存放在數(shù)組中,通過 Color類中的 red、 green、blue 方法分別獲取每個(gè)像素的 RGB 分量 ,利用當(dāng)前像素點(diǎn)的 RGB 分量與下一個(gè)像素點(diǎn)的 RGB 分量求差之后取絕對(duì)值,再加上當(dāng)前像素點(diǎn)的 RGB 分量與下一行當(dāng)前列的像素點(diǎn)的 RGB 分量求差之后取絕對(duì)值,將得的新的像素點(diǎn)保存到數(shù)組中,重畫圖像。( ) ( )( ) (? ? ? ?* de l t a 。 系數(shù)矩陣如下 : 0 .3 9 3 0 .7 6 9 0 .1 8 90 .3 4 9 0 .6 8 6 0 .1 6 80 .2 7 2 0 .5 3 4 0 .1 3 1?????? 如下面代碼所示: 32 ? ?? ?? ?? ?? ?pixR Col or . pixCol or 。 / / Rne w G i nt ( 0. 34 9 * p i xR 0. 68 6re dgre e nblue???? ? ??