PDA

Ver la Versión Completa : Pruebas Camara ROM Kalim


NewZa
22/01/11, 02:05:12
He abierto este hilo, porque creo que estamos saturando a la gente con el tema de la camara dentro del hilo de la ROM y creo que es mejor que dejemos ese hilo para los problemas reales con la ROM.

Pues bien, despues de un buen rato probando y mirando, creo que acabo de ver algo. A partir del primer driver que dejaste, que me parece el mas estable de los 3, he podido comprobar que solo guardamos un canal de los 3 de RGB, por eso salen bien las fotos en blanco y negro cuando seleccionamos 1 canal al pasarla a photoshop, pq solo tenemos guardado un canal completo. A ver si me explico un poco.

Foto a 2048 guarda un raw de 3.072 KB
Foto a 1600 guarda un raw de 1.875 KB
Foto a 1024 guarda un raw de 768 KB

Ahora bien, si hacemos los calculos, recordemos que las imagenes RAW siempre tienen el mismo tamaño pq guardan toda la información :
alto x ancho x bitsdecolor x canales = tamaño de archivo
tenemos que
2048 x 1536 x 8 x 3 = 75497472 bits = 9.216 KB = 3072 x 3
1600 x 1200 x 8 x 3 = 46080000 bits = 5.625 KB = 1875 x 3
1024 x 768 x 8 x 3 = 18874368 bits = 2.304 KB = 768 x 3

Segun esto, los buffers tienen que inicializarse con esos valores

En un log de una foto a 1024, se puedo ver

01-18 22:28:15.929 D/QualcommCameraHardware(121)stopPreviewInternal X: 0
01-18 22:28:15.929 D/QualcommCameraHardware(121)initRaw E: picture size=1024x768
01-18 22:28:15.929 D/QualcommCameraHardware(121)native_set_dimension: E
01-18 22:28:15.929 D/QualcommCameraHardware(121)native_set_parm: type: 1, length=28
01-18 22:28:15.969 D/QualcommCameraHardware(121)initRaw: initializing mThumbHeap. with size 294912
01-18 22:28:15.969 D/QualcommCameraHardware(121)constructing MemPool thumbnail camera backed by pmem pool /dev/pmem_adsp: 1 frames @ 294912 bytes, offset 0, buffer size 294912
01-18 22:28:15.969 D/QualcommCameraHardware(121)pmem pool /dev/pmem_adsp ioctl(fd = 31, PMEM_GET_SIZE) is 524288
01-18 22:28:15.969 D/QualcommCameraHardware(121)initRaw: initializing mRawHeap. with size 1179648

este ultimo valor deberia de ser para ese tamaño de foto de 2359296, que son los bytes necesarios para guardarla, por eso creo que no estamos leyendo la imagen completa y por eso creo que cuando ponemos un valor mayor de lectura el sistema falla, porque estamos solicitando datos de memoria que no tenemos asignada.

Bueno, todo esto son solo suposiciones a partir de logs, leer y probar, me acuesto ya que hay que trabajar.

Animo Kalim, el trabajo que haces para la comunidad no tiene precio.

KalimochoAz
22/01/11, 07:47:31
Me parece bien el hilo nuevo, y yo solo sin vuestra ayuda no podría ni tan solo haber llegado aquí. Además de que animáis un huevo.

Ahi va otro test

NewZa
22/01/11, 08:44:33
Me parece bien el hilo nuevo, y yo solo sin vuestra ayuda no podría ni tan solo haber llegado aquí. Además de que animáis un huevo.

Ahi va otro test

A los buenos dias, ya la he probado, no guarda la foto en la sd, la recupero de /data/temp.jpg

al abrirla con phtoshop me muestra mal la imagen, si selecciono ver solo el canal rojo, se muestra ibien la imagen en blanco y negro, si marco los canales azul o verde solo tengo trozos de la foto. Sigo pensando lo mismo. creo que lo de dividir entre dos el valor al inicializar el valor de mrawheap no deberia de estar.

Me marcho al trabajo, sigo luego.

Agedjus
22/01/11, 10:02:26
Me parece bien lo del nuevo tema, como pense, si son 3 canales deberían ser 9 MB aprox pero el driver de la cámara parece no quiere guardar 3 canales, a ver ese tema... Pienso y según lo que has dicho NewZa habría que dar un valor según la resolución con la que usemos la cámara con una variable pero en caso de que funcionase así, de donde sacamos si es 1M, 2M o 3M?

Si quieres hacer alguna prueba estoy libre Kalim. Si os parece voy a crear una recopilación de imágenes según la librería con la que se hicieron y podemos ir comparando...

1ª LIBRERÍA (22:50 - 21/01/11 (http://www.htcmania.com/attachment.php?attachmentid=49534&d=1295647014)) - 9 MB


http://img607.imageshack.us/img607/2839/imagencolorimg.th.jpg (http://img607.imageshack.us/img607/2839/imagencolorimg.jpg)http://img715.imageshack.us/img715/1197/blanconegrocolor.th.jpg (http://img715.imageshack.us/img715/1197/blanconegrocolor.jpg)

2ª LIBRERÍA (07:47 - 22/01/11 (http://www.htcmania.com/attachment.php?attachmentid=49541&d=1295678842)) - 2.25 MB

http://img585.imageshack.us/img585/6797/imgcolor.th.jpg (http://img585.imageshack.us/img585/6797/imgcolor.jpg)

3ª LIBRERÍA (11:12 - 22/01/11 (http://www.htcmania.com/attachment.php?attachmentid=49547&d=1295691083)) - 4.5 MB

http://img254.imageshack.us/img254/6797/imgcolor.th.jpg (http://img254.imageshack.us/img254/6797/imgcolor.jpg)http://img638.imageshack.us/img638/2669/img2color.th.jpg (http://img638.imageshack.us/img638/2669/img2color.jpg)

4ª LIBRERÍA (12:05 - 22/01/11) (http://www.htcmania.com/attachment.php?attachmentid=49556&d=1295694253) - 3 MB

http://img820.imageshack.us/img820/3025/img1qr.th.jpg (http://img820.imageshack.us/img820/3025/img1qr.jpg)http://img171.imageshack.us/img171/5456/img2kt.th.jpg (http://img171.imageshack.us/img171/5456/img2kt.jpg)


Edito: He sacado temp.jpg como dijo @NewZa (http://www.htcmania.com/member.php?u=12582) pero cuando le pongo tres canales, parece que no están bien los colores y salen líneas verticales, he intentado editarlo con el bloc de notas (el espacio rellanado de 0 son 1 MB más de lo que es el contenido) pero nada de nada. Seguiré probando.

KalimochoAz
22/01/11, 11:05:05
Me parece bien lo del nuevo tema, como pense, si son 3 canales deberían ser 9 MB aprox pero el driver de la cámara parece no quiere guardar 3 canales, a ver ese tema... Pienso y según lo que has dicho NewZa habría que dar un valor según la resolución con la que usemos la cámara con una variable pero en caso de que funcionase así, de donde sacamos si es 1M, 2M o 3M?

Si quieres hacer alguna prueba estoy libre Kalim. Si os parece voy a crear una recopilación de imágenes según la librería con la que se hicieron y podemos ir comparando...

CAPTURAS LIBRERÍA (22:50 - 21/01/11 (http://www.htcmania.com/attachment.php?attachmentid=49534&d=1295647014))


http://img607.imageshack.us/img607/2839/imagencolorimg.th.jpg (http://img607.imageshack.us/img607/2839/imagencolorimg.jpg)http://img715.imageshack.us/img715/1197/blanconegrocolor.th.jpg (http://img715.imageshack.us/img715/1197/blanconegrocolor.jpg)





Edito: He sacado temp.jpg como dijo @NewZa (http://www.htcmania.com/member.php?u=12582) pero cuando le pongo tres canales, parece que no están bien los colores y salen líneas verticales, he intentado editarlo con el bloc de notas (el espacio rellanado de 0 son 1 MB más de lo que es el contenido) pero nada de nada. Seguiré probando.


Bien, ahora te mando otra versión a ver que conseguimos

KalimochoAz
22/01/11, 11:11:31
Adjunto nueva librería:

Agedjus
22/01/11, 11:29:26
Adjunto nueva librería:

Añadída captura de librería de esta mañana, la que acabas de poner estoy intentando iniciarla pero se me queda pantalla negra la cámara, ahora edito cuando tenga la captura y añado al post.

lokko
22/01/11, 11:33:03
Kalim acabo de meter la libreria y me guarda la imagen en la SD, 1.5mb calidad 1mpx, 4.5mb calidad 3mpx , voy a abrirla con el photoshop ahora

Ahi os dejo lo que me sale en el photoshop (calidad 1mpx)

http://img502.imageshack.us/img502/48/fghwl.th.png (http://img502.imageshack.us/i/fghwl.png/)

Agedjus
22/01/11, 11:47:55
Ok, ya tengo la imagen de la nueva librería, añado al post de imágenes, nada nuevo, quizás una librería a 7.5 MB??

KalimochoAz
22/01/11, 12:04:19
Otro intento

armude
22/01/11, 12:09:28
oye que las fotos en blanco y negro son muy artisticas lo podriamos dejar asi no? jaja, fuera de coñas, gracias por vuestro tiempo y trabajo, soys unos cracks!

deluke
22/01/11, 12:09:53
Me parece bien lo de crear este post y asi no se lie con las demas dudas y esta la cosa interesante, lo que pasa por levantarme un poco mas tarde :risitas:.

Hasta despues de comer necesito el movil operativo, asi que os seguire mientras y despues me uno a las pruebas animo!!!!

Agedjus
22/01/11, 12:12:17
Ok, a ver que tal ahora, por cierto según las imágenes, fijarse que en la primera de 9 MB hay una zona negra debajo, se supone que esa es la correspondiente al tamaño de sobra del archivo, algo como:

9 MB - (MB zona negra) = Tamaño Real RAW

Imágenes añadidas y me he dado cuenta de otra cosa...

Como dice @NewZa (http://www.htcmania.com/member.php?u=12582), el PhotoShop, a falta de más información, coloca las capas como quiere y lo vemos de esta manera. Podéis verlo aquí con esta prueba con la misma imagen pero cada una con un color:

ROJO - VERDE - ROJO Y AZUL - ROJO, VERDE Y AZUL

http://img16.imageshack.us/img16/7434/rojoyq.th.jpg (http://img16.imageshack.us/img16/7434/rojoyq.jpg)http://img21.imageshack.us/img21/8994/verdens.th.jpg (http://img21.imageshack.us/img21/8994/verdens.jpg)http://img21.imageshack.us/img21/6577/rojoyazul.th.jpg (http://img21.imageshack.us/img21/6577/rojoyazul.jpg)http://img820.imageshack.us/img820/3025/img1qr.th.jpg (http://img820.imageshack.us/img820/3025/img1qr.jpg)

Podemos decir entonces que sin un .raw completo no conseguiremos una imagen completa con todas las capas, lo que dije antes tiene que ser un valor por debajo de 9 MB, apuesto por 7.5 MB. La indicación de que no lo rellena de basura es sencilla, si la guarda en la SD sabemos dos cosas, no tiene basura y falta información.

NewZa
22/01/11, 12:36:05
No puedo hacer pruebas ahora mismo, estoy en el trabajo.

Por lo que veo en las pruebas que estais haciendo, me sigue pareciendo que nos falta parte del Archivo RAW. Si escribimos un archivo de 9Mb con solo parte del RAW, tenemos que escribe información correcta, hasta la mitad y el resto lo rellena con basura. No es un fallo de la libreria que pasa el Raw como quiere, sino que es el photoshop que intentan organizar los canales como puede, solo tiene información de la capa roja, y media de la azul, y esta media de la azul la distribuye entre las dos capas, haciendo que se vean las rayas.

Impaciente por llegar a casa y poder probar.

NewZa
22/01/11, 12:53:25
Podemos decir entonces que sin un .raw completo no conseguiremos una imagen completa con todas las capas, lo que dije antes tiene que ser un valor por debajo de 9 MB, apuesto por 7.5 MB. La indicación de que no lo rellena de basura es sencilla, si la guarda en la SD sabemos dos cosas, no tiene basura y falta información.

Exacto, pero donde creo que falla es cuando lee el raw de memoria, deberia de leer los 9 Mb y solo le asignamos memoria para 4,5 Mb, y eso es lo que hace. Por eso da igual el tamaño de archivo que guardemos, solo hemos leido medio archivo.

Agedjus
22/01/11, 12:55:09
Exacto, pero donde creo que falla es cuando lee el raw de memoria, deberia de leer los 9 Mb y solo le asignamos memoria para 4,5 Mb, y eso es lo que hace. Por eso da igual el tamaño de archivo que guardemos, solo hemos leido medio archivo.

Pues entonces habrá que asignar ambos valores iguales y supongo dará igual que sobrepase los 9 MB, pues si los rellena de basura, al PhotoShop le da igual :platano:

Por tanto daría igual no obtener el tamaño real del .raw, porque al convertirlo a .jpg la basura la borra y entonces hay que asignarle un tamaño alto al .raw

KalimochoAz
22/01/11, 13:28:12
Exacto, pero donde creo que falla es cuando lee el raw de memoria, deberia de leer los 9 Mb y solo le asignamos memoria para 4,5 Mb, y eso es lo que hace. Por eso da igual el tamaño de archivo que guardemos, solo hemos leido medio archivo.

El kernel no me da los 9Mb que me comentas, por eso está multiplicado por 3/2 ( ese es uno de los motivos por el que estoy haciendo un kernel nuevo )

Agedjus
22/01/11, 13:34:50
Ok, esperaremos entonces al nuevo kernel para seguir haciendo pruebas. Por cierto, ¿la función que convierte de .raw a .jpg funciona actualmente en el caso de dar con un .raw válido?

NewZa
22/01/11, 13:55:41
El kernel no me da los 9Mb que me comentas, por eso está multiplicado por 3/2 ( ese es uno de los motivos por el que estoy haciendo un kernel nuevo )

Ahora, te entiendo, pues tiene que haber alguna manera, aunque sea haciendo dos pasadas de lectura. Seguire mirando a ver que veo por ahi.

Agedjus
22/01/11, 14:16:39
Ahora, te entiendo, pues tiene que haber alguna manera, aunque sea haciendo dos pasadas de lectura. Seguire mirando a ver que veo por ahi.

¿2 pasadas de lectura? Habría que decirle que la segunda la hiciera a partir de la mitad del archivo completo y se lo sumara a la primera :sisi1:

La cámara está cerca :platano:

KalimochoAz
22/01/11, 15:24:18
Ahora, te entiendo, pues tiene que haber alguna manera, aunque sea haciendo dos pasadas de lectura. Seguire mirando a ver que veo por ahi.

Lo hace internamente la funcion de captura. Forma parte de la libreria de htc.

Quien si hace en dos pasadas la captura a jpeg, primero un fragmento y luego el resto

EDIT: Si consigo un raw correcto, conseguiremos que comprima en jpeg sin problemas

KalimochoAz
22/01/11, 16:38:00
Vamos a ver que pasa en esta:

Agedjus
22/01/11, 16:46:03
Se me ha quedado parada la cámara, FC, voy a volver a probar...

Edit: Lo dicho, dos reinicios, dos intentos y dos FC

NewZa
22/01/11, 16:46:30
Instalada y reiniciando el movil.....

La previsualización de la foto ha pasado ha verse en tonos verdes, mu regulá, ha generado el archivo de tamaño correcto en la SD. y al pasarlo con photoshop, seguimos en las misma, en una capa esta bien la imagen y en las otras dos, mucho ruido

Agedjus
22/01/11, 17:04:36
Instalada y reiniciando el movil.....

La previsualización de la foto ha pasado ha verse en tonos verdes, mu regulá, ha generado el archivo de tamaño correcto en la SD. y al pasarlo con photoshop, seguimos en las misma, en una capa esta bien la imagen y en las otras dos, mucho ruido

Yo no consigo que saque la foto en la SD, en la cámara se queda el cuadro verde de preparar la foto y lo demás todo negro, así durante 5 min y luego desaparece, sin rastro...

KalimochoAz
22/01/11, 17:05:01
y otra mas, la ultima si no da resultados antes de una restructuracion impostante del código. Me interesa ver el resultado que os da

adry-kona
22/01/11, 17:16:58
Esto está super interesante jejejeje.
No paro de darle al F5! xD

elmerovingio
22/01/11, 17:19:34
Esto está super interesante jejejeje.
No paro de darle al F5! xD

Ya somos 2 :sisi1:

Agedjus
22/01/11, 17:21:12
Ahora si, imagen tomada, ahora edito con imagen

http://img839.imageshack.us/img839/1364/img1zl.th.jpg (http://img839.imageshack.us/img839/1364/img1zl.jpg)

Es casi la misma imagen que la de la librería 3 que hay en la recopilación que hice, de 4.5 MB

EL CID CAMPEADOR
22/01/11, 17:22:58
jajaj ya decia yo que estaba el temario muy tranquilito hoy:aplausos:,llevo toda la mañana metido al foro de la rom y sin movimientos....., estaba flipando con la gente tan calmadita con el monazo de camara que tenemos todos.

Como os dije me gustaría ayudar, pero necesito que me echéis una mano con un minitutorial para instalar la librería, o al menos algun sitio donde pueda ver como hacerlo.

Hectormm
22/01/11, 17:25:05
Bueno no tengo la tattoo a mano para probar nada, pero veo que va muy bien todo. ANIMO!!!

NewZa
22/01/11, 17:32:54
y otra mas, la ultima si no da resultados antes de una restructuracion impostante del código. Me interesa ver el resultado que os da

Imagen tomada, previsualización correcta, no se queda colgada la aplicación de la camara despues de la foto, archivo raw para foto a 1M de 1.152kb

Al abrirla con el photoshop, más de lo mismo, me deja abrirla a 1024 x 384
en en canal rojo tengo la mitad superior de la foto
en el canal verde tengo la mitad inferior y en el canal azul tengo muchas rayas de lo que parece ser la foto.

EDIT: No he mirado el logcat, si te interesa le hecho un vistazo

KalimochoAz
22/01/11, 17:54:39
Gracias por los test, no hace falta logcat, gracias.

El test ha sido brutal y me ha aclarado bastantes temas. Voy a modificar más cosas.

Creo recordar que en settings de la cámara se podía pedir que te haga la foto en raw, podéis mirar alguno si es así y probar que pasa.

Agedjus
22/01/11, 18:00:20
Gracias por los test, no hace falta logcat, gracias.

El test ha sido brutal y me ha aclarado bastantes temas. Voy a modificar más cosas.

Creo recordar que en settings de la cámara se podía pedir que te haga la foto en raw, podéis mirar alguno si es así y probar que pasa.

No encuentro esa opción, sólo me da opción de cambiar a video o ir a galería

EL CID CAMPEADOR
22/01/11, 18:12:27
Nooo, la opción no existe, solo hay posibilidad de elegier modo de enfoque, tamaño imagen,calidad, efecto color antibanding, saturation,contrast,sharpness y restaurar valores predeterm. En otro sitio tenemos Almacenar ubicación (en metadatos), balance de blancos y otra para configurar el flash.

Ademas, no se si le pasa a alguien mas, pero solo puedo usar la aplicación de la camara una vez, luego se queda colgada (desde la 10.4b, en la a iba bien) la aplicación y hay que reiniciar

KalimochoAz
22/01/11, 19:15:23
Si no pasa nada esta noche saco la 10.5 que será aún más estable y rápida. Además modifico el kernel y otras cosillas para tenerlo como base de la cámara para otra batida de tests

leon1984
22/01/11, 19:23:46
actualizarás a ginger 2.3.2????

KalimochoAz
22/01/11, 19:27:36
actualizarás a ginger 2.3.2????

Si, con el gestor de temas incluido

deluke
22/01/11, 23:43:06
Kalim vas a sacar a la luz esta noche la 10.5 o el curro se alarga¿?

leon1984
23/01/11, 00:02:44
deluke desde el primer día insaciable probando cosas madre mía!jajajaja
EDITO: Kalim ya la está subiendo ;)

deluke
23/01/11, 00:08:10
deluke desde el primer día insaciable probando cosas madre mía!jajajaja

Jajajja, y eso que hoy no he podido probar porque he estado ocupado si no hubiera estado al lio con la camara :risitas:
Aunque estos dias estoy un poco agobiado ya, que si flasheo tattoo, que si instalo un CFW a la PS3 y cambiandole navegadores a mi Gps ni te digo, ya no se ni lo que hago XD

KalimochoAz
23/01/11, 00:23:05
Jajajja, y eso que hoy no he podido probar porque he estado ocupado si no hubiera estado al lio con la camara :risitas:
Aunque estos dias estoy un poco agobiado ya, que si flasheo tattoo, que si instalo un CFW a la PS3 y cambiandole navegadores a mi Gps ni te digo, ya no se ni lo que hago XD

Decidmelo a mi, que he compilado el kernel de la tattoo en el firmware del WesternDigital de la tele. Suerte que no lo he transferido :silbando:

Hectormm
23/01/11, 00:32:49
Yo a la espera de novedades... joer si lo se cambio el wave por la tattoo estos dias para poder probar cosas... ¬¬ Estoy con unos nervios... f5 f5 f5

KalimochoAz
23/01/11, 01:10:16
Yo a la espera de novedades... joer si lo se cambio el wave por la tattoo estos dias para poder probar cosas... ¬¬ Estoy con unos nervios... f5 f5 f5

La nueva version la pongo en el hilo de la ROM

Agedjus
23/01/11, 01:14:15
Jajajja, y eso que hoy no he podido probar porque he estado ocupado si no hubiera estado al lio con la camara :risitas:
Aunque estos dias estoy un poco agobiado ya, que si flasheo tattoo, que si instalo un CFW a la PS3 y cambiandole navegadores a mi Gps ni te digo, ya no se ni lo que hago XD

Acabo de instalar el CFW de Waninkoko y todo ok :grin:

Respecto al tema, en cuanto tenga la ROM instalada tomo pruebas jejejejejeje

deluke
23/01/11, 01:18:52
Acabo de instalar el CFW de Waninkoko y todo ok :grin:

Respecto al tema, en cuanto tenga la ROM instalada tomo pruebas jejejejejeje

Ajajaj yo he instalado el de Kneaw, por cierto tenemos que hablar por otro lado sobre este asunto que ando un poco verde-

Y esperando a que termine de subir la rom

Agedjus
23/01/11, 01:47:48
Bueno, la imagen se queda paralizada en la pantalla de previsualización, así que supongo no irá a la SD...

Nada, no está ni en data.

EDITO: IMG EN SD A LA SEGUNDA PRUEBA, CONVIRTIENDO...

deluke
23/01/11, 01:49:30
Joder que rapido :risitas:

EDITO: He probado la camara e igual que al compi se queda pillado cuando muestra la captura.

Agedjus
23/01/11, 01:54:05
Bueno, las imágenes siguen siendo como en la anterior versión captura 3, de 4.5 MB, nada ha cambiado...

I go to sleep if you don't need me

Edito: Otra cosa que me he fijado, tarda en convertirlas y pasarlas a la SD pero al final las guarda. Deluke mira la tarjeta SD aver si la tienes...

KalimochoAz
23/01/11, 02:00:55
Bueno, las imágenes siguen siendo como en la anterior versión captura 3, de 4.5 MB, nada ha cambiado...

I go to sleep if you don't need me

Imagino que con esta nueva lib no se quedará pillado

deluke
23/01/11, 02:05:23
Edito: Otra cosa que me he fijado, tarda en convertirlas y pasarlas a la SD pero al final las guarda. Deluke mira la tarjeta SD aver si la tienes...

Que va antes de guardarla me daba FC la aplicacion y tattoo bloqueada enteraImagino que con esta nueva lib no se quedará pillado

Lo siento, pero yo me voi a la cama que no puedo con mi vida ya, hasta mañana a todos

Agedjus
23/01/11, 02:11:51
Imagino que con esta nueva lib no se quedará pillado

Cierto, ahora no se queda pillado :aplausos: Adjunto imagen blanco y negro de la última librería en 10.5 (4.5MB):

http://img826.imageshack.us/img826/21/imagentomada105.th.jpg (http://img826.imageshack.us/img826/21/imagentomada105.jpg)

I go to bed, mañana nos vemos =)

kallesone
23/01/11, 02:46:18
Hola chicos,lo primero,os queria felicitar por el gran trabajo que estais haciendo,tanto a kalim,como a todos los foreros y testers que colaborais con el.
llevo mucho tiempo siguiendo el tema de la puñetera camara,que ya nos lleva por el camino de la amargura,y en un reciente mensaje de kalim se me ocurrio una idea.
kalim preguntaba por un movil similar a la tattoo,y el movil mas parecido,por no decir casi igual,es el huawei 8110,que ya viene de inicio con la 2.1.este movil comparte procesador y camara con la tattoo,por lo que pense que sacando la libcamera quizas serian posibles dos cosas.portarla a la tattoo con unas modificaciones,si fueran precisas,o por el contrario,analizandola y sabiendo como funciona,crear nuestra propia libcamera.solo son suposiciones mias.por si acaso aqui os dejo los archivos necesarios.
libcamera%huawei8110.zip (http://www.mediafire.com/?u481t8e72u20agi)
PD:siento la chapa que os he dado,y reitero mis felicitaciones solo por intentarlo,gracias:aplausos:

PsychoRS
23/01/11, 12:05:41
Kalim 10.5 con la última librería que colgó Kalim anoche pusheada.

Resultado: Hago la foto, aparece la captura en pantalla y se queda congelada hasta que unos minutos después, FC. No consigo encontrar nada en la SD... ¿en qué directorio de la SD guarda la imagen temporal?

Seguimos probando.

PsychoRS
23/01/11, 12:10:55
Vale, ya está solucionado. Se quedaba colgada al guardar la imagen en la SD (y no la guardaba) porque lo estaba haciendo con el almacenamiento USB activado...

Ya tengo mis jpg de 4.5MB, ahora a ver cómo los abro.

chucky
23/01/11, 12:21:47
Bueno, instalada la última rom. Hago foto, da FC, pero guarda en la sdcard una imagen de 4.5 mb, y puedo volver a empezar la operación.

Sent from my HTC tattoo using Tapatalk

PsychoRS
23/01/11, 12:24:59
Sí, mas o menos como a mí, sólo que ahora no me da FC la cámara. Puedo hacer fotos una tras otra, las previsualiza y se vuelve a quedar en negro.

armude
23/01/11, 12:38:18
a mi tambien me da fc despues de hacer la foto, la guarda, y cuando intentas hacer otra se cuelga


EDITO: no se cuelga la tattoo, sale el cartelito de forzar cierre, lo cierras y sigue funcionando la tattoo sin problemas

chucky
23/01/11, 12:47:03
A mi me da FC pero no se cuelga el móvil

Sent from my HTC tattoo using Tapatalk

EL CID CAMPEADOR
23/01/11, 14:29:22
Despues de instalar la última libreria (la de anoche):
- Hace la foto 4.5mb
- Guarda la imagen en la SD
Si no reinicias e intentas tirar otra foto me da fc

elmerovingio
23/01/11, 17:19:54
en el otro post que hay sobre la camara kalim puso otra libreria para solucionar esto, con esa libreria guarda la imagen en la sd
Gracias armude, con la última librería, al hacer la foto, tarda un poco en guardarla, la previsualización aparece bien y demás, y me guarda un archivo en la sd de 4.608 Kb.

Al cambiar la extensión a .raw, y lo abres con el Gimp, sale esto

Agedjus
23/01/11, 18:38:03
Gracias armude, con la última librería, al hacer la foto, tarda un poco en guardarla, la previsualización aparece bien y demás, y me guarda un archivo en la sd de 4.608 Kb.

Al cambiar la extensión a .raw, y lo abres con el Gimp, sale esto

Al abrirlo con Gimp no te pide que le des datos como los canales y eso?

Los datos para ver las imágenes son:

GRIS: 1 canal, 8bits, NO intercalado, 2048px*1536px
COLOr: 3 canales, 8bits, NO intercalado, 2048*(LA MÁS ALTA QUE TE DEJE)

elmerovingio
23/01/11, 18:59:58
Al abrirlo con Gimp no te pide que le des datos como los canales y eso?


Para abrir la imagen hay que seleccionar "datos de imagen en bruto" en el signo (+) del tipo de archivo.
Luego, en el diálogo ese, le he metido
tipo de imagen rgb
desplazamiento 0
anchura 2048
altura 768

KalimochoAz
23/01/11, 19:29:32
Si alguien tiene un minuto que intente 1024x768 a la hora de abrir el raw a ver que sale

elmerovingio
23/01/11, 19:41:41
Si alguien tiene un minuto que intente 1024x768 a la hora de abrir el raw a ver que sale

Usando Gimp 2.6 Portable
1024*768

Edit: http://img232.imageshack.us/img232/5391/img20110123185130.th.jpg (http://img232.imageshack.us/i/img20110123185130.jpg/)

PsychoRS
23/01/11, 20:09:34
Investigando por otro lado... a los que sabeis de programación, como Kalim, ¿qué os parece esto?

https://developer.brewmp.com/home

Es Brew, el SDK para desarrollo de aplicaciones desarrollado por Qualcomm para sus chips Qualcomm MSM como el que llevamos. En la web hablan de la programación de las cámaras de sus chips y demás... quizá sería otro camino.

NewZa
23/01/11, 22:34:24
Llevo todo el dia haciendo pruebas con los archivos RAW que obtenemos. Probando con distintas resoluciones, bits, canales, cortando y uniendo ficheros, etc... Por si realmente tenemos el fichero RAW completo pero nada de nada.

Llegado a este punto solo se me ocurren dos cosas: tenemos el archivo RAW completo pero comprimido de alguna forma que solo Qualcomm sabe, que es lo que hacen la mayoria de camaras profesionales al grabar fotos en RAW, y que solo se pueden abrir con su programa específico, o bien que tenemos el archivo RAW incompleto.

Tiendo más a pensar en la segunda opción despues de la última prueba que he hecho. He fotografiado una imagen en Rojo, otra en verde y otra en azul. Pues bien, si tenemos el archivo incompleto, y solo tenemos el canal rojo y parte del verde, cuando cargamos una foto cualquiera en los canales rojo y verde realmente solo tenemos el rojo, y en el canal azul la mitad de la información del verde

Según esto, si fotografiamos una imagen roja y la abrimos con el photoshop, los canales rojo y verde deben ser muy oscuros (pq es el mismo rojo), y en el azul debemos tenerlo claro, ( es parte del verde). Si copiamos la información del canal azul al canal verde, que es el que tiene información incorrecta, Tenemos la imagen roja.

Si fotografiamos una imagen azul y la abrimos, los canales rojo y verde son claros, y en el azul (en el que tenemos parte de la verde) deberia de ser más oscura la imagen. Copio en la capa azul, la capa roja que tenia en la imagen anterior. Y tenemos la imagen azul.

Puede que sea un poco lioso, pero creo que lo entendereis. Si puedo luego cuelgo imagenes de todo el proceso. Saludos

kallesone
23/01/11, 22:42:41
Investigando por otro lado... a los que sabeis de programación, como Kalim, ¿qué os parece esto?

https://developer.brewmp.com/home

Es Brew, el SDK para desarrollo de aplicaciones desarrollado por Qualcomm para sus chips Qualcomm MSM como el que llevamos. En la web hablan de la programación de las cámaras de sus chips y demás... quizá sería otro camino.

Mas o menos me referia a algo asi en mi anterior mensaje.
si ya existe un movil,el huawei 8110,que viene con la 2.1 eclair,que tiene exactamente el mismo procesador,y la misma camara...por que no probamos a analizar su libcamera a ver si la podemos portar,adaptar o utilizar su codigo para nuestra tattoo.
os vuelvo a dejar el enlace,a ver si podemos hacer algo.
libcamera-huawei8110.zip (http://www.mediafire.com/?u481t8e72u20agi)
si necesitais cualquier otro archivo de la rom del huawei,decidmelo.

PsychoRS
23/01/11, 22:52:02
Pues sí, teniendo en cuenta que la Ivy y la Tattoo son primas hermanas y mucho hardware es el mismo... tener ese libcamera creo yo que puede ser de mucha utilidad.

Aunque desde la ignorancia creo que el problema es que eso es la librería ya compilada, y necesitamos la fuente.

DaniTRS
23/01/11, 23:17:47
Creeis que si fuera tan facil no lo hubiera hecho antes Kalim, creo que eso se provó y no funcionó jeje.

Saludos!

PsychoRS
24/01/11, 00:14:59
Hombre, a mí no me parece tan fácil encontrar los codigos fuente de las librerias que utiliza un teléfono tan minoritario como ese :D

Yo al menos no me refiero a probar si va con las librerías de ese teléfono, si no que si tenemos el codigo fuente de esas librerías, los que saben podrán estudiar mejor cómo funcionan los chipsets Qualcomm como el de nuestra Tattoo, ¿no?

Dicho de otra manera, seguramente si conseguimos saber cómo trabaja la cámara en ese Huawei, servirá muchísimo para la nuestra, porque son dos piezas de hardware muy parecidas, del mismo fabricante y todo.

NewZa
24/01/11, 00:20:06
Rectifico todo lo anterior, no es como yo creia, os lo explico con algunas fotos:

Estas dos fotos se corresponden a una foto roja y a otra azul, respectivamente:

http://www.htcmania.com/picture.php?albumid=279&pictureid=1207

Hay muy poca diferencia, si tuviesemos el canal rojo, la primera foto deberia de ser muy oscura y la segunda muy clara

Hemos recuperado una foto en blanco y negro. Solo eso

Si es mas interesante la parte de abajo, mirad esta foto

http://www.htcmania.com/picture.php?albumid=279&pictureid=1208

Si os fijais en el cojin que hay en el sofa, en la parte de abajo aparecen muy claro un par de cuadrados, pues bien esos cuadrados son rojos, y lo que se ve mas oscuro es verde y amarillo.
Esto si es parte de una capa de color. Puede que sea una imagen con 4 canales, CYMK, o tal vez si que se trate de un formato raw comprimido y propietario

EDIT: Puede que este en YCrCb, en este modo de color, la primera capaz es en blanco y negro, y las dos siguientes son transformaciones que se le aplican a ese blanco y negro para obtener el color, suele usarse tambíen como paso previo a una transformación a JPEG y además es el modo de color que tiene el driver del overlay.

KalimochoAz
24/01/11, 10:50:17
Mas o menos me referia a algo asi en mi anterior mensaje.
si ya existe un movil,el huawei 8110,que viene con la 2.1 eclair,que tiene exactamente el mismo procesador,y la misma camara...por que no probamos a analizar su libcamera a ver si la podemos portar,adaptar o utilizar su codigo para nuestra tattoo.
os vuelvo a dejar el enlace,a ver si podemos hacer algo.
libcamera-huawei8110.zip (http://www.mediafire.com/?u481t8e72u20agi)
si necesitais cualquier otro archivo de la rom del huawei,decidmelo.

El problema es que no disponemos de los fuentes de ese driver y el kernel si no recuerdo mal es un 2.6.29.

Esa librería hacer referencia a direcciones que no tiene nuestro driver del kernel, y además verifica que el producto sea HUAWEI... Digamos que lo han capado para que no lo podamos usar así de fácilmente.

chucky
24/01/11, 11:47:00
He encontrado algo interesante sobre la programacion del driver de la camara de qualcomm.
No se si lo conoceriais o no, pero lo pongo por si puede servir de ayuda.

mail-archive.com/linux-mediaVGEr.kernel.org/msg26103.html

Usando Gimp 2.6 Portable
1024*768

Edit: http://img232.imageshack.us/img232/5391/img20110123185130.th.jpg (http://img232.imageshack.us/i/img20110123185130.jpg/)

Como haces para abrirlo con GIMP???? Yo le tengo instalado, he instalado el plugin de RAW "ufraw", pero no me los abre.....

EDITO: Vale, ya los abro....

Makarboy
24/01/11, 12:49:59
He encontrado algo interesante sobre la programacion del driver de la camara de qualcomm.
No se si lo conoceriais o no, pero lo pongo por si puede servir de ayuda.

mail-archive.com/linux-mediaVGEr.kernel.org/msg26103.html



Como haces para abrirlo con GIMP???? Yo le tengo instalado, he instalado el plugin de RAW "ufraw", pero no me los abre.....

la web que has puesto me sale
Not Found

The document you were looking for was not found.

chucky
24/01/11, 13:20:59
la web que has puesto me sale
Not Found

The document you were looking for was not found.


El problema es que la direccion hace mencion a un usuario llamado VGE.

Copia la direccion y ponla en la barra de direcciones, cambiando VGE por vge en minusculas.

chucky
24/01/11, 14:18:53
Estoy viendo el codigo fuente del kernel de la tattoo, y por lo que veo vienen los drivers del sensor...

por ejemplo: * Driver for MT9M001 CMOS Image Sensor from Micron


Y digo yo.... no es posible partir de esos drivers???

Seguro que es bobada, porque me imagino que el kernel ya se habra mirado....

KalimochoAz
24/01/11, 16:03:28
Estoy viendo el codigo fuente del kernel de la tattoo, y por lo que veo vienen los drivers del sensor...

por ejemplo: * Driver for MT9M001 CMOS Image Sensor from Micron


Y digo yo.... no es posible partir de esos drivers???

Seguro que es bobada, porque me imagino que el kernel ya se habra mirado....

Cualquier idea por insignificante que sea, es una idea.

Una bobada es tener la solución en las narices y no decir nada.

Gracias.

igneo
24/01/11, 17:05:21
Buenas, acabo de leerme el hilo completo y veo que hay unas suposiciones iniciales en cuanto al formato RAW que no son correctas. Me explico:

Por definición, en cuanto a información de píxeles una imagen RAW guarda:
1 canal de color por píxel (a diferencia de JPEG que guarda en cada píxel la información de los 3 canales). Esto puede parecer extraño, pero es que el formato RAW guarda la información tal cual la recibe del sensor, de ahí que lo haga de esta forma, ya que los sensores de las cámaras están construídos de la siguiente forma:
http://senabre.myphotos.cc/articulos/imagenes_articulos/2006_08_30_cuarto_oscuro_digital_I_flujo_trabajo_U FRaw/250px-Bayer_pattern_on_sensor.svg.png
12/14 bits por canal (a diferencia de JPEG que guarda la información en 8 bits).

Por lo tanto, tendremos que imágenes a:
1.000.000 píxeles de resolución
Resultarán en archivos RAW de 12.000.000/14.000.000 bits
O lo que es lo mismo, 1.500.000/1.750.000 bytes

Si tomamos como resolución la máxima resolución de la cámara de la HTC Tattoo (3.2 Mpx), tendremos:
3.200.000 píxeles
38.400.000/44.800.000 bits
5.600.000/7.840.000 bytes

Por lo tanto, no sé de dónde sacáis lo de los 9MB por archivo.

PD: No pretendo ser pedante ni echar por tierra lo que lleváis hecho, pero sentía la necesidad de comentarlo ya que me parece que estáis trabajando con valores incorrectos. Sólo intento ayudar, aunque tal vez esté yo equivocado.

¡Un saludo y enhorabuena por el genial trabajo a Kalim y a todos los que colaboráis con él!

chucky
24/01/11, 17:12:00
El codigo fuente del kernel de la tattoo se baja de:

http://member.america.htc.com/download/RomCode/Source_and_Binaries/click-656120.tar.gz

Sobre "libcamera", encontre esto (Android.mk; camera_ifc.h; QualcommCameraHardware.cpp; QualcommCameraHardware.h):

http://gitorious.org/0xdroid/hardware_msm7k/trees/master/libcamera
http://gitorious.org/eclair-camera-drivers/platform_hardware_msm7k/trees/master

Otra direccion que no entiendo muy bien, pero que tiene codigo:

http://webcache.googleusercontent.com/search?q=cache:zsHjApbfmUMJ:lxr.post-tech.com/source/vendor/sec/sec_proprietary/libcamera/SecCameraHWInterface.cpp+libcamera.c&cd=4&hl=es&ct=clnk&gl=es

Si voy viendo cosas que puedan parecer interesantes ire poniendo...

NewZa
24/01/11, 17:17:57
Tengo las tres imagenes!!! Una en blanco y negro y otras dos para transformarlas en color. Ufff, que de vueltas. A ver, el archivo que capturamos es este para una foto a 1024, lo abro a 1024 x 1152 con 1 canal y obtenemos:

http://www.htcmania.com/picture.php?albumid=279&pictureid=1209

Ahora cojo el programa HJ-Splitter y corto la imagen en trozos de 768 kb (para una foto de 1024). Renombro los archivos que me ha dado a .raw. En la primera parte tengo la foto a 1024x768 en blanco y negro. Lo podeis abrir a 1024 x 768 y 1 canal. Y ahora viene los interesante, la segunda parte solo ocupa 384 Kb, pues la abro a 512x384 con 2 canales y marco entrelazado.
Y ahi tengo las dos capas. en el canal alfa1 tengo una y en el canal alfa 2 tengo la otra

Alfa 1

http://www.htcmania.com/picture.php?albumid=279&pictureid=1211

Ahora habria que ver como se consigue pasar eso a color. Y ver quien programa eso.... ufff

Alfa 2

http://www.htcmania.com/picture.php?albumid=279&pictureid=1210

NewZa
24/01/11, 17:26:44
Buenas, acabo de leerme el hilo completo y veo que hay unas suposiciones iniciales en cuanto al formato RAW que no son correctas. Me explico:

Por definición, en cuanto a información de píxeles una imagen RAW guarda:
1 canal de color por píxel (a diferencia de JPEG que guarda en cada píxel la información de los 3 canales). Esto puede parecer extraño, pero es que el formato RAW guarda la información tal cual la recibe del sensor, de ahí que lo haga de esta forma, ya que los sensores de las cámaras están construídos de la siguiente forma:
http://senabre.myphotos.cc/articulos/imagenes_articulos/2006_08_30_cuarto_oscuro_digital_I_flujo_trabajo_U FRaw/250px-Bayer_pattern_on_sensor.svg.png
12/14 bits por canal (a diferencia de JPEG que guarda la información en 8 bits).

Por lo tanto, tendremos que imágenes a:
1.000.000 píxeles de resolución
Resultarán en archivos RAW de 12.000.000/14.000.000 bits
O lo que es lo mismo, 1.500.000/1.750.000 bytes

Si tomamos como resolución la máxima resolución de la cámara de la HTC Tattoo (3.2 Mpx), tendremos:
3.200.000 píxeles
38.400.000/44.800.000 bits
5.600.000/7.840.000 bytes

Por lo tanto, no sé de dónde sacáis lo de los 9MB por archivo.

PD: No pretendo ser pedante ni echar por tierra lo que lleváis hecho, pero sentía la necesidad de comentarlo ya que me parece que estáis trabajando con valores incorrectos. Sólo intento ayudar, aunque tal vez esté yo equivocado.

¡Un saludo y enhorabuena por el genial trabajo a Kalim y a todos los que colaboráis con él!


Gracias por tu explicación, me he basado en que la mayoria de las camaras tienen un sensor de tan solo 8 bits. Solo algunas cámaras profesionales de última generacion llegan a usar 12 y 14 bits de profundidad.

De todas maneras por lo que acabo de sacar no tenemos la imagen en rgb, sino que la tenemos en otro formato. Ahora hay que ver que formato es.....

id266150
24/01/11, 17:36:09
Puedes subir el archivo en el formato de photoshop (.psd)? Lo importante es ir dando pasitos pequeños entre todos

NewZa
24/01/11, 17:40:32
Puedes subir el archivo en el formato de photoshop (.psd)? Lo importante es ir dando pasitos pequeños entre todos

Ahi esta el archivo psd con las dos capas alfa.

Tengo que salir, esta noche veo como va la cosa

defrag
24/01/11, 17:41:29
daría la sensacion de que esos dos canales que te genera la cam si son reales y no los modificaste ni los creaste tu estan en Color LAB o multicanal, los puedes ver en PS-CS3 o 4. estos tipos de nomenclatura se usa en japón, a diferencia del rgb que trabajamos aqui, es una nomeclatura de edición de canal....y suele ir vinculada al RAW.... es mas si te fijas en la cabecera de la ventana pone ALFA... eso es modo multicanal... de todas maneras la imagen esta incompleta porque el multicanal suele llevar una tercer capa con la imagen alfa que es donde se combinan las otras dos

PsychoRS
24/01/11, 17:46:11
Yo desde la humildad creo que el camino está por investigar cómo funcionan las cámaras Qualcomm, aunque no sea la de nuestra Tattoo, puede servir.

Tenemos el SDK de Qualcomm, el codigo fuente sin compilar de la libreria de la cámara de un movil muy similar al nuestro...

Honestamente creo que se debería enfocar por ahí el tema. Creo que analizar el archivo resultante de la cámara dando por hecho que está en raw, cuando cada fabricante tiene un "formato" raw diferente, puede ser buscar una aguja en un pajar.

NewZa
24/01/11, 17:46:52
daría la sensacion de que esos dos canales que te genera la cam si son reales y no los modificaste ni los creaste tu estan en Color LAB o multicanal, los puedes ver en PS-CS3 o 4. estos tipos de nomenclatura se usa en japón, a diferencia del rgb que trabajamos aqui, es una nomeclatura de edición de canal....y suele ir vinculada al RAW.... es mas si te fijas en la cabecera de la ventana pone ALFA... eso es modo multicanal... de todas maneras la imagen esta incompleta porque el multicanal suele llevar una tercer capa con la imagen alfa que es donde se combinan las otras dos

Por eso creo que no se trata de una imagen RBG, sino de más bien de alguna del tipo YCrCb, que tiene una imagen en blanco y negro y otras dos con las diferencias de los colores

Esta imagen de la wikipedia lo explica mejor

http://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Barns_grand_tetons_YCbCr_separation.jpg/220px-Barns_grand_tetons_YCbCr_separation.jpg

Y este es el enlace de la wikipedia a YCrCb

http://en.wikipedia.org/wiki/YCbCr


EDIT: Ya se que lo suyo es desarrollar el driver, pero esto sirve para saber que esta haciendo la camara y para saber que esta capturando la imagen completa. Es un paso

defrag
24/01/11, 17:48:56
Por eso creo que no se trata de una imagen RBG, sino de más bien de alguna del tipo YCrCb, que tiene una imagen en blanco y negro y otras dos con las diferencias de los colores

Esta imagen de la wikipedia lo explica mejor

http://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Barns_grand_tetons_YCbCr_separation.jpg/220px-Barns_grand_tetons_YCbCr_separation.jpg

Y este es el enlace de la wikipedia a YCrCb

http://en.wikipedia.org/wiki/YCbCr

efectivamente si intentas convertir la foto que subio nuestro amigo en psd a jpg o cualquier otro formato estandar veras que no te deja por falta de informacion de canales ademas el pS no te deja ni siquiera convertirla a rgb por falta de esta info... efectivamente esta en raw pero incompleto falta al menos un canal de proceso

id266150
24/01/11, 17:54:26
Una cosa, por que cuando seleccionas los 2 canales alfa1 y alfa2 a la vez se ve la imagen rosa?

defrag
24/01/11, 17:56:45
Una cosa, por que cuando seleccionas los 2 canales alfa1 y alfa2 a la vez se ve la imagen rosa?

por que falta al menos un canal para completar la imagen por eso digo que el raw esta incompleto, es como cuando de una imagen CMYK solamente muestras Amarillo y Cian

id266150
24/01/11, 18:23:23
Son mas o menos esos los colores del cojin?

chucky
24/01/11, 18:35:26
Lectura casi obligada sobre Qualcomm:

http://webcache.googleusercontent.com/search?q=cache:J383Nk_En2MJ:wenku.baidu.com/view/a7615629915f804d2b16c1a1.html+QUALCOMM+RAW+YCrCb&cd=2&hl=es&ct=clnk&gl=es

http://wenku.baidu.com/view/a7615629915f804d2b16c1a1.html

Por lo isto, si es YCrCb RAW

id266150
24/01/11, 19:03:39
Esto es lo mas parecido que he conseguido de lo que hablais
PD: aver si alguien consigue sacar un 3º canal..

id266150
24/01/11, 19:41:55
No se hasta que punto podra ser esto posible o no:
Se podria coger el raw que nos guarda el movil en la SD y 'simular' en una rom 1.6 el proceso que hace la camara?
Es decir, hacer una foto normal con 1.6 y en el momento que nos cree el raw, antes de que lo edite, sustituirlo por el que tenemos de froyo.
No se si serviria para algo mas que para saber si el raw es correcto la verdad... pero por dar ideas que no decaiga esto.

Agedjus
24/01/11, 19:50:37
Lo siento chicos por no poder ayudar pero estoy muy ocupado con los estudios, veo que habéis encontrado la verdadera codificación de la imagen, en cuanto pueda aporto lo que pueda...

KalimochoAz
24/01/11, 20:17:53
El nivel sube por momentos.

De verdad que estoy alucinando con el nivel de fotografia del for. No me queda más opción que terminar con lo de la cámara.

Ánimo

dev2010
24/01/11, 20:31:58
Joder me despisto un fin de semana y me encuentro esto!!!!

Suena todo genial, por favor seguid asi!!! Lo tenemos cerca!!!

elmerovingio
24/01/11, 22:14:04
Madre mía, vaya nivelazo! :aplausos:
Solamente puedo animaros, todo esto se me escapa ...

KalimochoAz
24/01/11, 22:19:28
Instalar la 10.6 y os pongo varios tests para que me déis resultados y comportamientos:

Test 1: libcamera.rar
Test 2: libcamera2.rar
Test 3: libcamera3.rar

EDIT:
Si alguien puede, buscad de la buzz a ver si localizamos las librerías:


libmmcamera.so
libmmjpeg.so

Agedjus
24/01/11, 22:20:53
Marchando una batería de pruebas xD

elmerovingio
24/01/11, 22:26:15
descargando la rom...

Agedjus
24/01/11, 22:35:08
La propia ROM lleva ya librería de prueba o es la misma que la 10.5? Gracias Kalim

KalimochoAz
24/01/11, 22:45:14
La propia ROM lleva ya librería de prueba o es la misma que la 10.5? Gracias Kalim

Es la misma de la 10.5 ( la buena ). No hace falta verificarla.

No tengo la tattoo estos días asi que la pregunta es: ¿Cuando sacáis una foto con la 10.5, os deja sacar más sin reiniciar? ( No os preocupéis que el jueves me la devuelven.

chucky
24/01/11, 22:55:37
con la 10.5 ultima,saco foto... espero un poquito, se pone negra la pantalla de nuevo y puedo sacar mas fotos...
Voy a por la 10.6

elmerovingio
24/01/11, 23:03:47
Con la librería que traía la 10.6 he podido echar una foto, como antes (la misma librería), pero al poner la 1ª de las 3 librerías de prueba y reiniciar, la aplicación de la cámara no inicia, se queda la pantalla en negro...
meto la 2ª y comento cosillas

KalimochoAz
24/01/11, 23:03:57
con la 10.5 ultima,saco foto... espero un poquito, se pone negra la pantalla de nuevo y puedo sacar mas fotos...
Voy a por la 10.6

Si puedes, sácame un logcat de ese intervalo de tiempo, quiero ver que es lo que está haciendo la cámara y si da un error, ver cual es.

Agedjus
24/01/11, 23:05:56
@KalimochoAz (http://www.htcmania.com/member.php?u=6729), necesitas algo en partícular o alguna forma de procesar el raw con el photoshop?

Si no, hago comprobaciones con las tres y traigo pruebas...

Edit: la 1ª librería funciona

KalimochoAz
24/01/11, 23:06:54
Con la librería que traía la 10.6 he podido echar una foto, como antes (la misma librería), pero al poner la 1ª de las 3 librerías de prueba y reiniciar, la aplicación de la cámara no inicia, se queda la pantalla en negro...
meto la 2ª y comento cosillas

Revisa la primera, quizas no se cargó correctamente en la Tattoo, pporque no debería responde así.

PROCESO DE TEST:


iniciar la Tattoo
Sacar fotos
Reiniciar
insertar nueva librería
Reiniciar
Sacar fotos
...

Os podés saltar pasos, seguro, pero es el método más seguro.

elmerovingio
24/01/11, 23:09:15
ok, repito haciendo lo que comentas
Edit: efectivamente, la lib1 funciona

KalimochoAz
24/01/11, 23:09:32
@KalimochoAz (http://www.htcmania.com/member.php?u=6729), necesitas algo en partícular o alguna forma de procesar el raw con el photoshop?

Si no, hago comprobaciones con las tres y traigo pruebas...

Edit: la 1ª librería funciona

No, por el momento es ver como responden las librerías y que cambios se producen, mientras preparo más modificaciones y a sugerencia de uno de vosotros (NewZa) voy a implementar el algoritmo de conversión a jpeg en la librería y así nos saltamos el photoshop, unque os dejaré también el raw por si queremos testear

Agedjus
24/01/11, 23:20:44
Si no os importa y no tener que estar cargando aquí las imágenes cada vez, voy a crear una carpeta en imageshack donde voy agregando y en donde en todo momento se pueden ver y hasta reproducir con slideshow...

http://img716.imageshack.us/g/1colors.jpg/

P.D: Con segunda librería se queda calada la cámara

KalimochoAz
24/01/11, 23:31:08
Si no os importa y no tener que estar cargando aquí las imágenes cada vez, voy a crear una carpeta en imageshack donde voy agregando y en donde en todo momento se pueden ver y hasta reproducir con slideshow...

http://img716.imageshack.us/g/1colors.jpg/

P.D: Con segunda librería se queda calada la cámara

El comportamiento de la lib1 es igual que el de la que viene de serie? Igual foto, podemos sacar mas de una foto?

Agedjus
24/01/11, 23:32:52
El comportamiento de la lib1 es igual que el de la que viene de serie? Igual foto, podemos sacar mas de una foto?

No he probado, con la lib2 al menos si se pueden volver a sacar más fotos pero no llega a guardarlas.

Edit: Captura guardada con lib2, le ha costado xD Imágenes tomadas con lib1 y lib2 idénticas, ninguna diferencia ni a color ni en gris, mismo tamaño (4.5MB)

WODAN
24/01/11, 23:37:13
Agedjus que fotos mas chulas tienen un toque vintage super chulo, .........

Na en serio gracias ............

Agedjus
24/01/11, 23:38:21
Agedjus que fotos mas chulas tienen un toque vintage super chulo, .........

Na en serio gracias ............

Lo que tengo a mano, acabo de perder una partida xD, metiendo 3ª lib

KalimochoAz
24/01/11, 23:46:02
Lo que tengo a mano, acabo de perder una partida xD, metiendo 3ª lib

Cuantos elos tienes? con rey y torre de desventaja te tenías que haber rendido antes de que ten den mate :p

Otra lib para testear:

PD: Me interesa un logcat de esta.

Agedjus
24/01/11, 23:50:23
Cuantos elos tienes?

No entiendo la pregunta xD. Por cierto, las tres librerías el mismo tamaño y salen prácticamente las mismas imágenes (no hago la foto desde el mismo punto)

¿Diferencias de las librerías? Al menos la lib3 no me deja hacer más de 1 foto, me da FC.

P.D: Bajando =)

adry-kona
24/01/11, 23:51:15
Entonces por lo menos ya podemos sacar fotos blanco y negro con estas nuevas librerías y se guardan en la sd?

Sent from my Tattoo using Tapatalk

Agedjus
24/01/11, 23:52:25
Entonces por lo menos ya podemos sacar fotos blanco y negro con estas nuevas librerías y se guardan en la sd?

Sent from my Tattoo using Tapatalk

Sí, pero no son jpg en si. Habría que hacer que las convertiera con un solo canal y con x tamaño dependiendo de los MPx...

elmerovingio
24/01/11, 23:57:08
Con la librería 1, cada vez que entras a la aplicación de la cámara, puedes hacer una foto y guardarla. Si sales y vuelves a entrar, puedes hacer otra y guardarla, y así. Si sacas 2 seguidas, la 2ª se llega a previsualizar, pero no se guarda.
Dejo el logcat haciendo una foto y cerrando la aplicación de la cámara, y la imagen
http://img529.imageshack.us/img529/5818/test1ue.th.jpg (http://img529.imageshack.us/i/test1ue.jpg/)

Uploaded with ImageShack.us (http://imageshack.us)

Agedjus
24/01/11, 23:58:50
KalimochoAz, no perdí así pero las puse de esta forma, me pareció una buena foto xD

P.D: ¿Como se hace un logcat de sólo la cámara?

KalimochoAz
24/01/11, 23:59:55
No entiendo la pregunta xD. Por cierto, las tres librerías el mismo tamaño y salen prácticamente las mismas imágenes (no hago la foto desde el mismo punto)

¿Diferencias de las librerías? Al menos la lib3 no me deja hacer más de 1 foto, me da FC.

P.D: Bajando =)

Pensaba que jugabas campeonatos. Elo son los puntos en ajedrez. 1700 es la base ( mínimo ), según juegas y ganas vas aumentando este número.

Las 2 librerías que no se cuelgan tienen trampa, pero de momento me quedo con ellas. Las diferencias son muy sutiles. solo pretendo ver como responden más que la foto que sacan. En realidad estoy puliendo la librería para continuar desde un punto donde tenga más limpio el código y como poco funcione como hasta ahora. De paso he ido resolviendo gazapos que he visto al limpiar.

KalimochoAz
25/01/11, 00:02:06
@KalimochoAz (http://www.htcmania.com/member.php?u=6729), no perdí así pero las puse de esta forma, me pareció una buena foto xD

P.D: ¿Como se hace un logcat de sólo la cámara?

adb shell logcat | grep -i camera

Agedjus
25/01/11, 00:06:06
Pensaba que jugabas campeonatos. Elo son los puntos en ajedrez. 1700 es la base ( mínimo ), según juegas y ganas vas aumentando este número.

Las 2 librerías que no se cuelgan tienen trampa, pero de momento me quedo con ellas. Las diferencias son muy sutiles. solo pretendo ver como responden más que la foto que sacan. En realidad estoy puliendo la librería para continuar desde un punto donde tenga más limpio el código y como poco funcione como hasta ahora. De paso he ido resolviendo gazapos que he visto al limpiar.

He jugado campeonatos, he ganado 1 y 3º en otro, de mi misma edad claro. No sabía lo de los elos o al menos no he jugado así. A ver si das con la tecla, ya tiene buena pinta esto...

adb shell logcat | grep -i camera

Allá voy ;)

Edit: Aquí está el logcat (no me funciona el comando de solo cámara, así que a lo mejor aparece algo que no tiene que ver): http://paste2.org/p/1210070
La captura se queda en pantalla, no desaparece pero si guarda en la SD el .jpg...

NewZa
25/01/11, 00:19:58
De momento la más estable la 4ª libreria, me ha dejado tomar hasta 9 fotos hasta que se reinicio. Entre foto y foto, alguna vez, me ha dicho que no se encontraba disponible el hardware de la camara y salia, pero volvía a entra y otra foto. Me las ha guardado todas. Entre foto y foto, salia de la aplicación de la camera con el boton home. Si no se quedaba un rato esperando.

kallesone
25/01/11, 00:24:29
Instalar la 10.6 y os pongo varios tests para que me déis resultados y comportamientos:

Test 1: libcamera.rar
Test 2: libcamera2.rar
Test 3: libcamera3.rar

EDIT:
Si alguien puede, buscad de la buzz a ver si localizamos las librerías:


libmmcamera.so
libmmjpeg.so



Esa librerias que comentas de la buzz?realmente se encuentran en la rom?por que he descargado varias rom de ese movil y en ninguna aparecen esas librerias.

elmerovingio
25/01/11, 00:26:23
Te subo 2 logs de fotos hechas con la 4ª librería:
En el 1º, entro en la aplicación de la cámara, hago una foto, que se guarda, y salgo
En el 2º (que incluye el 1er log), vuelvo a entrar en la aplicación, hago una foto, que se guarda, e intento hacer una segunda. Ésta última no se guarda y salgo

foto1
http://img189.imageshack.us/img189/9688/foto1pxi.th.jpg (http://img189.imageshack.us/i/foto1pxi.jpg/)

foto2
http://img812.imageshack.us/img812/9483/foto2rg.th.jpg (http://img812.imageshack.us/i/foto2rg.jpg/)

PD: Buenas noches y suerte!

Agedjus
25/01/11, 00:52:04
En la buzz no existen esas dos librerías, no obstante hay varias sin las mm. Ahí va una del jpg y tres de la camara. Las he sacado de una ROM en xda, supongo nadie habrá editado estos archivos, esta el horno para modificar la cámara cuando funciona :grin:

49732

Mañana nos vemos

NewZa
25/01/11, 00:52:56
Perdonadme si no estoy haciendo muchos test, pero estaba liao con lo de sacar la foto en color, y al final resulta que era lo más facil del mundo.

Aqui os adjunto el psd con las tres capas superpuestas y en color y el resultado final.

Una imagen en color. Si os fijais en canales, tenemos la imagen en blanco y negro y las otras dos

armude
25/01/11, 00:59:04
primera foto en color que vemos con ginger!! aunque sea con ayuda de un programa pero algo es algo, y esto es mucho, gracias!!

id266150
25/01/11, 01:20:05
cuales son los pasos a seguir entonces? para por lo menos tener fotillos y tal, ademas, en el photoshop podemos guardar el proceso para que lo haga automatico creo

NewZa
25/01/11, 01:33:37
cuales son los pasos a seguir entonces? para por lo menos tener fotillos y tal, ademas, en el photoshop podemos guardar el proceso para que lo haga automatico creo

Es un pelin enrevesado, creo que tendremos pronto la imagen en jpg, de todas maneras lo explico por encima:

1º Corto la imagen con el hjsplit (le digo de tamaño 2/3 del archivo original, de esta manera tenemos por un lado la imagen en blanco y negro y por otro las otras dos capas

2ª Renombro los archivos a .raw

3ª Abro la imagen mas grande, poniendo la resolución que he tomado, 1 canal.

4º Abro la imagen pequeña, poniendo la mitad de la resolucion que he tomado. 2 canales y entrelazado marcado

5º Creo un nuevo documento:
- resolucion la de la foto que he tomado
- modo de color : Color Labs

6º En este documento que he creado, tengo que copiar y pegar en los siguientes canales,
- luminosidad, el canal de la foto en blanco y negro,
- a: el canal alfa 1 de la imagen pequeña y lo agrando hasta que ocupe toda la pantalla
- b: el canal alfa 2 de la imagen pequeña y lo agrando tambien hasta que ocupe todo. Le doy a Ajustes->Imagen->Invertir

Listo, ya tenemos la imagen

Bueno, me acuesto ya, espero que os sirva. Hasta mañana chicos.

chucky
25/01/11, 01:34:44
Perdonadme si no estoy haciendo muchos test, pero estaba liao con lo de sacar la foto en color, y al final resulta que era lo más facil del mundo.

Aqui os adjunto el psd con las tres capas superpuestas y en color y el resultado final.

Una imagen en color. Si os fijais en canales, tenemos la imagen en blanco y negro y las otras dos


Bueno... no esta nada mal, jejejejeje, poco a poco se van consiguiendo cosas.

id266150
25/01/11, 02:36:46
Es un pelin enrevesado, creo que tendremos pronto la imagen en jpg, de todas maneras lo explico por encima:

1º Corto la imagen con el hjsplit (le digo de tamaño 2/3 del archivo original, de esta manera tenemos por un lado la imagen en blanco y negro y por otro las otras dos capas

2ª Renombro los archivos a .raw

3ª Abro la imagen mas grande, poniendo la resolución que he tomado, 1 canal.

4º Abro la imagen pequeña, poniendo la mitad de la resolucion que he tomado. 2 canales y entrelazado marcado

5º Creo un nuevo documento:
- resolucion la de la foto que he tomado
- modo de color : Color Labs

6º En este documento que he creado, tengo que copiar y pegar en los siguientes canales,
- luminosidad, el canal de la foto en blanco y negro,
- a: el canal alfa 1 de la imagen pequeña y lo agrando hasta que ocupe toda la pantalla
- b: el canal alfa 2 de la imagen pequeña y lo agrando tambien hasta que ocupe todo.

Listo, ya tenemos la imagen

Bueno, me acuesto ya, espero que os sirva. Hasta mañana chicos.

Muchas gracias! :ok:

KalimochoAz
25/01/11, 07:14:07
Nuevo intento.

Necesito logcat y que me verifiquéis si la imagen está completa. e intentado que no se cuelgue la librería, que sería el primer paso antes de contruir la nueva funcion.

KalimochoAz
25/01/11, 07:24:31
Perdonadme si no estoy haciendo muchos test, pero estaba liao con lo de sacar la foto en color, y al final resulta que era lo más facil del mundo.

Aqui os adjunto el psd con las tres capas superpuestas y en color y el resultado final.

Una imagen en color. Si os fijais en canales, tenemos la imagen en blanco y negro y las otras dos

La imagen la has hecho tu pequeña o tiene ese tamaño. Esto tiene 512x384 que viene a ser el mismo tamaño que tengo programado para el thrumbnail

NewZa
25/01/11, 08:08:37
La imagen la has hecho tu pequeña o tiene ese tamaño. Esto tiene 512x384 que viene a ser el mismo tamaño que tengo programado para el thrumbnail

La he hecho pequeña, he reducido la capa negra en vez de aunmentar las dos alfa como he descrito en el proceso. Es de una foto a 1M

chucky
25/01/11, 09:22:37
Nuevo intento.

Necesito logcat y que me verifiquéis si la imagen está completa. e intentado que no se cuelgue la librería, que sería el primer paso antes de contruir la nueva funcion.

Probando...

La imagen sigue ocupando lo mismo.
La aplicacion de la camara, abre bien, hace la foto, he salido, vuelto a entrar... y FC

Te pongo el logcat de la camara.

Edito: Te subo tambien el log completo.... por si acaso.

Agedjus
25/01/11, 16:02:39
Es un pelin enrevesado, creo que tendremos pronto la imagen en jpg, de todas maneras lo explico por encima:

1º Corto la imagen con el hjsplit (le digo de tamaño 2/3 del archivo original, de esta manera tenemos por un lado la imagen en blanco y negro y por otro las otras dos capas

2ª Renombro los archivos a .raw

3ª Abro la imagen mas grande, poniendo la resolución que he tomado, 1 canal.

4º Abro la imagen pequeña, poniendo la mitad de la resolucion que he tomado. 2 canales y entrelazado marcado

5º Creo un nuevo documento:
- resolucion la de la foto que he tomado
- modo de color : Color Labs

6º En este documento que he creado, tengo que copiar y pegar en los siguientes canales,
- luminosidad, el canal de la foto en blanco y negro,
- a: el canal alfa 1 de la imagen pequeña y lo agrando hasta que ocupe toda la pantalla
- b: el canal alfa 2 de la imagen pequeña y lo agrando tambien hasta que ocupe todo.

Listo, ya tenemos la imagen

Bueno, me acuesto ya, espero que os sirva. Hasta mañana chicos.

Bien, no termino de entender como agrandarlas porque me queda una imagen de color azul XD

Seguiré probando... :pensando:

Edit1: Bien, esto va mejorando y he conseguido color en la imagen pero no el que realmente tiene la imagen, así se me ve:

http://img214.imageshack.us/img214/1394/pruebacolor1.th.jpg (http://img214.imageshack.us/img214/1394/pruebacolor1.jpg)

P.D: He probado con una imagen con luz del día a ver que tal pero lo mismo, morada finalmente. Quizás no sirva para 3Mpx, dejo la imagen a ver si alguien es capaz de conseguir darle color...

49761

dom_b
25/01/11, 18:00:52
Hello, sorry I'm writing in English but I thought English was better than Spanish by Google Translate...

I thought this might help...

http://boundarydevices.com/blogs/ov5642-camera-driver-under-android

There's a lot of info on porting a Linux driver to Android and its open source so the code there might help with the RAW image problem you are having.

Also a lot of info on reverse engineering Android camera drivers...

http://www.drakaz.com/forum/viewtopic.php?id=154

Sorry if this is no help or has been mentioned before.

Great work Kalim See you on XDA forum!

NewZa
25/01/11, 18:41:14
Bien, no termino de entender como agrandarlas porque me queda una imagen de color azul XD

Seguiré probando... :pensando:

Edit1: Bien, esto va mejorando y he conseguido color en la imagen pero no el que realmente tiene la imagen, así se me ve:

http://img214.imageshack.us/img214/1394/pruebacolor1.th.jpg (http://img214.imageshack.us/img214/1394/pruebacolor1.jpg)

P.D: He probado con una imagen con luz del día a ver que tal pero lo mismo, morada finalmente. Quizás no sirva para 3Mpx, dejo la imagen a ver si alguien es capaz de conseguir darle color...

49761

Creo que se lo que te pasa, y es por un pequeño fallo mio a la hora de poner las instrucciones. creo que has copiado los canales tal cual, y yo lo que queria decir es lo siguiente: Marcas solo visible el canal alfa 1, herramienta seleccion y seleccionas toda la imagen, la copias. Te vas al documento en Color Labs, seleccionas solo visible el canal a, y lo pegas. Ahora Seleccion-Transformar y lo agrandas a 200%.
Y lo mismo para alfa2->b.

Prueba y me dices

Agedjus
25/01/11, 18:43:10
Sí hice eso creo, no lo de transformar pero si con el icono de la flecha y con mostrar controles avanzados fui agrandando los bordes... Luego pruebo, prueba a ver si puedes hacerlo con esa imagen que subí

NewZa
25/01/11, 21:49:23
Sí hice eso creo, no lo de transformar pero si con el icono de la flecha y con mostrar controles avanzados fui agrandando los bordes... Luego pruebo, prueba a ver si puedes hacerlo con esa imagen que subí

Perdona, lo hiciste todo correctamente, me salte un paso al describir el proceso, despues de pegar el canal alfa 2 en el canal b, tienes que darle a Imagen-Ajustes-Invertir, para invertir la capa b y obtener el diferencial de color.

Edito el proceso corregido

http://www.htcmania.com/picture.php?albumid=279&pictureid=1215

Agedjus
25/01/11, 21:56:36
Mejor aún, justo cuando respondías el post averigué otra y es que alfa 2 es la inversión de alfa1 (o al menos casi la misma), es decir, si en a y en b pegas el mismo alfa 1 tienes la imagen perfecta ;)

http://img839.imageshack.us/img839/3182/finalpuo.th.jpg (http://img839.imageshack.us/img839/3182/finalpuo.jpg)

¿Puedes confirmar?

NewZa
25/01/11, 22:07:45
¿Puedes confirmar?

Eso es lo que yo tenia puesto en el psd del sofa que subí, pero me acabo de dar cuenta del fallo, si hago lo de invertir alfa 2 en b, tengo colores mas reales

Agedjus
25/01/11, 22:09:54
Eso es lo que yo tenia puesto en el psd del sofa que subí, pero me acabo de dar cuenta del fallo, si hago lo de invertir alfa 2 en b, tengo colores mas reales

Entonces la inversión de la alfa2 mejor que la alfa1 en b ok. ¿Y ahora como se traduce todo el proceso a la cámara? :risitas:

Quizás sería mejor programar una nueva función para la tattoo que hiciera el proceso tomando la ruta de la imagen guardada en la SD

NewZa
25/01/11, 22:21:20
Entonces la inversión de la alfa2 mejor que la alfa1 en b ok. ¿Y ahora como se traduce todo el proceso a la cámara? :risitas:

Quizás sería mejor programar una nueva función para la tattoo que hiciera el proceso después de haber guardado la imagen en la SD

El formato que hemos guardado en la sd, si no me equivoco,(que me equivoco con frecuencia, solo hay que seguir el hilo para darse cuenta, jeje) se corresponde a un estandar YCrCb 4:2:0, esto es un archivo que guarda la información completa del blanco y negro, y solo la mitad de la información del color, si esto es asi, es posible que solo haya que llamar a la funcion correspondiente para transformarla en jpeg.

KalimochoAz
25/01/11, 22:37:41
Hello, sorry I'm writing in English but I thought English was better than Spanish by Google Translate...

I thought this might help...

http://boundarydevices.com/blogs/ov5642-camera-driver-under-android

There's a lot of info on porting a Linux driver to Android and its open source so the code there might help with the RAW image problem you are having.

Also a lot of info on reverse engineering Android camera drivers...

http://www.drakaz.com/forum/viewtopic.php?id=154

Sorry if this is no help or has been mentioned before.

Great work Kalim See you on XDA forum!


Thanks for rhe info Doom_b. Now our only problem is to convert this raw into jpeg, but the driver seams to be fully working.

As soon as we get picture jpeg, I will publish in xda and I will post in git so arco can also add it to his ROM.

CU on XDA

KalimochoAz
25/01/11, 22:40:36
Eso es lo que yo tenia puesto en el psd del sofa que subí, pero me acabo de dar cuenta del fallo, si hago lo de invertir alfa 2 en b, tengo colores mas reales

Entonces la inversión de la alfa2 mejor que la alfa1 en b ok. ¿Y ahora como se traduce todo el proceso a la cámara? :risitas:

Quizás sería mejor programar una nueva función para la tattoo que hiciera el proceso tomando la ruta de la imagen guardada en la SD

En eso mismo estoy. Como tambien tengo la foto en memoria lo intentaré desde la memoria y si no lo hago de la SD desde 0. Tened paciencia que tengo que entender bien como hacer este proceso desde las librerias que tengo.

Agedjus
25/01/11, 22:50:31
Esperaremos Kalim; gracias a ti y a NewZa puedo revelar mis fotos, aunque sea indirectamente, gracias a los dos =)

NewZa
25/01/11, 22:55:32
En eso mismo estoy. Como tambien tengo la foto en memoria lo intentaré desde la memoria y si no lo hago de la SD desde 0. Tened paciencia que tengo que entender bien como hacer este proceso desde las librerias que tengo.

Yo estoy mirando las librerias que tiene android por si se puede hacer sin compilar ninguna libreria.

Que paciencia nos tienes!!!! jajaja

puedo revelar mis fotos, aunque sea indirectamente, gracias a los dos =)

Es como si tuvieses tu pequeño laboratorio fotografico y a la antigua usanza revelas tus fotos!!!! jaja

newstyle
25/01/11, 23:01:37
tenia abandonada por completo la tattoo de mi novia desde que instalé la lokko v8, pero con el tema de la cámara me tenéis aquí metido todo el rato leyendo las novedades como si fuera mi primera vez xD

Enhorabuena por los progresos, ya queda muy poquito. Solo es cuestión de tiempo.

Una vez mas cocineros de la casa llevando la iniciativa. La xda española xDD

Agedjus
25/01/11, 23:02:54
Es como si tuvieses tu pequeño laboratorio fotografico y a la antigua usanza revelas tus fotos!!!! jaja

Jajaja, al menos ahora puedo hacer una foto en un momento puntual, ahora falta que no se quede congelada y puedas a hacer todas las que quieras...

P.D: Estaría bien que ya pusieras el tutorial definitivo para pasar a jpg para los que tengan dudas aún ;)

blackain
26/01/11, 00:12:05
Yo lo que no entiendo es que si con mi tattoo ago una foto, cuando me la muestra en la pantalla de la tattoo se ve bien, ¿Porque la tattoo puede interpretar en ese momento la foto que hemos tomado y luego hay que liar la que liais para poder verla en photoshop?

Yo no tengo ni idea de lo que hablo realmente puesto que yo lo unico que se es PHP, peroooo, no seria cuestión de revistar el código que realiza la vista previa en la tattoo para poder guardar esa vista previa??

Salu2 y espero que nadie me tome por tonto, puesto que solo intento aportar una idea xD

Agedjus
26/01/11, 00:15:39
Yo lo que no entiendo es que si con mi tattoo ago una foto, cuando me la muestra en la pantalla de la tattoo se ve bien, ¿Porque la tattoo puede interpretar en ese momento la foto que hemos tomado y luego hay que liar la que liais para poder verla en photoshop?

Yo no tengo ni idea de lo que hablo realmente puesto que yo lo unico que se es PHP, peroooo, no seria cuestión de revistar el código que realiza la vista previa en la tattoo para poder guardar esa vista previa??

Salu2 y espero que nadie me tome por tonto, puesto que solo intento aportar una idea xD

Si, esa vista previa es lo que toma el sensor y lo muestra ahí como ha generado el .raw (archivo con todos los datos de la imagen), el problema reside al querer pasarlo a .jpg ya que la conversión aún no está del todo funcional.

¿Para qué guardar la vista previa? Eso no es una imagen, es una previsualización, no vale la pena...

kallesone
26/01/11, 00:55:34
Codificación

Muchas de las opciones del estándar JPEG se usan poco. Esto es una descripción breve de uno de los muchos métodos usados comúnmente para comprimir imágenes cuando se aplican a una imagen de entrada con 24 bits por pixel (http://es.wikipedia.org/wiki/Bits_por_pixel) (ocho por cada rojo, verde, y azul (http://es.wikipedia.org/wiki/Modelo_de_color_RGB), o también dicho "8 bits por canal"). Esta opción particular es un método de compresión con pérdida (http://es.wikipedia.org/wiki/Compresi%C3%B3n_con_p%C3%A9rdida).
[editar (http://es.wikipedia.org/w/index.php?title=Joint_Photographic_Experts_Group&action=edit&section=3)] Transformación del espacio de color

http://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Cubo_RGB_con_las_capas_de_color.png/200px-Cubo_RGB_con_las_capas_de_color.png (http://es.wikipedia.org/wiki/Archivo:Cubo_RGB_con_las_capas_de_color.png) http://bits.wikimedia.org/skins-1.5/common/images/magnify-clip.png (http://es.wikipedia.org/wiki/Archivo:Cubo_RGB_con_las_capas_de_color.png)
Esquema del modelo RGB.


http://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Cubo_YUV_con_las_capas_de_color.png/200px-Cubo_YUV_con_las_capas_de_color.png (http://es.wikipedia.org/wiki/Archivo:Cubo_YUV_con_las_capas_de_color.png) http://bits.wikimedia.org/skins-1.5/common/images/magnify-clip.png (http://es.wikipedia.org/wiki/Archivo:Cubo_YUV_con_las_capas_de_color.png)
Esquema del modelo YUV.


Comienza convirtiendo la imagen desde su modelo de color RGB (http://es.wikipedia.org/wiki/Modelo_de_color_RGB) a otro llamado YUV (http://es.wikipedia.org/wiki/Modelo_de_color_YUV) ó YCbCr. Este espacio de color es similar al que usan los sistemas de color para televisión (http://es.wikipedia.org/wiki/Televisi%C3%B3n) PAL (http://es.wikipedia.org/wiki/PAL) y NTSC (http://es.wikipedia.org/wiki/NTSC), pero es mucho más parecido al sistema de televisión MAC (http://es.wikipedia.org/wiki/MAC).
Este espacio de color (YUV) tiene tres componentes:


La componente Y, o luminancia (http://es.wikipedia.org/wiki/Luminancia) (información de brillo), es decir, la imagen en escala de grises (http://es.wikipedia.org/w/index.php?title=Escala_de_gris&action=edit&redlink=1).
Las componentes U o Cb y V o Cr, respectivamente diferencia del azul (relativiza la imagen entre azul (http://es.wikipedia.org/wiki/Azul) y rojo (http://es.wikipedia.org/wiki/Rojo)) y diferencia del rojo (relativiza la imagen entre verde (http://es.wikipedia.org/wiki/Verde) y rojo (http://es.wikipedia.org/wiki/Rojo)); ambas señales son conocidas como crominancia (http://es.wikipedia.org/wiki/Crominancia) (información de color).

El resultado es una imagen en la que la luminancia está separada de la crominancia.
Las ecuaciones (http://es.wikipedia.org/wiki/Ecuaci%C3%B3n) que realizan este cambio de base de RGB a YUV son las siguientes:
Y = 0.257 * R + 0.504 * G + 0.098 * B + 16
Cb = U = -0.148 * R - 0.291 * G + 0.439 * B + 128
Cr = V = 0.439 * R - 0.368 * G - 0.071 * B + 128
Las ecuaciones para el cambio inverso se pueden obtener despejando de las anteriores y se obtienen las siguientes:
B = 1.164 * (Y - 16) + 2.018 * (U - 128)
G = 1.164 * (Y - 16) - 0.813 * (V - 128) - 0.391 * (U - 128)
R = 1.164 * (Y - 16) + 1.596 * (V - 128)
NOTA: Estas ecuaciones están en continua investigación, por lo que se pueden encontrar en libros y en la red otras ecuaciones distintas pero con coeficientes muy parecidos.
Si se analiza el primer trío de ecuaciones veremos que las tres componentes toman como valor mínimo el 16. El canal de luminancia (canal Y) tiene como valor máximo el 235, mientras que los canales de crominancia el 240, todos estos valores caben en un byte (http://es.wikipedia.org/wiki/Byte) haciendo redondeo al entero más próximo. Durante esta fase no hay pérdida significativa de información, aunque el redondeo introduce un pequeño margen de error imperceptible para el ojo humano.
[editar (http://es.wikipedia.org/w/index.php?title=Joint_Photographic_Experts_Group&action=edit&section=4)] Submuestreo

http://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Submuestreo_subsampling_zamora_4img.JPG/200px-Submuestreo_subsampling_zamora_4img.JPG (http://es.wikipedia.org/wiki/Archivo:Submuestreo_subsampling_zamora_4img.JPG) http://bits.wikimedia.org/skins-1.5/common/images/magnify-clip.png (http://es.wikipedia.org/wiki/Archivo:Submuestreo_subsampling_zamora_4img.JPG)
Ligera explicación visual sobre el submuestreo, la imagen de arriba a la izquierda es la original, las otras sufren unos submuestreos de color salvajes que dan idea de los efectos de esta técnica. Ampliar para mejor visualización.


ctjpeg.png" target="_blank">http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Dctjpeg.png/292px-Dctjpeg.png (http://es.wikipedia.org/wiki/Archivo%3Cimg%20src=) ctjpeg.png" target="_blank">http://bits.wikimedia.org/skins-1.5/common/images/magnify-clip.png (http://es.wikipedia.org/wiki/Archivo%3Cimg%20src=)
El algoritmo JPEG, transforma la imagen en cuadrados de 8×8 y luego almacena cada uno de estos como una combinación lineal (http://es.wikipedia.org/wiki/Combinaci%C3%B3n_lineal) o suma de los 64 recuadros que forman esta imagen, esto permite eliminar detalles de forma selectiva, por ejemplo, si una casilla tiene un valor muy próximo a 0, puede ser eliminada sin que afecte mucho a la calidad.


Una opción que se puede aplicar al guardar la imagen, es reducir la información del color (http://es.wikipedia.org/wiki/Color) respecto a la de brillo (debido al defecto en el ojo (http://es.wikipedia.org/wiki/Ojo) humano comentado anteriormente). Hay varios métodos: si este paso no se aplica, la imagen sigue en su espacio de color YUV, (este submuestreo se entiende como 4:4:4 (http://es.wikipedia.org/w/index.php?title=YUV_4:4:4&action=edit&redlink=1)), con lo que la imagen no sufre pérdidas. Puede reducirse la información cromática a la mitad, 4:2:2 (http://es.wikipedia.org/w/index.php?title=YUV_4:2:2&action=edit&redlink=1) (reducir en un factor de 2 en dirección horizontal), con lo que el color tiene la mitad de resolución (en horizontal), y el brillo sigue intacto. Otro método, muy usado, es reducir el color a la cuarta parte, 4:2:0 (http://es.wikipedia.org/w/index.php?title=YUV_4:2:0&action=edit&redlink=1), en el que el color se reduce en un factor de 2 en ambas direcciones, horizontal y vertical. Si la imagen de partida estaba en escala de grises (blanco y negro), puede eliminarse por completo la información de color, quedando como 4:0:0.
Algunos programas que permiten el guardado de imágenes en JPEG (como el que usa GIMP (http://es.wikipedia.org/wiki/GIMP)) se refieren a estos métodos con 1×1,1×1,1×1 para YUV 4:4:4 (no perder color), 2×1,1×2,1×1 para YUV 4:2:2 y 2×2,1×1,1×1 para el último método, YUV 4:2:0.
Las técnicas algorítmicas usadas para este paso (para su reconstrucción exactamente) suelen ser interpolación bilineal, vecino más próximo, convolución cúbica, Bezier, b-spline y Catmun-Roll.rh
[editar (http://es.wikipedia.org/w/index.php?title=Joint_Photographic_Experts_Group&action=edit&section=5)] Transformación discreta de coseno o DCT

Cada componente de la imagen se divide en pequeños bloques de 8×8 píxeles (http://es.wikipedia.org/wiki/P%C3%ADxel), que se procesan de forma casi independiente, de esto resulta la formación de los bloques, que se hace notable en imágenes guardadas con altas compresiones. Si la imagen sufrió un submuestreo del color, los colores quedarían en la imagen final en bloques de 8×16 y 16×16 pixeles, según fuese 4:2:2 o 4:2:0.
Después cada pequeño bloque se convierte al dominio de la frecuencia a través de la transformación discreta de coseno (http://es.wikipedia.org/wiki/Transformada_de_coseno_discreta) bidimensional, abreviadamente llamada DCT.


he encontrado esto en la wiki,creo que es bastante interesante.el tema completo,aqui. (http://es.wikipedia.org/wiki/Joint_Photographic_Experts_Group)
otro tuto mas aqui. (http://comunidad.fotolibre.net/index.php?topic=3264.0)

blackain
26/01/11, 00:55:35
Annnn. Pues ahora si que entiendo en que punto de desarrollo va la cosa. Gracias por la aclaración.

Salu2

Sent from my HTC Desire using Tapatalk

raexpo
26/01/11, 09:44:51
Kalim un gran trabajo, creo que este es el momento de recapitular y explicar hasta donde habéis llegado, con un pequeño resumen de lo que se ha conseguido.
Que la fuerza os acompañe.

Drift
26/01/11, 09:49:43
Una duda. Qué tal la grabación de video? Habría que hacer luego otro desarrollo para el formato en que se guardan los videos, o en este caso va bien?

raexpo
26/01/11, 10:19:35
?alguien a cogido simplemente el archivo raw que da el sensor y lo ha pasado por el Photoshop? igual estamos queriendo correr demasiado, muchas cámaras profesionales utilizan este tipo de formato para guardar la foto y luego la procesan con el Photoshop para imprimirlas. Eso si no igual no la podemos ver con el visor de imágenes.

raexpo
26/01/11, 10:30:00
Manipulación de archivos RAW

Ahora, ¿cómo puedo manipular las fotos en RAW?. Necesito de tres tipos de software:

Un driver para que se puedan ver las vistas en miniatura de nuestros archivos RAW. Generalmente, lo provee el fabricante de la cámara vía un*disco o de su sitio web.
Software para poder abrir el archivo RAW; hay muchos programas comerciales, pero bien se puede usar un open source llamado Ufraw.
Software para manipular el archivo RAW; también hay distintos fabricantes, y una versión gratuita open source es el Gimp.
De hecho, el Ufraw y el Gimp se complementan para poder hacer la manipulación de las fotos. Por otro lado, si el formato RAW es como mi negativo, entonces software como el Ufraw y el Gimp serán como el cuarto oscuro donde podré manipular las fotos.
Espero que la explicación os sirva de algo lo saque de esta pagina http://orlandoolguin.wordpress.com/2010/07/15/¿por-que-tomar-fotos-en-raw/

defrag
26/01/11, 11:32:42
Manipulación de archivos RAW

Ahora, ¿cómo puedo manipular las fotos en RAW?. Necesito de tres tipos de software:

Un driver para que se puedan ver las vistas en miniatura de nuestros archivos RAW. Generalmente, lo provee el fabricante de la cámara vía un*disco o de su sitio web.
Software para poder abrir el archivo RAW; hay muchos programas comerciales, pero bien se puede usar un open source llamado Ufraw.
Software para manipular el archivo RAW; también hay distintos fabricantes, y una versión gratuita open source es el Gimp.
De hecho, el Ufraw y el Gimp se complementan para poder hacer la manipulación de las fotos. Por otro lado, si el formato RAW es como mi negativo, entonces software como el Ufraw y el Gimp serán como el cuarto oscuro donde podré manipular las fotos.
Espero que la explicación os sirva de algo lo saque de esta pagina http://orlandoolguin.wordpress.com/2010/07/15/¿por-que-tomar-fotos-en-raw/ (http://orlandoolguin.wordpress.com/2010/07/15/%C2%BFpor-que-tomar-fotos-en-raw/)

Si no tienes o no puedes instalar Photoshop CS3 como minimo, el picasa de google suele abrir y editar el 88% de los RAW.

newstyle
26/01/11, 13:56:41
a ver las imágenes ya se ven en color en el photoshop, ahora falta ver como se le dice a la tattoo que haga eso. Mirar un par de paginas mas atrás. se explica como pasar el raw a jpeg con la codificación que hace esta cámara.

askii
26/01/11, 20:39:18
La conversión de RAW a JPG : http://marakana.com/forums/android/examples/39.html

kallesone
27/01/11, 00:36:38
otra cosa que nos podria ayudar:
Darknoe escribió: Te pego el codigo entero de mi activity de la camara. Cuando llamo a esta activity se abre la camara y la foto se guarda en la SD, puedes modificarlo para que también se envie por correo:
Código :import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import android.app.Activity;
import android.content.Intent;
import android.graphics.PixelFormat;
import android.hardware.Camera;
import android.hardware.Camera.PictureCallback;
import android.hardware.Camera.ShutterCallback;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MenuItem;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

import com.datastructure.Preferencias;
import com.wy.android.R;

public class Camara extends Activity implements SurfaceHolder.Callback{
private Preferencias settings;
private Camera camera;
private SurfaceView mSurfaceView;
private SurfaceHolder mSurfaceHolder;
private static final String TAG = "CameraApiTest";
boolean mPreviewRunning = false;
private Button BotonCamara;

override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.camara);

BotonCamara = (Button)findViewById(R.id.leercodigo2);
BotonCamara.setOnClickListener(HacerFoto);

settings = (Preferencias) getIntent().getSerializableExtra("com.datastructure.Preferencias");
setText();

getWindow().setFormat(PixelFormat.TRANSLUCENT);

mSurfaceView = (SurfaceView)findViewById(R.id.surface);
mSurfaceHolder = mSurfaceView.getHolder();
mSurfaceHolder.addCallback(this);
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_ PUSH_BUFFERS);

/*
camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();
parameters.setPictureFormat(PixelFormat.JPEG);
camera.setParameters(parameters);
*/

}

private void setText() {

}

private OnClickListener HacerFoto = new OnClickListener()
{
public void onClick(View v){
camera.takePicture(shutterCallback, rawCallback, jpegCallback);
}
};


public boolean onCreateOptionsMenu(android.view.Menu menu) {
MenuItem item = menu.add(0, 0, 0, R.string.atras);
item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
Intent intent = new Intent();
intent.putExtra("com.datastructure.Preferencias", settings);
intent.setClass(Camara.this, Start.class);
startActivity(intent);
finish();
return true;
}
});
return true;
}

override
protected void onRestoreInstanceState(Bundle savedInstanceState)
{
super.onRestoreInstanceState(savedInstanceState);
}

Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() {
public void onPictureTaken(byte[] data, Camera c) {
Log.e(TAG, "PICTURE CALLBACK: data.length = " + data.length);
camera.startPreview();
}
};

public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK) {
return super.onKeyDown(keyCode, event);
}

if (keyCode == KeyEvent.KEYCODE_SPACE) {
camera.takePicture(shutterCallback, rawCallback, jpegCallback);
return true;
}

return false;
}

protected void onResume()
{
Log.e(TAG, "onResume");
super.onResume();
}

protected void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);
}

protected void onStop()
{
Log.e(TAG, "onStop");
super.onStop();
}

public void surfaceCreated(SurfaceHolder holder)
{
Log.e(TAG, "surfaceCreated");
camera = Camera.open();
//mCamera.startPreview();
}

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h)
{
Log.e(TAG, "surfaceChanged");

// XXX stopPreview() will crash if preview is not running
if (mPreviewRunning) {
camera.stopPreview();
}

Camera.Parameters p = camera.getParameters();
p.setPreviewSize(250, 250);
p.setPictureSize(250, 250);
camera.setParameters(p);
try {
camera.setPreviewDisplay(holder);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
camera.startPreview();
mPreviewRunning = true;
}

public void surfaceDestroyed(SurfaceHolder holder)
{
Log.e(TAG, "surfaceDestroyed");
camera.stopPreview();
mPreviewRunning = false;
camera.release();
}

ShutterCallback shutterCallback = new ShutterCallback() {
public void onShutter() {
// TODO Do something when the shutter closes.
}
};

PictureCallback rawCallback = new PictureCallback() {
public void onPictureTaken(byte[] _data, Camera _camera) {
// TODO Do something with the image RAW data.
}
};

PictureCallback jpegCallback = new PictureCallback() {
public void onPictureTaken(byte[] data, Camera _camera) {
FileOutputStream outStream = null;
try {
// write to local sandbox file system
// outStream =
// CameraDemo.this.openFileOutput(String.format("%d.jpg",
// System.currentTimeMillis()), 0);
// Or write to sdcard

String fotoName = new String();
fotoName="wy"+System.currentTimeMillis();
outStream = new FileOutputStream(String.format(
"/sdcard/%s.png", fotoName));
outStream.write(data);
outStream.close();
Log.d(TAG, "onPictureTaken - wrote bytes: " + data.length);

Intent intent = new Intent();
intent.putExtra("com.datastructure.Preferencias", settings);
Bundle b = new Bundle();
b.putString("qr", fotoName);
intent.putExtras(b);
intent.setClass(Camara.this, qrdecode.class);
startActivity(intent);
finish();

} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
}
Log.d(TAG, "onPictureTaken - jpeg");
}
};
}
segun el post,esto es lo que pasa en la camara cuando realiza una foto,la pasa a jpeg y la guarda en sd.
y aquí,3 enlaces interesantes,enlace1 (http://www.android-spa.com/viewtopic.php?t=7321&postdays=0&postorder=asc&start=0&sid=cd29189f33ca91adb68a0fa43bf81326),enlace2 (http://www.brighthub.com/mobile/google-android/articles/43414.aspx),enlace3 (http://summer.hfoss.org/Tutorial:Creating_a_Camera_Application).

lokko
27/01/11, 15:11:08
Kallesone, mete el código dentro de una etiqueta spoiler para que no ocupe tanto ;)

Drift
27/01/11, 17:08:48
Hola chicos. Qué tal van los avances con el tema de la conversión del raw? Le veis posibilidades de solución o la cosa está en un callejón sin salida?

En cualquier caso, se consiga o no, se agradece mucho el esfuerzo que habeis hecho.

armude
27/01/11, 17:44:48
Hola chicos. Qué tal van los avances con el tema de la conversión del raw? Le veis posibilidades de solución o la cosa está en un callejón sin salida?

En cualquier caso, se consiga o no, se agradece mucho el esfuerzo que habeis hecho.

por lo menos hace fotos, luego las tenemos que "revelar" con photshop pero es lo que hay xD.Como bien dice Drift, gracias por el curro que os estais pegando.

filipeferraz
31/01/11, 08:35:13
Sorry for writing in english but I don't know how to write in spanish, just understand some words and texts. My english is not so good too.
This days I tried without sucess to create a java application to make the image processing of the brute raw image.
I found today informations about image processing and got this page http://developer.android.com/reference/android/graphics/YuvImage.html . I don't have the android sdk for develop here but I think that can help to get the JPEG file.
One problem is to open the image file as byte array (byte[]), but I think that can be easily solved and use that class to get the JPEG image.
The constructor will be some like YuvImage(image in byte[], ImageFormat.NV21 or ImageFormat.YUY2 or ImageFormat.NV16, 2048, 1536, 3 or maybe 4).
Anyone have tried this before?

Agedjus
31/01/11, 08:49:38
Necesito un betatester con photoshop y una imagen .raw de 3Mpx ya cortada para probar el script. ¿Alguién?

filipeferraz
31/01/11, 08:58:10
Necesito un betatester con photoshop y una imagen .raw de 3Mpx ya cortada para probar el script. ¿Alguién?

I have. How can I test?

Agedjus
31/01/11, 11:34:17
This evening upload it and send link. Thanks.

Agedjus
31/01/11, 16:00:14
Cualquiera que posea una imagen .raw ya partida con HjSplit y que sea de 3 MPx, aquí dejo el script y las instrucciones de lo que hay que hacer. Funciona únicamente en windows.

50197

1. Colocar archivos 1.raw (3 MB) y 2.raw (1.5 MB) en la raiz del disco duro (C:/).
2. Extrae el archivo "actionbeta2.exe" e inicialo.
3. Se abrirá el PhotoShop y luego pulsamos F2. (En el caso de salir una ventana, damos OK)
4. La imagen en .jpg ahora debe estar en C:/

A los que lo prueben que avisen con sus impresiones. Esto lo descubrí ayer y pues no me ha dado tiempo a nada más, si puedo miraré y lo mejoraré.

Saludos :)

P.D: Agradecimientos a @KalimochoAz (http://www.htcmania.com/member.php?u=6729), sin él no habría .raw xD. También a @NewZa (http://www.htcmania.com/member.php?u=12582), que desarrolló el proceso.

lokko
31/01/11, 16:08:01
No vale con un photoshop portable, tiene que estar instalado en el sistema ;)

Agedjus
31/01/11, 16:10:22
No vale con un photoshop portable, tiene que estar instalado en el sistema ;)

Supongo para los photoshop portable, primero iniciar el programa y luego darle a archivo/abrir y elegir el actionbeta2.exe...

P.D: Revisión a beta2

adry-kona
31/01/11, 16:30:23
Sirve para el photoshop CS3 supongo no?
Muchisimas gracias por el curro compañero!

Agedjus
31/01/11, 16:32:15
Sirve para el photoshop CS3 supongo no?
Muchisimas gracias por el curro compañero!

Supongo, al menos he leido que de CS2 para adelante. :platano:

lokko
31/01/11, 17:39:49
Supongo para los photoshop portable, primero iniciar el programa y luego darle a archivo/abrir y elegir el actionbeta2.exe...

Ahora si, gracias :D

Agedjus
31/01/11, 18:02:41
Ahora si, gracias :D

Que bien que te funcione :-)

He estado pensando como hacerlo funcionar en linux y creo ya tengo una idea, esta noche traeré otra versión que ya debería funcionar con linux (emulando windows para leer .exe) y windows :pensando:

P.D: Crearé un nuevo tema, este es para probar librerías y demás de la cámara

filipeferraz
01/02/11, 00:44:43
Good news for everyone. I create an Application for android that convert de raw file do JPEG file. Very simple work. Kalim can add the commands to api to direct save images in JPEG format.

Agedjus
01/02/11, 01:01:38
Can you create an application that convert .raw (YCrCb) to .jpg?

NewZa
01/02/11, 01:07:06
Good news for everyone. I create an Application for android that convert de raw file do JPEG file. Very simple work. Kalim can add the commands to api to direct save images in JPEG format.

Great work!!.

filipeferraz
01/02/11, 01:07:44
I tested in my Tattoo with Kalin 10.7 and works. For who wanna test the image needs to be changed to imagem.raw and the app will generate the imagem.jpg. Works only for 3MB quality images. (it's easy to adapt to other resolutions for Kalin).
http://www.megaupload.com/?d=2D2FRUWA
Link for download of apk to install on phone.
The code is very simple, for who want to change and make it better there is the main:
RawToJpeg.java


package com.image.rawtojpeg;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import android.app.Activity;
import android.graphics.ImageFormat;
import android.graphics.Rect;
import android.graphics.YuvImage;
import android.os.Bundle;
import android.widget.TextView;

public class RawToJpeg extends Activity {
/** Called when the activity is first created. */

override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

TextView tv = new TextView(this);
try {
FileOutputStream arqSaida = new FileOutputStream("/sdcard/DCIM/Camera/Imagem.jpg");
File f=new File("/sdcard/DCIM/Camera/Imagem.raw");
byte[] data = getBytesFromFile(f);
YuvImage imagemYuv = new YuvImage(data, ImageFormat.NV21, 2048, 1536, null);
Rect rect = new Rect(0,0,2048,1536);
imagemYuv.compressToJpeg(rect, 100, arqSaida);
arqSaida.close();
tv.setText("Sucesso.");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
tv.setText("Erro.");
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
tv.setText("Erro2.");
e.printStackTrace();
}

setContentView(tv);
}

public byte[] getBytesFromFile(File file) throws IOException {
InputStream is = new FileInputStream(file);
byte[] bytes;

try {
// Get the size of the file
long length = file.length();

// You cannot create an array using a long type.
// It needs to be an int type.
// Before converting to an int type, check
// to ensure that file is not larger than Integer.MAX_VALUE.
if (length > Integer.MAX_VALUE) {
// File is too large (>2GB)
}

// Create the byte array to hold the data
bytes = new byte[(int)length];

// Read in the bytes
int offset = 0;
int numRead = 0;
while (offset < bytes.length
&& (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
offset += numRead;
}

// Ensure all the bytes have been read in
if (offset < bytes.length) {
throw new IOException("Could not completely read file " + file.getName());
}
}
finally {
// Close the input stream and return bytes
is.close();
}
return bytes;
}

}

Agedjus
01/02/11, 01:12:43
I tested in my Tattoo with Kalin 10.7 and works. For who wanna test the image needs to be changed to imagem.raw and the app will generate the imagem.jpg. Works only for 3MB quality images. (it's easy to adapt to other resolutions for Kalin).
http://www.megaupload.com/?d=2D2FRUWA
Link for download of apk to install on phone.
The code is very simple, for who want to change and make it better there is the main:
RawToJpeg.java


package com.image.rawtojpeg;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import android.app.Activity;
import android.graphics.ImageFormat;
import android.graphics.Rect;
import android.graphics.YuvImage;
import android.os.Bundle;
import android.widget.TextView;

public class RawToJpeg extends Activity {
/** Called when the activity is first created. */

@override (http://www.htcmania.com/member.php?u=42589)
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

TextView tv = new TextView(this);
try {
FileOutputStream arqSaida = new FileOutputStream("/sdcard/DCIM/Camera/Imagem.jpg");
File f=new File("/sdcard/DCIM/Camera/Imagem.raw");
byte[] data = getBytesFromFile(f);
YuvImage imagemYuv = new YuvImage(data, ImageFormat.NV21, 2048, 1536, null);
Rect rect = new Rect(0,0,2048,1536);
imagemYuv.compressToJpeg(rect, 100, arqSaida);
arqSaida.close();
tv.setText("Sucesso.");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
tv.setText("Erro.");
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
tv.setText("Erro2.");
e.printStackTrace();
}

setContentView(tv);
}

public byte[] getBytesFromFile(File file) throws IOException {
InputStream is = new FileInputStream(file);
byte[] bytes;

try {
// Get the size of the file
long length = file.length();

// You cannot create an array using a long type.
// It needs to be an int type.
// Before converting to an int type, check
// to ensure that file is not larger than Integer.MAX_VALUE.
if (length > Integer.MAX_VALUE) {
// File is too large (>2GB)
}

// Create the byte array to hold the data
bytes = new byte[(int)length];

// Read in the bytes
int offset = 0;
int numRead = 0;
while (offset < bytes.length
&& (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
offset += numRead;
}

// Ensure all the bytes have been read in
if (offset < bytes.length) {
throw new IOException("Could not completely read file " + file.getName());
}
}
finally {
// Close the input stream and return bytes
is.close();
}
return bytes;
}

}


If run... ¿do you know that I love you? XDDDDDD

I will go to try tomorrow, good work :aplausos:

NewZa
01/02/11, 01:22:40
I have tested it and works!!
Gallery app don't show the image but file explorer does.

EDIT: Before connect usb drive to pc and disconnect, the gallery works full.

filipeferraz
01/02/11, 01:27:06
I have tested it and works!!
Gallery app don't show the image but file explorer does.
I think that the Folder is not in the path of the Gallery app for images.
Now is just wait Kalin for add the code to camera driver to get a direct jpeg file.
The process and app is very simple. The biggest work is done by Kalin getting the image from camera and the best Rom for Tattoo. Always thanks for Kalin's job.

Agedjus
01/02/11, 01:29:07
JODER xD

Great work filipeferraz, ¿where were you all this time? XDDD

P.D: Compis, ya tenemos photo en la tattoo sin pasar por el pc :OOO
P.D2: Esperando a que Kalim meta ese código para tener gran ROM juasjuas

newstyle
01/02/11, 02:05:40
P.D: Compis, ya tenemos photo en la tattoo sin pasar por el pc :OOO
P.D2: Esperando a que Kalim meta ese código para tener gran ROM juasjuas


por lo que veo ya esta todo casi listo. que grande este hombre

kalim esperamos noticias tuyas!! xD

KalimochoAz
01/02/11, 10:41:50
por lo que veo ya esta todo casi listo. que grande este hombre

kalim esperamos noticias tuyas!! xD


Que yo no he hecho nada, solo soy un mandao vuestro!!!

Fijaos, yo puse mi ROM, añadí cuatro cosillas, uno de vosotros vió que salía la foto, puse cuatro cosillas, otro vió que era un raw y que hacia falta que modificara algo más, hice cuatro cosillas, y esa misma persona descubrió que el raw ya estaba completo, hice cuatro cosillas y podíamos hacer tantos raw como queríamos, ya ahora otro usuario se oferce a ayudarme con el código y solo tengo que compilar.

Por cierto @filipeferraz (http://www.htcmania.com/member.php?u=435838) ya ha creado el código, así que atentos que compilo y verificáis el resultado. filipeferraz (http://www.htcmania.com/member.php?u=435838) Has already coded the new rutine, in minutes I will publish KalimGinger.10.10.

Gracias a todos vosotros maestros.

ac6729
01/02/11, 11:15:58
Wow...

y yo aún con la rom que viene con Vodafone... me tocará ponerme al día...

Ánimo chicos! el siguiente paso será la radio? o al final quedó por imposible? bueno no pregunto más voy a leer por el foro a ver si saco algo en claro :)

Lo dicho un excelente trabajo!

ac6729

Makarboy
01/02/11, 11:28:03
Wow...

y yo aún con la rom que viene con Vodafone... me tocará ponerme al día...

Ánimo chicos! el siguiente paso será la radio? o al final quedó por imposible? bueno no pregunto más voy a leer por el foro a ver si saco algo en claro :)

Lo dicho un excelente trabajo!

ac6729

Supongo que lo próximo será ver donde apunta la cámara para que programas tipo de código de barras funcionen o también la cámara de vídeo

Sent from my HTC tattoo using Tapatalk

KalimochoAz
01/02/11, 12:16:27
Supongo que lo próximo será ver donde apunta la cámara para que programas tipo de código de barras funcionen o también la cámara de vídeo

Sent from my HTC tattoo using Tapatalk

No, antes tengo que hacer la conversion a jpeg en memeria directamente desde el c de libcamera. Esto es solo un parche pero no servirá para las aplicaciones privativas que usan la cámara como la del barcodereader.

Tiempo al tiempo