Jak włączyć interfejs API Camera2 i robić zdjęcia RAW na Androidzie

Chociaż interfejs API Camera2 został wprowadzony do Androida Lollipop w 2015 r., Większość producentów telefonów w 2017 r. Nadal nie wdrożyła interfejsu API Camera2 w swoich telefonach komórkowych. Tylko kilka urządzeń premium ma pełną obsługę Camera2 API, pomimo faktu, że Google wycofał starszą wersję Camera API i wezwał programistów do wdrożenia Camera2 od czasu jego wydania. Wygląda na to, że producenci używają funkcji API Camera2, takich jak przechwytywanie formatu RAW, jako punktu sprzedaży swoich urządzeń premium, a nie uniwersalnej aktualizacji, którą zamierzał Google.

Zła wiadomość jest taka, że ​​nie jest możliwe po prostu flashowanie pamięci ROM za pomocą interfejsu API Camera2 - musiałbyś samodzielnie przebudować ROM i dodać obsługę API Camera2 lub sflashować niestandardową pamięć ROM z wbudowanym interfejsem API. Dobrą wiadomością jest to, że istnieje kilka sztuczek, aby włączyć API Camera2, jeśli pozostawiono je w pamięci ROM, ale zostało wyłączone przez producenta. Istnieje również natywny sposób robienia zdjęć w formacie RAW za pomocą urządzeń Mediatek. Poniżej pokażę ci te sztuczki.

Czym do cholery jest format RAW i dlaczego chcę API Camera2?

Jeśli natknąłeś się na ten przewodnik i nie masz pojęcia, czym jest format RAW, jest to w zasadzie bezstratny format obrazu - pomyśl o tym jak o szybkości transmisji wideo lub muzyki. Znasz różnicę między plikami muzycznymi 120 kb / s, 320 kb / s i FLAC, prawda? Lub oglądasz filmy z YouTube'a w rozdzielczości 320p kontra 1080p? Jest to w zasadzie to samo dla JPEG vs RAW rodzaju .

Format RAW umożliwia robienie zdjęć w całkowicie bezstratnej chwale, co oznacza zerową kompresję obrazu (ale znacznie większe rozmiary plików). Te obrazy RAW są znacznie lepsze do obróbki w oprogramowaniu graficznym - ponieważ, jak sugeruje nazwa typu pliku, są to całkowicie dane obrazu RAW . Jeśli porównasz JPEG ze zdjęciem RAW prosto z aparatu obok siebie, JPEG może wydawać się mieć jaśniejsze kolory lub inne ulepszenia wizualne - dzieje się tak dlatego, że pliki JPEG są przetwarzane dalej przez oprogramowanie aparatu i wbudowane w dane obrazu .

Dlatego nieedytowany plik RAW może wydawać się brzydszy niż JPEG w porównaniu z innymi plikami. Ale dla entuzjastów obróbki obrazu brak „przetwarzania końcowego” przez oprogramowanie aparatu jest dokładnie tym, czego potrzebujesz. Przetwarzanie końcowe jest całkowicie pod Twoją kontrolą . Oznacza to, że zdjęcia RAW można ulepszać w znacznie większym stopniu niż pliki JPEG, ponieważ nie walczysz z „magią” przetwarzania końcowego oprogramowania aparatu stosowaną do plików JPEG.

Włącz interfejs API Camera2 w Build.Prop

Ostrzeżenie: zawsze twórz kopię zapasową pliku build.prop na wypadek, gdyby coś poszło nie tak.

Ta metoda ma 50/50 szans na sukces, ale warto spróbować. Wygląda na to, że niektórzy producenci mają wbudowane API Camera2 w ROM-ach, ale z jakiegoś powodu je wyłączyli - po prostu dodając wiersz do build.prop w partycji / system urządzenia z Androidem, możesz włączyć funkcjonalność Camera2 API.

Zobacz też: Jak edytować plik Build.Prop systemu Android za pomocą niezbędnych poprawek

Najpierw potrzebujesz zrootowanego telefonu i metody edycji pliku build.prop. Możesz użyć aplikacji do eksploracji plików root (takiej jak ES Explorer ), aby przejść do partycji / system w telefonie i otworzyć build.prop za pomocą edytora tekstu, lub możesz użyć dedykowanego edytora build.prop, takiego jak edytor JRummy BuildProp.

Gdy znajdziesz się w build.prop, wyszukaj ten ciąg:

persist.camera.HAL3.enabled = 0

Zmień 0 na 1, zapisz i wyjdź z build.prop, a następnie uruchom ponownie telefon. Jeśli ten ciąg nie został znaleziony w pliku build.prop, spróbuj ręcznie dodać persist.camera.HAL3.enabled = 1 na dole pliku build.prop, zapisz i uruchom ponownie. Następnie możesz sprawdzić, czy zadziałało, uruchamiając aplikację aparatu innej firmy, taką jak Open Camera lub Camera FV-5 i sprawdzając w menu Ustawienia, czy możesz włączyć tryb API Camera2.

Włącz interfejs API Camera2 w emulatorze terminala

Alternatywną metodą do powyższego jest próba włączenia interfejsu API Camera2 za pomocą emulatora terminala. Po prostu uruchom terminal i wpisz następujące polecenia:

su

su persist.camera.HAL3.enabled 1

wyjście

wyjście

Uruchom ponownie telefon i sprawdź, czy działa z aplikacją aparatu innej firmy, taką jak Open Camera lub Camera FV-5.

Rób zdjęcia RAW w trybie Mediatek Engineer

Jeśli masz urządzenie z chipsetem Mediatek, możesz robić zdjęcia RAW nawet bez włączonego interfejsu API Camera2, poprzez tryb inżyniera. Istnieje kilka metod dostępu do trybu inżyniera:

Otwórz program do wybierania numeru i wpisz ten numer: * # * # 3646633 # * # *

Alternatywnie możesz zainstalować aplikację, taką jak MTK Engineering Mode, aby zawsze mieć ikonę skrótu w domu. Możesz także zainstalować Xposed i moduł GravityBox ( patrz: Jak całkowicie stworzyć motyw dla Androida za pomocą modułów Xposed ) , które również będą miały program uruchamiający w trybie inżyniera.

W każdym razie, gdy znajdziesz się w trybie inżyniera, po prostu przewiń w prawo do opcji Testowanie sprzętu> Kamera. To jest tryb testowy dla sprzętu aparatu, ale możesz włączyć wszystkie rodzaje opcji aparatu, w tym format RAW, i robić zdjęcia.

Podczas robienia zdjęć RAW w trybie inżyniera dwa pliki zostaną zapisane w katalogu / DCIM / CameraEM / - plik JPEG do podglądu zdjęcia oraz rzeczywisty plik RAW, którego nie można wyświetlić na telefonie z systemem Android. Będziesz musiał wyeksportować plik RAW na komputer i użyć oprogramowania do edycji obrazu, takiego jak Adobe Photoshop, aby manipulować obrazem RAW, a także może być konieczne przekonwertowanie go na uniwersalny format RAW, a nie na to, co wyświetla telefon.