Как да активирам API на Camera2 и да снимам RAW на Android

Въпреки че API2 на Camera2 беше въведен в Android Lollipop през 2015 г., повечето производители на телефони през 2017 г. все още не са внедрили API на Camera2 в мобилните си телефони. Само шепа първокласни устройства имат пълна поддръжка на Camera2 API, въпреки факта, че Google оттегли наследения API на Camera и призова разработчиците да внедрят Camera2 от пускането му. Изглежда, че производителите използват функциите на Camera2 API, като заснемане на RAW формат, като точка за продажба на своите първокласни устройства, а не като универсален ъпгрейд, който Google е предвидил.

Лошата новина е, че не е възможно просто да флашвате вашия ROM с API с Camera2 API - ще трябва да възстановите ROM и да добавите поддръжка на Camera2 API сами или да мигате персонализиран ROM с вградения API. Добрата новина е, че има няколко трика за активиране на API на Camera2, ако е оставен във вашия ROM, но е деактивиран от производителя. Има и естествен начин за правене на снимки във формат RAW с устройства Mediatek. Ще ви покажа тези трикове по-долу.

Какво, по дяволите, е RAW формат и защо искам Camera2 API?

Ако сте попаднали на това ръководство и нямате представа какъв е форматът RAW, това е основно формат за изображения без загуби - мислете за него като за битрейт на видео или музика. Знаете разликата между 120kbps, 320kbps и FLAC музикални файлове, нали? Или гледане на видеоклипове в Youtube в 320p срещу 1080p? По същество това е едно и също нещо за JPEG срещу RAW, нещо като .

RAW форматът ще заснема снимки в напълно без загуби слава, което означава нулево компресиране на изображението (но много по-големи размери на файла). Тези RAW изображения са много по-добри за манипулиране в софтуера за изображения - тъй като точно както подсказва името на файла, те са напълно RAW данни за изображения. Ако сравните JPEG с направо излязла RAW снимка от камерата , JPEG може да изглежда с по-ярки цветове или други визуални подобрения - това е така, защото JPEG се обработват след това от софтуера на камерата и се вграждат в данните за изображението .

По този начин, нередактиран RAW може да изглежда по-грозен от JPEG при сравнение едно до друго. Но за любителите на манипулирането на изображения липсата на „последваща обработка“ от софтуера на камерата е точно това, от което се нуждаете. Последващата обработка е изцяло под ваш контрол . Това означава, че RAW снимките могат да бъдат подобрени в много по-голяма степен от JPEG файловете, тъй като не се борите срещу „магията“ за последваща обработка на софтуера на камерата, приложена към JPEG файловете.

Активирайте API на Camera2 в Build.Prop

Предупреждение: Винаги създавайте резервно копие на вашия build.prop, в случай че нещо се обърка.

Този метод има 50/50 шанс за успех, но си заслужава да опитате. Изглежда, че някои производители имат вграден API на Camera2 в ROM, но са го деактивирали по някаква причина - като просто добавите ред към build.prop в / системния дял на вашето устройство с Android, можете да активирате функционалността на API на Camera2.

Вижте също: Как да редактирате Android Build.Prop с Essential Tweaks

Първо ще ви трябва вкоренен телефон и метод за редактиране на вашия файл build.prop. Можете да използвате приложение за корен на файловия изследовател (като ES Explorer ), за да отидете до / системния дял на телефона си и да отворите build.prop с текстов редактор, или можете да използвате специален редактор на build.prop като JRummy BuildProp Editor.

След като влезете в build.prop, потърсете този низ:

persist.camera.HAL3.enabled = 0

Променете 0 на 1, запазете и излезте от build.prop, след което рестартирайте телефона си. Ако този низ не е намерен във вашия build.prop, опитайте ръчно да добавите persist.camera.HAL3.enabled = 1 в долната част на вашия файл build.prop, запазете и рестартирайте. След това можете да тествате дали е работило, като стартирате приложение на камера на трета страна като Open Camera или Camera FV-5 и проверите в менюто Настройки дали можете да активирате режим Camera API.

Активирайте API на Camera2 в терминален емулатор

Алтернативен метод на горния е да опитате и активирате Camera2 API чрез терминален емулатор. Просто стартирайте терминала и въведете следните команди:

су

su persist.camera.HAL3. Enabled 1

изход

изход

Рестартирайте телефона си и проверете дали е работил с приложение на камера на трета страна като Open Camera или Camera FV-5.

Снимайте RAW снимки в режим Mediatek Engineer

Ако имате устройство с чипсет Mediatek, има начин да заснемате RAW снимки дори без активиран API на Camera2, чрез инженерния режим. Има няколко метода за достъп до инженерния режим:

Отворете набирача на телефона си и въведете този номер: * # * # 3646633 # * # *

Като алтернатива можете да инсталирате приложение като MTK Engineering Mode, за да имате винаги икона за пряк път в дома си. Можете също така да инсталирате Xposed и модула GravityBox ( вижте: Как да тематизираме напълно Android с Xposed модули ) , които също ще имат стартер в инженерния режим.

Във всеки случай, след като сте в инженерния режим, просто превъртете надясно до Хардуерно тестване> Камера. Това е режим на тестване на хардуера на камерата, но можете да активирате всички видове опции на камерата, включително RAW формат, и да правите снимки.

Когато снимате RAW снимки в инженерния режим, два файла ще бъдат записани в / DCIM / CameraEM / директория - JPEG за предварителен преглед на снимката и действителният RAW файл, който не може да бъде визуализиран на телефона с Android. Ще трябва да експортирате RAW файла на вашия компютър и да използвате софтуер за редактиране на изображения като Adobe Photoshop, за да манипулирате RAW изображението и може да се наложи да го конвертирате в универсален RAW формат, а не в това, което извежда телефонът ви.