ˇ ´ vysoke ´ uc ˇen´ı technicke ´ Cesk e ´ Fakulta elektrotechnicka
´ projekt - A4B33SVP Softwarovy
Aplikace ”Lupa”pro Android
Vedouc´ı: Prof. Ing. Jiˇr´ı Matas, Ph.D.
Autor: Tom´aˇs Buzek
30. ledna 2012
Obsah ´ 1 Uvod
2
2 Dostupn´ e aplikace typu lupa pro Android 2.1 Zaˇr´ızen´ı pro testov´ an´ı . . . . . . . . . . . . . . . . . . . . . . 2.2 Seznam testovan´ ych aplikac´ı dostupn´ ych na Android Market 2.3 Hodnocen´ı testovan´ ych aplikac´ı . . . . . . . . . . . . . . . . . 2.3.1 Vlastnosti aplikac´ı . . . . . . . . . . . . . . . . . . . . 2.3.2 Celkov´e hodnocen´ı . . . . . . . . . . . . . . . . . . . . 2.3.3 Dvˇe nejlepˇs´ı aplikace . . . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
3 3 3 4 6 7 7
3 Popis a hlavn´ı funkce aplikace
8
4 Metody pro ovl´ ad´ an´ı a nastaven´ı fotoapar´ atu v Google Android API 4.1 Metody pro ovl´ ad´ an´ı fotoapar´ atu v Google Android API . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Metody pro nastaven´ı fotoapar´ atu v Google Android API . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Metody pro ovl´ ad´ an´ı autofocusu fotoapar´atu v Google Android API . . . . . . . . . . . . . . . . . .
8 8 8 9
5 Grafick´ e uˇ zivatelsk´ e rozhran´ı aplikace
10
6 Fotografie poˇ r´ızen´ e aplikac´ı
11
7 Z´ avˇ er
12
1
1
´ Uvod
C´ılem tohoto softwarov´eho projektu je vytvoˇren´ı aplikace v programovac´ım jazyce Java pro mobiln´ı zaˇr´ızen´ı s operaˇcn´ım syst´emem Google Android. Aplikace vytvoˇrena v tomto projektu slouˇz´ı jako lupa, vyuˇz´ıv´a vestavˇen´ y fotoapar´ at v zaˇr´ızen´ıch, s jehoˇz pomoc´ı sn´ım´ a ˇziv´ y obraz, kter´ y je pˇren´aˇsen na displej mobiln´ıho zaˇr´ızen´ı. Zaostˇrov´ an´ı obrazu je prov´ adˇeno pomoc´ı vestavˇen´eho autofocusu u tˇech zaˇr´ızen´ı, kde je tato funkce dostupn´a. Aplikace je schopna ovl´ adat t´eˇz LED diodu mobiln´ıho zaˇr´ızen´ı, pokud je k dispozici, a pouˇz´ıv´a j´ı k zlepˇsen´ı svˇeteln´ ych podm´ınek sn´ıman´e sc´eny. S vyuˇzit´ım ovl´ ad´ an´ı digit´ aln´ıho zoomu je zajiˇstˇeno zvˇetˇsov´an´ı a zmenˇsov´an´ı v´ ysledn´eho obrazu. Sn´ıman´ y obraz je moˇzno pozastavit a pozastaven´ y obraz je moˇzn´e uloˇzit do pamˇeti zaˇr´ızen´ı. Vˇsechny v´ yˇse uveden´e funkce jsou plnˇe ovladateln´e pˇres grafick´e uˇzivatelsk´e rozhran´ı aplikace, kter´e je vytvoˇreno tak, aby jej bylo moˇzn´e pohodlnˇe zobrazit a ovl´ adat na vˇsech bˇeˇzn´ ych velikostech displeje mobiln´ıch zaˇr´ızen´ı. Uˇzivatelsk´e rozhran´ı mus´ı b´ yt zpracov´ ano pˇrehlednˇe, aby byl koncov´ y uˇzivatel schopen s aplikac´ı bez obt´ıˇz´ı pracovat. Rozhran´ı je pˇripraveno na pouˇzit´ı funkce zpracov´ an´ı obrazu - debluring.
2
2
Dostupn´ e aplikace typu lupa pro Android
2.1
Zaˇ r´ızen´ı pro testov´ an´ı
Technick´ a specifikace Pro testov´ an´ı bylo zvoleno zaˇr´ızen´ı HTC Sensation s 4,3” dotykov´ ym kapacitn´ım displejem a 8 MPix fotoapar´ atem s autofocusem. V dobˇe testov´an´ı byla v zaˇr´ızen´ı nainstalov´ana verze syst´emu Android 2.3.4, verze prostˇred´ı HTC Sense 3.0, verze HTC software 1.45.401.3 CL125597 a verze j´adra 2.6.35.13-g3422292.
2.2
Seznam testovan´ ych aplikac´ı dostupn´ ych na Android Market
• Digital Magnifier by appsnack (verze 1.2) https://market.android.com/details?id=appsnack.dm • Handy Magnifier & Monocular by darkstar (verze 1.2) https://market.android.com/details?id=com.simplyusefulapps.android.handymagnifier • IDEAL Magnifier by IDEAL Group, Inc. Android Development Team (verze 1.2) https://market.android.com/details?id=com.ideal.magnifier • Lupa (Magnifier) by C.P.S. (verze 2.0) https://market.android.com/details?id=cps.mmxi.magnifier • Lupa by Igor Kostadinovi´c (verze 1.0.1) https://market.android.com/details?id=rs.ksanadu.lupa • Magnify (Zvˇetˇsovac´ı sklo) by Appd Lab (verze 2.2.4) https://market.android.com/details?id=com.appdlab.magnify • Magnify (Lupa) by HYPERIA INC. (verze 1.1) https://market.android.com/details?id=com.andromeda.magnifier • Magnify It by 3 Gamers Pro (verze 2.2) https://market.android.com/details?id=threegamers.magnifyit • Magnify Reader by mlinell (verze 1.4) https://market.android.com/details?id=com.linewall.magnify • Magnifier (for froyo) by Chanyou Hwang (verze 1.2) https://market.android.com/details?id=com.chanyou.magnifierfr • Magnifying Glass by Campo de Provas ENG DTP & Multimidia (verze 1.0.6) https://market.android.com/details?id=air.camera1 • Magnifying Glass by David Parry (verze 3.0.48) https://market.android.com/details?id=com.davidparry.magnifying • MagnifyingGlassDesire by identity, inc. (verze 1.0) https://market.android.com/details?id=identity.android.MagnifyingGlassDesire • PocketLens by Induction Labs (verze 1.0.0.2a) https://market.android.com/details?id=inductionsoftware.plns • Reading Glasses by Brad R (verze 1.5) https://market.android.com/details?id=com.doubleshot.readingglasses • Real Magnifier by Coalcat creative (verze 1.4) https://market.android.com/details?id=com.coalcat.magnifier • Zoomer by ITProgs (magnifier) (verze 1.0) https://market.android.com/details?id=com.itprogs.apps.magnifier
3
2.3
Hodnocen´ı testovan´ ych aplikac´ı
Na v´ yˇse uveden´em zaˇr´ızen´ı byly testov´ any aplikace funguj´ıc´ı jako lupa, kter´e jsou dostupn´e na Android Marketu. U aplikac´ı se hodnotila funkˇcnost, moˇznost zaostˇren´ı obrazu, pˇribl´ıˇzen´ı obrazu a bylo zjiˇst’ov´ano, zda aplikace softwarovˇe upravuj´ı obraz. Digital Magnifier by appsnack (verze 1.2) Obraz pˇren´aˇsen´ y z fotoapar´atu je na displeji roztaˇzen´ y a nen´ı zachov´ an pomˇer obrazu. Pˇri dotyku se spouˇst´ı autofocus, kter´ y dok´aˇze zaostˇrit pˇri maxim´aln´ım pˇribl´ıˇzen´ım 20 cm od pˇredmˇetu. Grafick´e rozhran´ı aplikace obsahuje posuvn´ık, kter´ y v testovan´em pˇr´ıpadˇe nemˇel ˇz´adnou funkˇcnost, a tlaˇc´ıtko, kter´e spouˇst´ı a vyp´ın´ a LED diodu. V aplikaci se nenach´az´ı moˇznost obraz jakkoli zvˇetˇsit. Handy Magnifier & Monocular by darkstar (verzr 1.2) Aplikace na testovan´em zaˇr´ızen´ı nezobrazovala ˇz´ adn´ y obraz z fotoapar´ atu, nebylo j´ı tedy moˇzn´e otestovat. Dle autora je obraz zpracov´av´an algoritmy, kter´e naz´ yv´ a X-Ray, Edge Detection a Color Map. IDEAL Magnifier by IDEAL Group, Inc. Android Development Team (verze 1.2) Obraz aplikace vykazoval deformace ve smyslu ˇspatn´eho pomˇeru stran. Dotykem na obrazovku bylo moˇzn´e pomoc´ı autofocusu zaostˇrit na pˇredmˇety vzd´ alen´e minim´ alnˇe 20 cm. Aplikace d´ale disponuje barevn´ ymi efekty, moˇznost´ı rozsv´ıcen´ı LED diody a zmrazen´ım obrazu, kter´e vˇsak na testovan´em pˇr´ıstroji zobrazilo jen zdeformovanou ˇc´ast obrazu, kter´ a byla vidˇet pˇred zmrazen´ım. V aplikaci se nenach´az´ı moˇznost obraz jakkoli zvˇetˇsit. Lupa (Magnifier) by C.P.S. (verze 2.0) Na testovan´em pˇr´ıstroji nebylo moˇzn´e vyuˇz´ıt pˇribl´ıˇzen´ı obrazu, tato funkce nebyla aplikac´ı povolena. Zaostˇrov´ an´ı je ˇreˇseno autofocusem, tedy ostr´ y obraz je moˇzn´e dostat jen pˇri ostˇren´ı na pˇredmˇety, kter´e jsou 20 cm a d´ ale. Aplikace umoˇzn ˇuje zapnout LED diodu. Lupa by Igor Kostadinovi´ c (verze 1.0.1) Orientace v aplikaci je obt´ıˇzn´a, protoˇze je dostupn´a pouze v srbˇstinˇe. Ostˇren´ı obrazu je ˇreˇseno pomoc´ı autofocusu, pˇri dotyku na obrazovku, kdy dostaneme ostr´ y obraz jen pro pˇredmˇety 20 cm a d´ ale. Dle symbol˚ u plus a m´ınus na displeji se d´a usuzovat, ˇze aplikace umoˇzn ˇuje obraz pˇribl´ıˇzit, avˇsak na testovan´em pˇr´ıstroji toto nefungovalo. Magnify (Zvˇ etˇ sovac´ı sklo) by Appd Lab (verze 2.2.4) Zaostˇren´ı obrazu je moˇzn´e pomoc´ı v syst´emu vestavˇen´eho autofocusu, kter´ y funguje pro vzd´ alenosti vˇetˇs´ı neˇz 20 cm. Ne´ uspˇeˇsn´e zaostˇren´ı signalizuje ˇcerven´ ym r´ ameˇckem v obrazu. Aplikace umoˇzn ˇuje osvˇetlen´ı pomoc´ı LED diody, zobrazen´ı negativu a vyfocen´ı aktu´ aln´ıho sn´ımku. V aplikaci nen´ı moˇzn´e pˇribliˇzovat obraz. Magnify (Lupa) by HYPERIA INC. (verze 1.1) Vˇetˇsinu plochy displeje zab´ır´a aplikace grafikou lupy a obraz pˇrenesen´ y z fotoapar´ atu je jen na pˇribliˇznˇe 30%. Z toho d˚ uvodu je pˇrenesen´ y obraz ˇspatnˇe ˇciteln´ y. Aplikace umoˇzn ˇuje spuˇstˇen´ı LED diody. Magnify It by 3 Gamers Pro (verze 2.2) Aplikace zobrazuje obraz z fotoapar´atu pˇres cel´ y displej, vyuˇz´ıv´ a autofocus, kter´ y je pouˇziteln´ y pro ostˇren´ı na vzd´ alenosti 20 cm a d´ale, ovl´ad´a LED diodu a fot´ı sn´ımky. Pravdˇepodobnˇe umoˇzn ˇuje i zoom, ale ovl´ adac´ı prvek na testovac´ım zaˇr´ızen´ı nebyl pouˇziteln´ y. Magnify Reader by mlinell (verze 1.4) Aplikace zobrazuje nezvˇetˇsen´ y obraz z fotoapar´atu. Pro zaostˇren´ı pouˇz´ıv´ a autofocus, ovl´ ad´ a LED diodu a zaostˇr´ı nejbl´ıˇze na 20 cm. U aplikace nefungovalo nastaven´ı u ´rovnˇe pˇribl´ıˇzen´ı. Magnifier (for froyo) by Chanyou Hwang (verze 1.2) obraz z fotoapar´ atu, nedok´ azala ho vˇsak zaostˇrit.
Na testovac´ım zaˇr´ızen´ı aplikace pouze zobrazovala
Magnifying Glass by Campo de Provas ENG DTP & Multimidia (verze 1.0.6) Obraz z fotoapar´ atu zobrazuje aplikace napevno pˇribl´ıˇzen´ y obraz, kter´ y nen´ı zaostˇren a nelze ani mˇenit u ´roveˇ n pˇribl´ıˇzen´ı. Lze pouze zvˇetˇsovat velikost obrazu v˚ uˇci displeji a ukl´ adat sn´ımky z fotoapar´atu. Magnifying Glass by David Parry (verze 3.0.48) Po spuˇstˇen´ı na testovac´ım zaˇr´ızen´ı nezobrazovala aplikace ˇz´ adn´ y obraz z fotoapar´ atu. Dle ovl´ adac´ıch prvk˚ u se d´a usuzovat, ˇze aplikace um´ı ve funkˇcn´ım stavu ovl´adat LED diodu, autofocus, zmrazen´ı obrazu a u ´roveˇ n pˇribl´ıˇzen´ı. 4
MagnifyingGlassDesire by identity, inc. (verze 1.0) Grafick´e rozhran´ı se na testovac´ım zaˇr´ızen´ı ˇspatnˇe vykresluje, obraz je deformovan´ y roztaˇzen´ım. Aplikace um´ı ovl´adat LED diodu, zaznamen´avat sn´ımky z fotoapar´ atu, autofucus funguje nepravidelnˇe. Dle ovl´ adac´ıch prvk˚ u by se dalo usuzovat, ˇze je moˇzn´e nastavit u ´roveˇ n pˇribl´ıˇzen´ı obrazu, na testovac´ım zaˇr´ızen´ı vˇsak toto nefungovalo. Po nainstalov´ an´ı aplikace se v oznamovac´ı ˇc´ asti pravidelnˇe objevuj´ı nevyˇz´adan´a upozornˇen´ı s reklamou. PocketLens by Induction Labs (verze 1.0.0.2a) Aplikace zobrazuje obraz z fotoapar´atu deformovan´ y roztaˇzen´ım. Obsahuje ovl´ adac´ı prvky pro pˇribl´ıˇzen´ı, to vˇsak na testovac´ım zaˇr´ızen´ı nefungovalo. Aplikace dok´aˇze ovl´adat autofocus fotoapar´ atu. Je moˇzn´e zmrazit obraz, nastavit obrazu barevn´e efekty a vyfotit sn´ımek. Pˇri otevˇren´ı galerie pˇrestane aplikace reagovat. Jeden z ovl´ adac´ıch prvk˚ u napov´ıd´a, ˇze se jedn´a o nastaven´ı focusu, aplikace vˇsak na toto nastaven´ı nereaguje a pouˇz´ıv´ a standardn´ı autofocus fotoapar´atu. Umoˇzn ˇuje ovl´adat LED diodu. Reading Glasses by Brad R (verze 1.5) V aplikaci nebyl funkˇcn´ı autofocus, ovl´adac´ı prvky jsou nepˇrehledn´e. Um´ı ovl´ adat LED diodu, daj´ı se nastavit focus m´ody, po jejichˇz nastaven´ı vˇsak k zaostˇren´ı nedojde. Aplikace d´ ale obsahuje nastaven´ı barevn´ ych efekt˚ u a vyv´ aˇzen´ı b´ıl´e. Neobsahuje nastaven´ı u ´rovnˇe pˇribl´ıˇzen´ı. Real Magnifier by Coalcat creative (verze 1.4) Aplikace umoˇzn ˇuje zaostˇrovat pomoc´ı autofocusu. Nen´ı moˇzn´e jakkoli pˇribl´ıˇzit obraz. Pˇri pokusu o zaznamen´an´ı sn´ımku, aplikace pˇrestane reagovat a vˇsechny ostatn´ı aplikace pouˇz´ıvaj´ıc´ı fotoapar´ at nen´ı moˇzn´e bez restartu cel´eho syst´emu spustit. Zoomer by ITProgs (magnifier) (verze 1.0) Aplikace um´ı ovl´adat LED diodu, obraz z fotoapar´atu je vˇsak nerozpoznateln´ y z d˚ uvodu deformace a znaˇcn´eho poˇskozen´ı. Dle ovl´adac´ıch prvk˚ u se d´a usuzovat, ˇze aplikace by pˇri spr´ avn´em fungov´ an´ı mˇela umˇet pouˇz´ıvat autofocus, nastaven´ı u ´rovnˇe pˇribl´ıˇzen´ı obrazu a poˇrizovat sn´ımky.
5
2.3.1
Vlastnosti aplikac´ı
N´ azev aplikace Funkˇcn´ı ˇ asteˇcnˇe Digital Magnifier by C´ appsnack (verze 1.2) Handy Magnifier Ne & Monocular by darkstar (verze 1.2) ˇ asteˇcnˇe IDEAL Magnifier C´ by IDEAL Group, Inc. Android Development Team (verze 1.2) Lupa (Magnifier) by Ano C.P.S. (verze 2.0) ˇ asteˇcnˇe Lupa by Igor Kosta- C´ dinovi´c (verze 1.0.1) Magnify (Zvˇetˇsovac´ı Ano sklo) by Appd Lab (verze 2.2.4) ˇ asteˇcnˇe Magnify (Lupa) by C´ HYPERIA INC. (verze 1.1) Magnify It by 3 GaAno mers Pro (verze 2.2) ˇ asteˇcnˇe Magnify Reader by C´ mlinell (verze 1.4) Magnifier (for froyo) Ne by Chanyou Hwang (verze 1.2) Magnifying Glass by Ano Campo de Provas ENG DTP & Multimidia (verze 1.0.6) Magnifying Glass by Ne David Parry (verze 3.0.48) ˇ asteˇcnˇe MagnifyingGlassDesire C´ by identity, inc. (verze 1.0) ˇ asteˇcnˇe PocketLens by In- C´ duction Labs (verze 1.0.0.2a) ˇ asteˇcnˇe Reading Glasses by C´ Brad R (verze 1.5) ˇ asteˇcnˇe Real Magnifier by C´ Coalcat creative (verze 1.4) Zoomer by ITProgs Ne (magnifier) (verze 1.0)
Autofocus Ano
LED Ano
Zoom Ne
Barevn´e efekty Ne
Focen´ı sn´ımku Ne
Zmrazen´ı obrazu Ne
-
-
-
-
-
-
Ano
Ano
Ne
Ano
Ne
ˇ asteˇcnˇe C´
Ano
Ano
Ne
Ne
Ne
Ne
Ano
Ne
Ne
Ne
Ne
Ne
Ano
Ano
Ne
Ano
Ano
Ne
Ne
Ano
Ne
Ne
Ne
Ne
Ano
Ano
Ne
Ne
Ano
Ne
Ano
Ano
Ne
Ne
Ne
Ne
-
-
-
-
-
-
Ne
Ne
Ne
Ne
Ano
Ne
-
-
-
-
-
-
ˇ asteˇcnˇe C´
Ano
Ne
Ne
Ano
Ne
Ano
Ano
Ne
Ano
Ano
Ano
Ne
Ano
Ne
Ano
Ne
Ne
Ano
Ne
Ne
Ne
Ne
Ne
-
Ano
-
-
-
-
6
2.3.2
Celkov´ e hodnocen´ı
U vˇsech testovan´ ych aplikac´ı nebyl obraz z fotoapar´atu nijak softwarovˇe doostˇrov´an. Pokud to aplikace a zaˇr´ızen´ı umoˇzn ˇovalo, byl obraz zaostˇren autofocusem, jehoˇz ovl´ad´an´ı prov´ad´ı ovladaˇc fotoapar´atu v j´adˇre operaˇcn´ıho syst´emu. Vˇetˇsina aplikac´ı dok´ azala zaostˇrit i na menˇs´ı vzd´alenosti, neˇz je 20 cm, v pˇr´ıpadˇe, ˇze byla puˇstˇen´a LED dioda. Toto zaostˇren´ı vˇsak nebylo vˇzdy pˇresn´e a podaˇrilo se jen v nˇekter´ ych pˇr´ıpadech po opakovan´ ych pokusech. 2.3.3
Dvˇ e nejlepˇ s´ı aplikace
Z v´ yˇse uveden´ ych aplikac´ı byly vybr´ any dvˇe, kter´e jsou nejl´epe pouˇziteln´e pro u ´ˇcel, pro kter´ y byly navrˇzeny a kter´e byly funkˇcn´ı na testovac´ım zaˇr´ızen´ı. Magnify (Zvˇetˇsovac´ı sklo) by Appd Lab (verze 2.2.4) Magnify Reader by mlinell (verze 1.4)
7
3
Popis a hlavn´ı funkce aplikace
Aplikace je prim´ arnˇe urˇcena k pouˇzit´ı jako lupa na telefonech s operaˇcn´ım syst´emem Google Android verze 2.2 a vyˇsˇs´ı Je naps´ ana v programovac´ım jazyce Java a vyuˇz´ıv´a aplikaˇcn´ıho rozhran´ı Google Android API. Pro sn´ım´ an´ı ˇ y obraz se pˇren´aˇs´ı ze sn´ımaˇce obrazu se pouˇz´ıv´ a vestavˇen´ a kamera, kterou mus´ı konkr´etn´ı zaˇr´ızen´ı disponovat. Ziv´ pˇr´ımo na celou obrazovku zaˇr´ızen´ı. Aplikace umoˇzn ˇuje nastavit zvˇetˇsen´ı obrazu tak, ˇze se zobraz´ı jen v´ yˇrez z ˇziv´eho obrazu. Kdyˇz to zaˇr´ızen´ı umoˇzn ˇuje, pro zaostˇren´ı obrazu je pouˇzita funkce fotoapar´atu - autofocus. Pokud zaˇr´ızen´ı disponuje LED diodou, je moˇzn´e ji prostˇrednictv´ım aplikace zapnout a zlepˇsit tak svˇeteln´e podm´ınky sc´eny, kterou sn´ım´ame. Obraz pˇren´ aˇsen´ y z fotoapar´ atu je moˇzn´e ”zmrazit”. Tato funkce je v prav´em slova smyslu zaloˇzena na vyfocen´ı obrazu ve chv´ıli aktivov´ an´ı pˇr´ısluˇsn´e funkce a n´asledn´eho zobrazen´ı vyfocen´eho obrazu na neomezenˇe dlouhou dobu. Takto ”zmrazen´ y”obraz je moˇzn´e uloˇzit do pamˇeti telefonu ve form´atu JPEG.
4 4.1
Metody pro ovl´ ad´ an´ı a nastaven´ı fotoapar´ atu v Google Android API Metody pro ovl´ ad´ an´ı fotoapar´ atu v Google Android API
Google Android API poskytuje n´ asleduj´ıc´ı metody pro pr´aci s fotoapar´atem, kter´e lze nal´ezt v bal´ıku android.hardware ve tˇr´ıdˇe Camera: public static Camera open(int cameraId) Vytvoˇr´ı objekt tˇr´ıdy Camera, kter´a umoˇzn ˇuje ovl´ad´an´ı fotoapar´ atu zaˇr´ızen´ı. Parametr int cameraId urˇcuje, kter´ y fotoapar´at se m´a pouˇz´ıt v pˇr´ıpadˇe, ˇze jich m´a zaˇr´ızen´ı v´ıce. public final void release() Metoda se pouˇz´ıv´a pro ukonˇcen´ı pr´ace s fotoapar´atem. Umoˇzn ˇuje uvolnˇen´ı prostˇredk˚ u fotoapar´ atu a jeho znovupouˇzit´ı v jin´e aplikaci. public final void startPreview() obrazovku. public final void stopPreview() obrazovku.
Metoda spust´ı sn´ım´an´ı obrazu z fotoapar´atu a zaˇcne ho vykreslovat na
Metoda zastav´ı sn´ım´an´ı obrazu z fotoapar´atu a pˇrestane ho vykreslovat na
public Camera.Parameters getParameters() konkr´etn´ıho fotoapar´ atu.
Tato metoda vrac´ı vˇsechny parametry dostupn´e pro nastaven´ı
public void setParameters(Camera.Parameters params) stupn´e pro konkr´etn´ı fotoapar´ at.
4.2
Tato metoda nastavuje vˇsechny parametry do-
Metody pro nastaven´ı fotoapar´ atu v Google Android API
Google Android API poskytuje n´ asleduj´ıc´ı metody pro nastaven´ı fotoapar´atu, kter´e lze nal´ezt v bal´ıku android.hardware ve tˇr´ıdˇe Camera.Parameters. Zde jsou uvedeny nejd˚ uleˇzitˇejˇs´ı z nich: public String getFlashMode() Vrac´ı aktu´alnˇe nastaven´ y m´od blesku. public String setFlashMode() Nastavuje zp˚ usob pouˇzit´ı blesku fotoapar´atu. M´ody blesku jsou n´asleduj´ıc´ı: FLASH_MODE_OFF Vypne blesk. FLASH_MODE_AUTO Blesk se pˇri focen´ı nastav´ı automaticky.
8
FLASH_MODE_ON Spust´ı blesk pˇri focen´ı. FLASH_MODE_RED_EYE Pˇri focen´ı bude pouˇzit blesk, kter´ y redukuje ˇcerven´e oˇci na fotografi´ıch. FLASH_MODE_TORCH Spust´ı blesk tak, ˇze m˚ uˇze slouˇzit jako baterka. public int getZoom() Vrac´ı hodnotu aktu´alnˇe nastaven´eho digit´aln´ıho zoomu. public int setZoom(int value)
Nastavuje digit´aln´ı zoom. Parametr int value > 0.
public Camera.Size getPreviewSize() Vrac´ı velikost obrazu v preview reˇzimu v pixelech. public void setPreviewSize(int width, int height) reˇzimu v pixelech.
4.3
Nastavuje velikost int width, int height obrazu v preview
Metody pro ovl´ ad´ an´ı autofocusu fotoapar´ atu v Google Android API
Google Android API poskytuje n´ asleduj´ıc´ı metody pro pr´aci s autofocusem, kter´e lze nal´ezt v bal´ıku android.hardware ve tˇr´ıdˇe Camera: public final void autoFocus (Camera.AutoFocusCallback cb) zavol´ a callback nastaven´ y v parametru metody.
Metoda spust´ı autofocus, pˇri dokonˇcen´ı se
public final void cancelAutoFocus () Metoda zastav´ı prob´ıhaj´ıc´ı autofocus a vr´at´ı nastaven´ı ˇcoˇcky do v´ ychoz´ı polohy. Google Android API nepopisuje pˇresnˇeji, co znamen´a v´ ychoz´ı poloha ˇcoˇcky. public List<String> getSupportedFocusModes () public String getFocusMode () public void setFocusMode (String value) Metody pracuj´ı s m´ody autofocusu, kter´e jsou n´asleduj´ıc´ı: FOCUS_MODE_AUTO Automatick´ y focus. FOCUS_MODE_INFINITY Focus je nastaven na nekoneˇcno. FOCUS_MODE_MACRO Automatick´ y focus vhodn´ y pro sn´ım´ an´ı bl´ızk´ ych pˇredmˇet˚ u. FOCUS_MODE_FIXED Fokus je zafixov´ an. Dle API, pokud kamera disponuje autofocusem, m˚ uˇze tento m´od opravit focus, kter´ y je v tak zvan´e hyperfok´ aln´ı vzd´ alenosti. Funkce nebyla testov´ana, protoˇze dostupn´e zaˇr´ızen´ı t´ımto m´odem nedisponuje. FOCUS_MODE_EDOF Tak zvan´ y Extended depth of field (EDOF) - zaostˇrov´an´ı je prov´adˇeno digit´alnˇe a nepˇretrˇzitˇe. FOCUS_MODE_CONTINUOUS_PICTURE Kamera neust´ ale automaticky zaostˇruje. Vhodn´e pro sn´ım´an´ı obrazu. 9
FOCUS_MODE_CONTINUOUS_VIDEO Kamera neust´ ale automaticky zaostˇruje. Vhodn´e pro nat´aˇcen´ı videa. Na testovan´em zaˇr´ızen´ı byly dostupn´e jen tyto m´ ody: FOCUS_MODE_AUTO, FOCUS_MODE_INFINITY, FOCUS_MODE_MACRO a v API nespecifikovan´ y NORMAL. public List
getFocusAreas () public void setFocusAreas (List focusAreas) kamery, kter´e urˇcuj´ı, na kterou ˇc´ ast obrazu se m´a zaostˇrovat.
Metody pracuj´ı s plochami na obraze z
public void getFocusDistances (float[] output) Metoda vrac´ı vzd´alenosti od kamery v metrech, ve kter´ ych se objekt jev´ı zaostˇren.
5
Grafick´ e uˇ zivatelsk´ e rozhran´ı aplikace
Grafick´e uˇzivatelsk´e rozhran´ı aplikace je vytvoˇreno pomoc´ı grafick´ ych ovl´adac´ıch prvku dostupn´ ych v Google Android API. Z´ akladn´ı kostra grafick´eho rozhran´ı je definov´ana pomoc´ı XML souboru, funkˇcn´ı rozˇs´ıˇren´ı je definov´ ano pˇr´ımo v programov´e ˇc´ asti v jazyce Java.
Uk´ azka grafick´eho uˇzivatelsk´eho rozhran´ı aplikace. 1. Plocha, kde se zobrazuje ˇziv´ y obraz z fotoapar´atu a z´aroveˇ n v pˇr´ıpadˇe ”zmrazen´ı”obrazu se zde zobrazuje poˇr´ızen´ a fotografie. 2. Panel ovl´ adac´ıch prvk˚ u. Je ho moˇzn´e schovat/zobrazit stiskem hardwarov´eho tlaˇc´ıtka Menu. 3. Tlaˇc´ıtko slouˇz´ıc´ı k zobrazen´ı ovl´ adac´ıch prvk˚ u pro zoom. 4. Tlaˇc´ıtko autofocusu. 5. Tlaˇc´ıtko slouˇz´ıc´ı pro zapnut´ı a vypnut´ı svˇetla. 6. Tlaˇc´ıtko pro ”zmrazen´ı”obrazu. 7. Tlaˇc´ıtko slouˇz´ıc´ı k zobrazen´ı ovl´ adac´ıch prvk˚ u pro debluring. (Funkce nen´ı dostupn´a v aktu´aln´ı verzi aplikace.) 8. Posuvn´ık slouˇz´ıc´ı pro nastaven´ı intenzity svˇetla LED diody. (Funguje jen v Androidu verze 2.2.)
10
Uk´ azka ovl´ adac´ıch prvk˚ u, kter´e se s animac´ı zobraz´ı po stisku/taˇzen´ı tlaˇc´ıtka Zoom/Deblur.
Ovl´ adac´ı prvky aplikace v pˇr´ıpadˇe ”zmrazen´ı”obrazu. Vˇsechna tlaˇc´ıtka kromˇe Unfreeze na ovl´adac´ım panelu jsou zak´ az´ ana. Pˇribylo tlaˇc´ıtko Save pro uloˇzen´ı ”zmrazen´eho”obrazu, kter´e zmiz´ı po uloˇzen´ı fotografie.
6
Fotografie poˇ r´ızen´ e aplikac´ı
Uk´ azky fotografi´ı poˇr´ızen´ ych aplikac´ı na zaˇr´ızen´ı HTC Sensation s 8Mpx fotoapar´atem.
11
7
Z´ avˇ er
V´ ysledkem projektu je naprogramovan´ a funkˇcn´ı aplikace, kter´e byla testov´ana na mobiln´ıch zaˇr´ızen´ıch s operaˇcn´ım syst´emem Google Android verze 2.3.4. Aplikace vyuˇz´ıv´a standardn´ıch metod z Google Android API pro ovl´ ad´ an´ı hardwaru mobiln´ıho telefonu, jako je zobrazov´an´ı preview reˇzimu obrazu z fotoapar´atu, vyfocen´ı fotografie, autofocus, zapnut´ı/vypnut´ı LED diody a zoom obrazu z fotoapar´atu. Z pozorov´ an´ı nˇekolika zaˇr´ızen´ı vyplynulo, ˇze standardn´ı funkce autofocus nen´ı ide´aln´ı pro efektivn´ı zaostˇrov´ an´ı obrazu a pˇri velmi mal´ ych vzd´ alenostech fotoapar´atu od pozorovan´eho objektu, pˇribliˇznˇe 20 cm, pˇrest´ av´ a b´ yt schopna zaostˇrit. Tento fakt vedl k tomu, ˇze by bylo vhodnˇejˇs´ı ovl´adat ˇcoˇcku fotoapar´atu pˇr´ımo a zaostˇrov´ an´ı prov´ adˇet vlastn´ım algoritmem. Dle dostupn´ ych informac´ı vˇsak neexistuje ˇz´adn´ y vhodn´ y zp˚ usob jak tohoto doc´ılit bez v´ aˇzn´ ych z´ asah˚ u do operaˇcn´ıho syst´emu. Byla tedy zvolena metoda zaostˇrov´an´ı vestavˇenou funkc´ı. Aplikace je ve fin´ aln´ı verzi schopna vyuˇz´ıt telefon dle jeho hardwarov´ ych moˇznost´ı pro zvˇetˇsen´ı obrazu sn´ıman´eho fotoapar´ atem a lze j´ı vyuˇz´ıt napˇr´ıklad pro ˇcten´ı drobn´eho textu, zkoum´an´ı velmi mal´ ych detail˚ u na pˇredmˇetech a pro focen´ı makro fotografi´ı. Nev´ yhodou vˇsak st´ ale z˚ ust´av´a schopnost hardwarov´eho zaostˇren´ı obrazu jen pro pˇredmˇety vzd´ alen´e pˇribliˇznˇe 20 cm a v´ıce.
12