0 votos

Cómo hacer posible guardar fotos raw en Samsung Galaxy A3 2017?

Tengo un rooteado Galaxy A3 2017 (SM-A320F) con Android 8.0.0. Estoy tratando de capturar fotos sin procesar, pero ni la aplicación de la cámara de valores ni Cámara abierta muestran ninguna opción relevante (He activado Camera2 API). Esta opción tampoco estaba presente antes de rootear. En otro teléfono, unrooted Galaxy Note8, la opción está presente al menos en Open Camera.

Así que supongo que la opción está desactivada de alguna manera en mi A3. ¿Se puede volver a activar sin cambiar a un firmware completamente diferente? ¿Cómo?

Tenga en cuenta que otra pregunta propuesto como duplicado es 1) pregunta sobre una versión muy antigua de Android - 4.2.2, que no tiene API Camera2, y 2) pregunta simplemente si existe alguna aplicación con dicha funcionalidad, que hoy en día es por supuesto . Así que ésta no es un duplicado. Esta pregunta es sobre cómo volver a activar el soporte de fotos raw que faltaba en su lugar.

1 votos

0 votos

@Zackary no lo es, ver la edición.

1voto

David Ramiro Puntos 21

La API Camera2 por sí sola no significa necesariamente que puedas disparar en RAW, aunque puedes ejecutar la aplicación gratuita Compatibilidad con cámaras manuales . Si se muestra que el teléfono admite RAW, debería ser capaz de disparar RAW con el Cámara manual aplicación.

Photoshop Lightroom es otra aplicación capaz de capturar y editar RAW, así que tal vez valga la pena intentarlo también.

0 votos

Lightroom tampoco funciona, lo cual no es sorprendente, dado que la función no está expuesta a través de la API. Y Manual Camera simplemente miente, diciendo que el dispositivo es compatible con el disparo en RAW (ver también sus comentarios). Por supuesto, no voy a comprarlo simplemente para descubrir que no funciona.

0 votos

Me parece justo, no sabía que la prueba de la cámara manual mentía, antes había teléfonos que mostraban incompatibilidad en ella. ¿Cuál es la salida de ¿Esta aplicación? Ese desarrollador no tiene ninguna aplicación de cámara para vender, así que quizá esa aplicación sea más veraz.

0 votos

Olvídalo, acabo de ver tu edición. Así que ya eres consciente de que tu dispositivo HAL3 no hace RAW en absoluto que no es nada que puedas hacer al respecto, por desgracia. Esto sería hasta el fabricante del teléfono para hacer.

0voto

Ruslan Puntos 108

Parece que ya es posible con el firmware original. Estaba a punto de intentar rastrear una aplicación de cámara con NDK (gracias a Tutorial de Sisik con una demostración ) con strace para ver qué llamadas a la API conducen a qué ioctl s para ayudar a búsquedas posteriores, cuando, mientras recortaba la demo, me di cuenta de que la API nativa de la cámara expone AIMAGE_FORMAT_RAW16 con dimensiones 4144×3106 en mi Galaxy SM-A320F/DS. Después de probar a capturar una imagen en este formato, obtuve una salida Bayer de 16 bits, que tras un demosaicing simplista y un balance de blancos resultó en una imagen RAW bastante decente.

Sin embargo, hay una pequeña rareza: la parte inferior de la imagen (píxeles 2333 a 3106) siempre está llena de ceros. No estoy seguro de por qué es así, pero al menos el 75% superior de los datos están presentes y son utilizables.

Cómo obtener soporte RAW en OpenCamera

Actualmente, OpenCamera detecta si una cámara admite RAW mediante REQUEST_AVAILABLE_CAPABILITIES_RAW . Si no hay tal capacidad, la detección simplemente da un resultado negativo. Para SM-A320F esto es incorrecto, porque no informa de esta capacidad, pero el formato RAW16 está entre los formatos de salida soportados.

Para solucionar este problema, podemos aplicar el siguiente parche a OpenCamera 1.47.3 y crear nuestro propio APK. Este parche eliminará la comprobación de la capacidad, haciendo que OpenCamera busque el formato deseado independientemente de ello.

diff --git a/app/src/main/java/net/sourceforge/opencamera/cameracontroller/CameraController2.java b/app/src/main/java/net/sourceforge/opencamera/cameracontroller/CameraController2.java
index 2c6463c..939b00b 100644
--- a/app/src/main/java/net/sourceforge/opencamera/cameracontroller/CameraController2.java
+++ b/app/src/main/java/net/sourceforge/opencamera/cameracontroller/CameraController2.java
@@ -2062,7 +2062,7 @@ public class CameraController2 extends CameraController {
         //camera_features.picture_sizes.get(0).supports_burst = false;

         raw_size = null;
-        if( capabilities_raw ) {
+        if( true || capabilities_raw ) {
             android.util.Size [] raw_camera_picture_sizes = configs.getOutputSizes(ImageFormat.RAW_SENSOR);
             if( raw_camera_picture_sizes == null ) {
                 if( MyDebug.LOG )

He informado de esto en el rastreador de problemas de OpenCamera como billete 661 .

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X