PDA

Ver la Versión Completa : Tamaño en píxeles de los archivos cr2



PedroReina
22/07/06, 14:34:57
Estoy empezando a trajinar con archivos raw, a ver si encuentro el modo de usarlos.

Lo primero que he hecho es compilarme la última versión de dcraw, la 8.25, y convertir un raw en TIFF de 8 bits, así:

dcraw -T prueba.cr2
Obtengo el archivo prueba.tiff

Y aquí viene la sorpresa: el archivo resultante tiene un tamaño en píxeles de 3474 por 2314, cuando las JPG que obtengo de la 350D siempre tienen 3456 por 2304.

¿Esto es normal? ¿Qué tamaño en píxeles os dan vuestras herramientas de trabajo? ¿A qué pensáis que se puede deber la diferencia de unos 72000 píxels?

Txemag
22/07/06, 23:22:27
¿Esto es normal? ¿Qué tamaño en píxeles os dan vuestras herramientas de trabajo? ¿A qué pensáis que se puede deber la diferencia de unos 72000 píxels?
Amigo Pedro, solo puedo contestarte a la segunda pregunta, con el ACR de adobe al pasar a tif da una resolucion de 3456x2304, asi que no se porque se debe la diferencia con los datos que nos ofreces.
Un saludote!!!

PedroReina
23/07/06, 01:56:07
con el ACR de adobe al pasar a tif da una resolucion de 3456x2304
Muchas gracias por la información. A ver si algún usuario de dcraw o ufraw puede dar alguna explicación. Igual es que la cámara tiene más píxeles que lo que reconoce Canon :)

PedroReina
23/07/06, 02:53:56
Acabo de leer en una web que dcraw lee el sensor completo; eso explica el mayor tamaño en píxeles de los archivos que genera.

Txemag
23/07/06, 22:33:04
Acabo de leer en una web que dcraw lee el sensor completo; eso explica el mayor tamaño en píxeles de los archivos que genera.
Ahora me surge a mi la duda, ¿que hace el ACR con lo pixels que elimina?, o de otra forma, ¿estamos perdiendo tamaño al procesar la fotografia con el ACRm en lugar del dcraw?
un saludote :wink:

invitado
23/07/06, 23:06:56
Pedro parece que la resolución esa son los 8.2 mpx reales del sensor no?. Pero es imposible que te los saque, ya que los que te da el CR2 son los reales o efectivos. De todas maneras mira si no tiene algo que te los pueda estar polarizando. :wink:

PedroReina
24/07/06, 01:43:30
¿que hace el ACR con lo pixels que elimina?
Buena pregunta :)


¿estamos perdiendo tamaño al procesar la fotografia con el ACRm en lugar del dcraw?
Pues en principio me parece que sí.


parece que la resolución esa son los 8.2 mpx reales del sensor no?
Pues no me salen esas cuentas, David: 3474*2314 = 8038836, es decir, poquito más de 8 Mp


Pero es imposible que te los saque
Imposible es mucho decir :)


ya que los que te da el CR2 son los reales o efectivos.
De acuerdo con eso, pero hay que tener en cuenta qué software lee el CR2. El programa dcraw los lee por experimentación del propio autor, mientras que muchos otros me imagino que utilizarán el SDK oficial de Canon, que hará lo que diga Canon.

Propongo iniciar una pequeña investigación, a ver si sacamos algo en claro: alguien hace un raw de algo que sea muy variado en los bordes; me manda a mi correo el cr2 y un TIFF con 8 bits por canal creado con el software que él use (las dos cosas juntas en un zip); yo creo otro TIFF con dcraw y comparamos los bordes. (Tendrá que ser más adelante, porque dentro de poco saldré de viaje).

vega
24/07/06, 10:53:51
Pues a mi con el rawshooter essentials me los deja en 3471x2311

Saludos

PedroReina
24/07/06, 10:57:11
Pues a mi con el rawshooter essentials me los deja en 3471x2311
¡Ya tenemos tres tamaños! :)

vega
24/07/06, 11:01:01
Yo creo que el rawshooter también lee el sensor completo y cada sensor debe tener un numero un poco distinto de pixels. Se tendrá que investigar...

Saludos

Lister
24/07/06, 11:37:10
Alguien tiene a mano un tiff sacado con el Adobe Camera Raw a ver en cuanto lo deja?

En el código del dcraw tenemos:

"else if (is_canon && raw_width == 3516) {
top_margin = 14;
left_margin = 42;
if (unique_id == 0x80000189)
adobe_coeff ("Canon","EOS 350D");
goto canon_cr2;"

Por lo que parece que el sensor tiene un total de 3516 pixel de ancho.
El borde se lo pone él, no sé el metodo que habrá usado para calcularlo :?: y luego llama a "adobe_coeff" para establecer la matriz que usa para generar el tiff, jpg...
En la cabecer de esta función pone como comentario:

"Thanks to Adobe for providing these excellent CAM -> XYZ matrices!"

Por eso preguntaba si alguien tenía a mano un fichero generado con el Adobe Camera Raw.


Por cierto, 3516-42 dán los 3474 que comenta Pedro Reina
y el alto del sensor será por lo tanto 14 + 2314= 2328, según este código.

Viendo los tamaños que dan otros programas da la impresión de que la conversión esta hecha un poco "a ojo" no sólo en el dcraw sino en todos :o

Un saludo


Editado: Corregida la suma... si es que con números mayores de 10 me lio :P :P :P

invitado
24/07/06, 14:25:50
Pedro haber que somos capaces de encontrar sobre este tema. Es que parece esto bastante rarito. :cry:

PedroReina
24/07/06, 14:51:09
En el código del dcraw tenemos:
Ahí, ahí, show me the source!


3516+42 dán los 3474
A mí me sale esto: 3516+42=3558

Lister
24/07/06, 14:54:21
3516+42 dán los 3474

ups en que estaría pensando

Son los 3516 totales menos los 42 que quita del borde, y te da los 3474 que salen.

El código te lo puedes bajar de
Aqui (http://www.cybercom.net/~dcoffin/dcraw/) es un sólo fuente con mas de 7000 lineas :o

un saludo

PedroReina
24/07/06, 17:27:41
Son los 3516 totales menos los 42 que quita del borde, y te da los 3474 que salen.
Entendido. Estoy tan bobo que no me he dado cuenta de que querías restar.


El código te lo puedes bajar de
Sí, de ahí lo he compilado :wink:

Juanma
24/07/06, 20:51:37
¿No podría ser que la resolución de salida sea algo que se pone por conveniencia y que se pone suficientemente menor que la real del sensor (que puede muy bien ser la que dice Pedro) porque el algoritmo de interpolación, a lo mejor, "prefiere" tener información suficiente "por todo alrededor" del punto de destino, y evitar que le falte información real de alguno de los bordes?

Me explico: Si a partir de los 3474x2314 fotositos BN con una matriz de Bayer por delante pretendo hacer un RGB de 16Bits/canal de 3474x2314, está claro que los puntos del borde de la imagen de destino están "construidos" con menos información que, por ejemplo, los centrales.

Al hacer un RGB de tamaño menor te quedas sólo con píxeles que han sido interpolados con información de todo su vecindario y todos por igual. Por eso imagino que dependerá del algoritmo de interpolación, y eso explicaría los diferentes tamaños dependiendo de los diferentes programas.

¿Qué opináis?

Saludos.

Juanma.

PedroReina
24/07/06, 21:16:34
¿Qué opináis?
Que tienes toda la razón y además te explicas muy bien.

Juanma
24/07/06, 21:30:33
Que tienes toda la razón y además te explicas muy bien.
Viniendo de un profesional en ello, esto es todo un halago... :oops:

Saludos.

Juanma.