CameraX un tā reālā ietekme uz Android mobilo fotografēšanu

  • CameraX ir Jetpack bibliotēka, kas vienkāršo kameras lietošanu un nodrošina vietējās lietotnes uzlabotas funkcijas trešo pušu lietojumprogrammām.
  • Salīdzinot ar Camera2 API, tas piedāvā augsta līmeņa API, kas balstīts uz lietošanas gadījumiem, ar lielāku konsekvenci dažādās ierīcēs un ērtu piekļuvi tādiem paplašinājumiem kā HDR, nakts režīms vai bokeh.
  • Tas ievērojami uzlabo attēlu uzņemšanu tādās lietotnēs kā sociālie tīkli vai ziņojumapmaiņa, lai gan galīgā kvalitāte joprojām ir atkarīga no katras platformas izmantotās saspiešanas un apstrādes.
  • Tās evolūcija ietver HDR video, vienlaicīgu kameru darbību un Ultra HDR atbalstu, pastiprinot skaitļošanas fotogrāfijas lomu operētājsistēmā Android.

Piemērs CameraX izmantošanai lietotnē

Mobilā fotografēšana Tas ir kļuvis par galveno veidu, kā lielākā daļa lietotāju uzņem fotoattēlus. Tomēr ikviens, kurš izmanto Android, zina, ka ne visi fotoattēli izskatās vienādi: fotografēšana ar iebūvēto kameras lietotni nav tas pats, kas fotografēšana no Instagram, WhatsApp vai Snapchat. Šī kvalitātes, asuma un krāsu atšķirība vēsturiski ir bijusi viena no lielākajām Android vājībām salīdzinājumā ar citām operētājsistēmām.

Lai samazinātu šo atšķirību, Google izveidoja KameraX, saderības bibliotēka, kas izstrādāta tā, lai jebkurš izstrādātājs varētu integrēt tādas pašas iespējas kā iebūvētajai kamerai katra mobilā tālruņa, bez nepieciešamības saskarties ar simtiem modeļu, pielāgošanas slāņu un aparatūras variāciju.

Šajā rakstā jūs redzēsiet Kas ir CameraX?, kā darbojas tā uz lietošanas gadījumiem balstītā pieeja, kā tā atšķiras no Camera2 API, kāda ir tās reālā ietekme uz fotoattēlu kvalitāte trešo pušu lietotnēs un kā tas ir saistīts ar tādiem jēdzieniem kā datorfotogrāfija vai Ultra HDR formāts. Mēs arī pārskatīsim tā evolūciju, ierobežojumus un to, kāpēc, lai gan tas ir galvenais komponents, tas viens pats nevar atrisināt visas kvalitātes problēmas sociālajos medijos.

CameraX un tā ietekme uz mobilo fotografēšanu

Kas ir CameraX?

KameraX Tā ir Android saderības bibliotēka, kas iekļauta Jetpack komplektā un ko izveidojis Google priekš pēc iespējas vienkāršot lietojumprogrammu, kas izmanto kameru, izstrādiTās galvenais mērķis ir samazināt darbības un kvalitātes atšķirības starp katra ražotāja vietējo kameras lietotni un trešo pušu lietotnēm, īpaši tām, kuras mēs pastāvīgi izmantojam sociālajiem medijiem, ziņojumapmaiņai vai dokumentu skenēšanai.

Atšķirībā no citiem zemāka līmeņa API, piemēram, Camera2, CameraX darbojas augstākā abstrakcijas līmenī un piedāvā izstrādātājiem Vienota un viegli lietojama APIslēpjot lielu daļu sarežģītības, kas saistīta ar dažādu ierīču saderību. Tas ļauj tādām lietotnēm kā bankas, sociālie tīkli, skenēšanas lietotnes vai fotoattēlu rediģēšanas lietotnes piekļūt uzlaboti kameras režīmi (bokeh, HDR, nakts režīms, sejas retušēšana utt.) ar dažām koda rindiņām, nevis izstrādājot pielāgotus risinājumus katram modelim.

Google raksturo CameraX kā saderības bibliotēka Tas ļauj lietotnēm izmantot tās pašas funkcijas, ko piedāvā ierīces iebūvētā kameras lietotne. Praksē tas nozīmē, ka daudzas funkcijas, kas iepriekš bija pieejamas tikai ražotāja kameras lietotnē (piemēram, noteikti portreta režīmi vai sejas uzlabošanas algoritmi), tagad var būt pieejamas arī ierīces iebūvētajā kameras lietotnē. Instagram, WhatsApp, Snapchat vai jebkura cita lietotne kas nolemj integrēt CameraX un tā paplašinājumus.

CameraX ietekme uz trešo pušu lietotnēm

Kā darbojas CameraX?

Viena no CameraX galvenajām iezīmēm ir tā, ka tā ir balstīta uz lietošanas gadījumiCameraX ir koncepcija, kas vienkāršo mijiedarbību ar kameru. Tā vietā, lai piespiestu izstrādātāju manuāli kontrolēt malu attiecību, orientāciju, priekšskatījuma izmēru vai galīgo attēla izmēru, CameraX nodrošina gatavus blokus visbiežāk veicamajām darbībām.

Galvenie CameraX piedāvātie lietošanas gadījumi ir:

  • Priekšskatījums: Tas ļauj reāllaikā parādīt, ko kamera uzņem, virsma vai saskarnes skats. CameraX automātiski apstrādā sarežģītus jautājumus, piemēram, malu attiecību, pagriešanu atkarībā no ierīces pozīcijas un pielāgošanu ekrāna izmēram.
  • Attēlu uzņemšana: pārvalda fotoattēlu uzņemšana un glabāšana ar augstu kvalitāti. Pielāgojiet tādus parametrus kā izšķirtspēja, izvades formāts vai fokuss, un jūs varat izmantot mobilā tālruņa attēlu procesora uzlabotās iespējas, lai iegūtu labākus rezultātus, izstrādātājam nepielāgojot katru detaļu.
  • Video ierakstīšana (VideoCapture): Tas atbalsta video ierakstīšanu, tostarp HDR video ierīcēs, kas to atbalsta. Tā apstrādā kodēšanu, bitu pārraides ātrumu, kadru ātrumu un citus parametrus, atbrīvojot izstrādātāju no nepieciešamības tikt galā ar atšķirībām starp sensoriem vai ražotājiem.
  • Attēlu analīze: ļauj piekļūt neapstrādātu kadru plūsmai, lai to lietotu reāllaika apstrāde, datorredzes algoritmi vai mašīnmācīšanās modeļi (piemēram, QR kodu lasītāji, teksta atpazīšanas sistēmas vai objektu skaitītāji).

Šie lietošanas gadījumi var apvienot un sasaistīt ar dzīves ciklu komponenta (piemēram, aktivitātes vai fragmenta) funkcijā, lai CameraX automātiski kontrolētu kameras atvēršanu un aizvēršanu, novēršot resursu noplūdes vai sensoru bloķēšanu. Piemēram, ir iespējams parādīt priekšskatījumu, veicot reāllaika analīzi, un vienlaikus atļaut fotoattēlu uzņemšanu, kad lietotājs nospiež slēdža pogu.

Turklāt CameraX ietver papildu API, kas paredzēta kameras paplašinājumiAr to izstrādātājs var aktivizēt uzlabotas funkcijas, ko ražotājs ir ieviesis savā dzimtajā kamerā, piemēram:

  • Bokeh jeb portreta režīms: aizmiglojot fonu, lai izceltu objektu.
  • Augsts dinamiskais diapazons (HDR): Labāka gaismas un ēnu apstrāde, saglabājot detaļas sarežģītās vietās.
  • Nakts režīms: Uzņemšanas optimizācija vāja apgaismojuma apstākļos, apvienojot vairākus kadrus.
  • Sejas retušēšana: smalkas ādas, acu vai toņu korekcijas, lai iegūtu pievilcīgākus portretus.

Tas viss tiek aktivizēts ar ļoti nelielu koda rindiņu skaitu, jo CameraX ir atbildīgs par tulkošanu. šos vispārīgos pieprasījumus katra ražotāja īpašajām funkcijām, kad tās ir pieejamas.

Atšķirības starp CameraX un Camera2 API

Pirms CameraX ieteicamais veids, kā strādāt ar kameru operētājsistēmā Android, bija Camera2 APIŠī saskarne, kas ir pieejama kopš vecākām sistēmas versijām, tika izstrādāta, lai izstrādātāji varētu piekļūt uzlabotas kameras vadības ierīcesmanuālā fokusēšana, ekspozīcija, baltā balanss, RAW uzņemšana un citas funkcijas.

Camera2 organizē katras ierīces iespējas vairākos līmeņos (Legacy, Limited, Full un Level 3), un atkarībā no aparatūras atbalstītā līmeņa lietojumprogramma varēja vai nevarēja piekļūt noteiktām papildu funkcijām. Tas nodrošināja milzīgu elastību, taču tas arī nozīmēja augsta ieviešanas sarežģītībait īpaši, ja mērķis bija atbalstīt daudzus dažādus modeļus.

Lielā atšķirība ir tā, ka Camera2 ir veidots kā slānis zema līmeņa orientēta uz smalku kontrolikamēr CameraX darbojas kā slānis augsts līmenis, kas kalpo kā tilts starp ražotāja iebūvēto kameru un trešo pušu lietotnēm. Daži no šīs atšķirības galvenajiem aspektiem ir:

  • Abstrakcija un vienkāršība: CameraX ievērojami samazina nepieciešamā koda apjomu. Daudzas darbības, kurām Camera2 nepieciešamas desmitiem vai simtiem rindu, CameraX tiek atrisinātas tikai ar dažiem precīzi definētiem izsaukumiem.
  • Saskaņotība starp ierīcēm: CameraX ir izstrādāts, lai piedāvātu konsekventa uzvedība dažādās mobilajās ierīcēs. Google uztur automatizētu testēšanas laboratoriju, kas veic CameraX testus dažādās ierīcēs un Android versijās, lai atklātu un labotu saderības problēmas.
  • Koncentrējieties uz lietošanas gadījumiem: Lai gan Camera2 prasa, lai izstrādātājs tieši pārvaldītu darbplūsmas, attēlus un iestatījumus, CameraX koncentrējas uz lietošanas gadījumiem (Preview, ImageCapture, VideoCapture, ImageAnalysis), kas labāk atspoguļo lietotņu reālās vajadzības.
  • Integrācija ar ražotāja paplašinājumiem: CameraX ietver API priekš Paplašinājumi kas atvieglo piekļuvi tām pašām funkcijām kā vietējā kameras lietotne, kas ar Camera2 parasti ietver pielāgotas vai nestandarta integrācijas.

Tomēr Camera2 joprojām ir vērtīgs izstrādei, kurai nepieciešams profesionāla kontrole vai ārkārtīgi specifiskas funkcijas, savukārt CameraX ir īpaši ieteicams lietotnēm, kas meklē līdzsvaru starp kvalitāti, vienkāršību un saderību.

Vai CameraX atrisina kvalitātes problēmu trešo pušu lietotnēs?

Bieži uzdots jautājums lietotāju vidū ir, vai CameraX būs galīgais risinājums Klasiskā problēma, kad no Android ierīces sociālajos tīklos augšupielādētie fotoattēli un videoklipi izskatās sliktāk nekā citās sistēmās, ir cits stāsts. Realitāte ir niansētāka: CameraX Tas ievērojami uzlabo piekļuvi kameras funkcijāmtaču tas nekontrolē visu procesu, kamēr attēls nesasniedz sociālo tīklu.

No vienas puses, CameraX ļauj trešo pušu lietojumprogrammām uzņemt attēlus ar labākie HDR, nakts, bokeh vai Ultra HDR algoritmi ja aparatūra to atbalsta. Tas arī labāk izmanto ierīces attēlu procesoru un samazina atšķirības salīdzinājumā ar iebūvēto kameras lietotni. Tas pats par sevi jau ir ievērojams solis uz priekšu ikdienas fotografēšanas pieredzē.

Tomēr galīgā kvalitāte, ko redzat Instagram, WhatsApp vai jebkurā citā sociālajā tīklā, ir atkarīga arī no citiem galvenajiem faktoriem:

  • Lietotnes piemērotā saspiešana: Daudzas platformas agresīvi samazina fotoattēlu un videoklipu izmēru, lai ietaupītu datus un paātrinātu augšupielādi. Šī saspiešana var iznīcināt daļu detaļu, ko CameraX palīdzēja uztvert.
  • Iekšējās apstrādes algoritmi: Katra lietotne pirms attēla augšupielādes var lietot savus filtrus, mērogošanu un pielāgojumus, kas ietekmē gala rezultātu.
  • Sistēmu ieviešanas atšķirības: Viena un tā pati lietotne ne vienmēr darbojas vienādi visās operētājsistēmās. Android ierīcēs milzīgā ierīču daudzveidība liek lietotnēm izmantot vispārīgākas stratēģijas, kas daudzos gadījumos upurē kvalitāti.

Tāpēc, pat ja CameraX Tas atvieglo lietotņu pilnīgāku izmantošanu fotografēšanas funkciju ziņā.Tas pilnībā nenovērš saspiešanas, mērogošanas vai augšupielādes stratēģijas problēmas, ko katra platforma izvēlas ieviest. Citiem vārdiem sakot, CameraX ir ļoti svarīgs solis ceļā uz to, lai ar trešo pušu lietotnēm uzņemtie fotoattēli kļūtu daudz labāki, taču Galīgā kvalitāte joprojām būs atkarīga no tā, ko katrs izstrādātājs darīs ar šo saturu..

CameraX priekšrocības lietotājiem

Tiem, kas vēlas uzņemt fotoattēlus un video bez sarežģījumiem, CameraX ieviešana populārās lietojumprogrammās nozīmē virkni funkciju. tiešas priekšrocības Ikdienā.

Pirmkārt, lietojumprogrammas var izmantot priekšrocības, ko sniedz tā pati attēlu apstrādes tehnoloģija Tālruņa iebūvētā kameras lietotne izmanto algoritmus trokšņu samazināšanai, detaļu uzlabošanai, kontrasta un krāsu kontrolei, kā arī specializētus režīmus nakts ainām, portretiem un ainavām. Tas mazina sajūtu, ka tālruņa kameras lietotne ir "vienīgā, kas uzņem labas fotogrāfijas".

Otrkārt, CameraX ļauj uzņemt attēlus ar lielāks dinamiskais diapazons Šeit tiek izmantots HDR un Ultra HDR atbalsts. Tas nozīmē ainas ar intensīviem izgaismojumiem un dziļām ēnām, kurās tiek saglabātas vairāk detaļu, kas ir ļoti svarīgi mūsdienu mobilajā fotogrāfijā.

Turklāt atbalsts HDR video un vienlaicīgas kameras Tas paver durvis uz jaunām pieredzēm, piemēram, vienlaicīgu ierakstīšanu ar priekšējo un aizmugurējo kameru vai video ierakstīšanu ar bagātīgāku un spilgtāku krāsu attēlojumu, ja vien panelis un skatīšanās lietotne ir saderīgas.

Visbeidzot, vienāda kameras darbība dažādās lietotnēs samazina neapmierinātību: mazāk kameras avāriju, mazāk sastingšanas, mazāk orientācijas problēmu un mazāk izkropļotu priekšskatījumu. Tas viss ir iespējams, jo Google automātiski testē CameraX lielā skaitā ierīču, identificējot un labojot saderības kļūdas.

Kā ieviest CameraX lietojumprogrammā

Izstrādātājiem, kuri vēlas integrēt CameraX, pamata ieviešanas plūsma ir balstīta uz dažiem precīzi definētiem soļiem, neiedziļinoties sarežģītākās Camera2 detaļās.

  1. Pievienojiet projektam atkarības: arhīvā build.gradle Atkarības no CameraX kodols, dzīves cikls un specifiskie moduļi konkrētajiem lietošanas gadījumiem, kas būs nepieciešami (Preview, ImageCapture, VideoCapture, ImageAnalysis, Extensions).
  2. Iestatīt atļaujas: Lietotnei ir jāpieprasa un jāpārvalda kameras piekļuves atļauja un, ja tiek ierakstīts video ar audio, arī audio ierakstīšanas atļauja. CameraX labi integrējas ar izpildlaika atļauju API.
  3. Izvēlieties nepieciešamos lietošanas gadījumus: Tiek definēts, vai lietojumprogramma izmantos tikai priekšskatījumus vai arī fotoattēlu uzņemšanu, video ierakstīšanu vai attēlu analīzi. Šī izvēle tiek veikta, pamatojoties uz lietotnes veidu: sociālie mediji, banku pakalpojumi, dokumentu lasīšana, svītrkodu skenēšana utt.
  4. Kameras piesaistīšana dzīves ciklam: AndroidX dzīves cikla komponenti tiek izmantoti, lai CameraX zinātu, kad sākt vai apturēt kameras plūsmu, pamatojoties uz aktivitātes vai fragmenta stāvokli, novēršot atmiņas noplūdes un avārijas, pagriežot ekrānu vai izejot no lietotnes.

Pateicoties jūsu moduļu dizainsCameraX ļauj izstrādātājiem koncentrēties uz to, kas viņu lietotnei ir jādara (piemēram, skenēt dokumentu, uzņemt selfiju, ierakstīt īsu video), nevis cīnīties ar katras ierīces iekšējām detaļām. Daudzos gadījumos tā ir Ieteicamā opcija jaunām lietotnēm kuriem nepieciešams droši izmantot kameru dažādos mobilajos tālruņos.

Kādas ierīces atbalsta CameraX?

CameraX ir paredzēts darbam ar ierīces ar Android 5.0 (API līmenis 21) un jaunākām versijāmTas nodrošina ļoti plašu Android mobilo ierīču tirgus pārklājumu, padarot to par ļoti pievilcīgu risinājumu izstrādātājiem, kuri vēlas sasniegt pēc iespējas lielāku lietotāju skaitu.

Tomēr noteiktu papildu funkciju pieejamība vienmēr būs atkarīga no specifiska aparatūra Tādām funkcijām kā HDR, nakts režīms, uzlabots bokeh efekts un 10 bitu ierakstīšana ir nepieciešami saderīgi attēla sensori un procesori. Bibliotēka nosaka pieejamās iespējas un pielāgo darbību, lai novērstu kļūdas vai nekonsekventu pieredzi.

Google uztur automatizētas testēšanas laboratorija CameraX platformai, kas novērtē tās veiktspēju dažādās ierīcēs, zīmolos un Android versijās. Tas palīdz nodrošināt, ka, neskatoties uz platformas raksturīgo sadrumstalotību, kameras pamatdarbība paliek stabila un paredzama starp dažādiem termināliem.

CameraX evolūcija: jaunas funkcijas un Ultra HDR atbalsts

CameraX nav statiska bibliotēka; Google to periodiski atjaunina, lai pievienotu jaunas funkcijas. jaunas skaitļošanas fotografēšanas funkcijas un uzlabot tā integrāciju ar Android ekosistēmu. Piemēram, versija 1.3 Tas ieviesa atbalstu vienlaicīgām kamerām, HDR video ierakstīšanai un citiem reāllaika efektiem; kopš tā laika Google ir turpinājis paplašināt savas iespējas, tostarp atbalstu tādiem formātiem kā Ultra HDR.

Starp jaunākajās versijās iekļautajiem uzlabojumiem izceļas šādi:

  • Vienlaicīgu kameru atbalsts: Iespēja vienlaikus izmantot divas kameras saderīgās ierīcēs, piemēram, priekšējo un aizmugurējo kameru vai divas aizmugurējās kameras ar dažādiem objektīviem. Tas nodrošina radošāku ierakstīšanas pieredzi, piemēram, reakcijas reāllaikā vai vienmērīgas ainu maiņas.
  • HDR video ierakstīšana: iespēja uzņemt video ar plašāku dinamisko diapazonu, piedāvājot detalizētākus izcēlumus un ēnas, kā arī bagātīgāku krāsu paleti kombinācijās ar saderīgiem displejiem.
  • Vairāk reāllaika efektu: Attēlu analīzes procesa uzlabojumi, kas atvieglo izpludināšanas, krāsu korekciju vai radošo filtru lietošanu uzņemšanas laikā, bez nepieciešamības pēc intensīvas ārējas apstrādes.
  • Ultra HDR attēlu saderība: Pakāpeniska Ultra HDR formāta integrācija, kas ļauj uzņemt fotoattēlus ar izcilu spilgtuma diapazonu un spilgtākām krāsām, pietuvinot rezultātu tam, kā cilvēka acs uztver ainu.

El Ultra HDR formāts Tas ir viens no aizraujošākajiem jaunākajiem sasniegumiem mobilajā fotogrāfijā. Lai gan daudzas kameras jau izmantoja HDR metodes programmatūras līmenī, gala rezultāts joprojām bija standarta (SDR) attēls. Ar Ultra HDR fotoattēlos ir iekļauta papildu informācija par spilgtumu un krāsām, kas saderīgos displejos rada reālistiskākus attēlus ar lielāku dziļumu.

CameraX šeit spēlē būtisku lomu, jo tas ir līdzeklis, kas ļauj jebkuru lietotni var izmantot šī formāta priekšrocības, ne tikai aprobežojoties ar ražotāja kameras lietotni. Tas dod labumu ne tikai sociālajiem tīkliem un ziņojumapmaiņas lietotnēm, bet arī citām kameras, rediģēšanas vai satura uztveršanas lietotnēm, kas vēlas piedāvāt bagātīgāka vizuālā pieredze.

CameraX Ultra HDR atbalsts palīdz Android uzturēt augstu inovāciju tempu mobilajā fotogrāfijā, saskaņojot aparatūras potenciālu ar iespējām, ko lietotnes var viegli piedāvāt lietotājiem.

Kopumā CameraX ir sevi pierādījis kā vienu no Galvenie rīki mobilās fotografēšanas tagadnei un nākotnei operētājsistēmā AndroidTās spēja nodrošināt trešo pušu lietotnēm uzlabotas iebūvētās kameras funkcijas, samazināt fragmentāciju un atvieglot tādu tehnoloģiju kā Ultra HDR un HDR video ieviešanu nozīmē, ka arvien vairāk izstrādātāju izvēlas šo bibliotēku, lai veidotu augstas kvalitātes vizuālo pieredzi. Lietotājiem tas nozīmē izsmalcinātākus, konsekventākus fotoattēlus un videoklipus, kas labāk izmanto viņu viedtālruņa potenciālu neatkarīgi no izmantotās lietotnes.