PDA

Ver la Versión Completa : Extraer jpg del RAW de la camara pero haciendonos nosotros un programita en Basic



Vampy
21/07/08, 19:20:50
Este post la verdad es que no sabia donde ponerlo porque es de alguna manera crearse un pluging personal, creo que aqui esta bien porque es programacion para ayudarnos con nuestras fotejos, asi es que espero que os guste y alguno se lance :)


Como sabéis muchas veces tenemos la memoria justa de la cámara :( y estamos tirando en jpg mas Raw y pensamos ¡¡porras!!! si tirásemos en RAW solo, tendríamos mas espacio en la misma y nos podría salvar esto de la debacle de no poder hacer mas fotos en un momento crítico, pero claro, el inconveniente del ahorro de Megabytes es que cuando vamos a procesar esto siempre nos gusta tener una pequeña referencia del jpg para ver que ha salido

Bien pues os voy a mostrar un método (que no es mío ni original) para extraer de los RAW el jpg sin esfuerzo, pero vamos a hacerlo mas original este post aún, para no estar usando comandos raros ya que vamos a utilizar el “dcraw” para la extracción, os voy a mostrar digo, como hacernos vosotros mismos un programita en Visual Basic para extraerlo apoyándose en el DCRAW (chupado)

Así de paso vereís las posibilidades que nos da saber programar un pelin, y así matar dos pájaros de un tiro, sacamos nuestros jpg del RAW y segundo mas curioso con un programa que nos hemos hecho nosotros ¿qué os parece? :wink:

Evidentemente voy a hacer lo muy muy fácil para el que quiera seguirlo y además muy cortito, así os meto la “gusa” en el cuerpo y lo mismo os lanzáis a hacer cosejas y como ejemplo, aunque esto seguro que os valdrá para sacar los jpg la idea es mostraros todo

Voy a utilizar el Visual basic 2008 Express edition que por razones de magia y que Bill Gates ha sido generoso es gratis y os lo podéis bajar de la web de Microsoft ¡¡si así de fácil y barato!!! Un entorno de programación para principiantes y no tanto

Bien repito para concentrarnos

1) Voy a hacer un programa que usara el Dcraw para sacar los jpg de los RAW y así por ejemplo usar siempre solo RAW en las memoria y no desperdiciar espacio de los Jpg
2) Para ello voy a usar el Visual basic 2008 Express edition que es gratis
3) Con este entorno haré un programita que pondré una vez acabado en el fichero donde tenemos los RAW
4) Pulsaremos un boton y ¡¡¡zas!!!! Todos los RAW con sus jpg
5) Encima habréis visto como hacer un programa para fotografía muy sencillo eso si

Empezamos :wink:

1) Descargamos de la web de Microsoft el programa y lo instalamos en nuestro PC :aplausos
2) Descargamos el programa dcraw de la web de su autor por aquí por el foro hay montones de reseñas
3) Instalamos Visual basic en nuestro PC, cosa que dura unos 10 minutejos

Y no necesitamos mas

Una vez instalado voy a crear el programa que nos hara esto que he dicho haciendo


Una interfaz con un botón y por ejemplo alguna reseña de lo que hace
Escribiremos un código chupado en Basic
Compilaremos el programa que significa crear el ejecutable que funcione en windows y ya estaaaa....
Veámoslo paso a paso :cool:

Al abrir el programa nos sale esta pantalla

http://img187.imageshack.us/img187/2796/unazt1.jpg

1) creamos el proyecto

2) Vamos a File y pulsamos new project

3) En la ventana que os sale pulsáis “windows form application” que ni mas ni menos le estáis diciendo al programa que cree el interfaz

4) Y debajo le llamais Raw_jpg_facil (por ejemplo)

5) Le dais a OK y os sale la pantalla de trabajo con la ventanita del programa vacía donde vamos a poner el botón y escribir el código

http://img185.imageshack.us/img185/3352/dosjl0.jpg


Me detengo aquí un poquito para que veáis esa ventana, a la izquierda están los botones que podemos poner, por ejemplo los checkbox que se ponen para seleccionar cosas, pictureBox para meter fotos....en fin todos los componentes que veis en un programa cuando lo manejáis ¿vale?

En el centro nuestra ventana vacía esperándonos..... hora vamos a por ti...

Y a la derecha las propiedades del elemento que pongamos en la ventana, actualmente como no hay ninguno solo están las propiedades de esa ventana

Sigo en otro post :)

Vampy
21/07/08, 19:22:52
Bueno pues vamos a crear el código que hará que nos extraiga el jpg de los RAW pero ¿cómo??? Hummmmm, :descompuesto habrá que poner un botón para que cuando pulsemos lo haga ¿noooo?, :descompuesto pues pongámoslo, :) arrastramos de la parte derecha el botón (pone ab button) a la ventana y lo centramos en la ventaneja, nos que da esto

http://img187.imageshack.us/img187/1334/tresov5.jpg

Fijaros que además en la derecha en la propiedad Texto he puesto extraer para que el botón este con nombre

Ahora le voy a meter encima del botón mi avatar porque me gusta, para ello hacemos lo mismo que antes arrastramos encima de la ventana lo que pone picture BOX y queda un cuadradito donde podemos meter ese avatar

¿pero como lo metemos? Muy fácil os vais otra vez a la derecha y en las propiedades de picture box pulsais image, os saldrá una ventana para buscar por el disco la imagen pulsando “local resources” y buscáis en vuestro disco lo que queráis poner

Bien al final os quedará esto

http://img187.imageshack.us/img187/6423/cuatrosc7.jpg

Veis que he redimensionado la ventana igual que hacéis en windows tocando los bordes y ajustando, y la foto igual ajustáis el cuadradin que salió a la foto

Y por último pongo un texto arrastrando Label a la misma ventana que sera “extractor de jpg” que debeis poner como antes en el boton en text en propiedades

Tenemos definitivamente esto

http://img185.imageshack.us/img185/2725/cincobx5.jpg

Ya solo nos queda meter dos líneas de código, compilar esto es hacer el ejecutable y se acabo asi de facil, lo dejo para la proxima charla :aplausos

Vampyressa

Vampy
21/07/08, 19:29:18
Ahora le vamos a decir al programa que tome al dcraw y le diga que busque todas las RAW del fichero :rolleyes: donde este este programa y el dcraw y las pase a jpg, tenemos que decirle en una palbra esto

Dcraw –e *.CR2

Osea con –e le digo que extraiga el jpg
Con *.Cr2 que a todas las RAW
Con dcraw que use dcraw para hacer esto

¿pero como se lo digo en visual basic :confusedy como hago que cuando pulsemos nuestro boton lo haga?

Pues así:

Das al botón doble clic y se abre esto

http://img159.imageshack.us/img159/4354/seiszj8.jpg

y escribimos esto así dentro de



PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

EndSub



Meteis esto:



Dim MiProceso As New Process

MiProceso.StartInfo.FileName = "dcraw" 'programa

MiProceso.StartInfo.Arguments = " –e *.cr2 'argumentos
MiProceso.Start() 'iniciar


Quedaría así:

http://img185.imageshack.us/img185/5118/sieteaq5.jpg

Ahora pulsáis la tecla F5 para generar el ejecutable y después de compilar el programa (se llama así a este proceso) os sale una ventanita que ya es el programa Y SE ACABO

http://img185.imageshack.us/img185/3360/ochoxq5.jpg

¿cómo procedéis?

1) Fácil, lleváis este ejecutable junto con dcraw a vuestro directorio de fotos raw
2) Y pulsáis el botón os saldrá una ventana de MSDOS mientras se hace el proceso y cuando se cierre, veréis que todos los RAW tienen su jpg al ladito je je

Por supuesto debéis aunque no he dicho nada guardar el proyecto cuando acabéis con Save project y lo metéis donde queráis, el ejecutable estará metido en proyecto\bin\debug\

Bueno espero que esto os haya al menos interesado, porque de verdad se pueden hacer cosas muy muy interesantes con la programación dirigida a la fotografia, aqui os he querido precisamente con este ejemplo mostraros lo que digo

Este programita evidentemente es casi nada pero fijaros que aun asi nos ahorra saber lineas de codigo raras del dcraw, y ademas hacer esto creo que nos compensa y nos dejara al menos satisfechos por hacer algo nuevo e introducirnos en esta parte de la programación .....:)

Espero que alguno lo haga y lo ponga por aqui, si os animais podemos hacer mas cosas y claro como siempre si tomais esto de aqui ya sabeis que es propiedad de canonistas :foto:

Saludos cordiales,

Vampyressa

xevigut
22/07/08, 14:04:50
Interesante lo es!!! muchas gracias Vampiressa, como te lo curras!
Estoy ansioso por probarlo!
Un cazurro como yo programando, no se si sere capaz....!

Vampy
22/07/08, 18:57:15
Seguro que puedes y veras que facil es y encima lo mejor es el gustazo que da creeme :)

Argosd
23/07/08, 10:17:00
Muy interesante, en cuanto tenga un rato lo pruebo. Gracias por la información

grillo_888
23/07/08, 14:03:49
Vampyressa, como siempre, metiendo el gusanillo en el cuerpo!!! Da gusto contigo, habrá que probar, pero yo de programación, ni idea, espero no cargarme algo...
Un saludo.

Vampy
23/07/08, 19:08:41
No te preocupes cargarte no te cargas nada lo vas haciendo y comentas :)

Vampy
31/08/08, 21:22:19
¿nadie se ha lanzado con esto???? :-)

Pilar
31/08/08, 21:47:30
Acabo de ver este post Vampyressa. Me parece genial todas las ideas que aportas.
Como ya te han dicho te lo curras bastante. Y muchas veces, a mí al menos, no sabemos cómo dar las gracias.
Deberíamos tomar nota y aportar algo a esta comunidad, tal y como tu haces.
:aplausos:aplausos:aplausos

Por cierto, ni que decir tiene que voy a probarlo. GRACIAS!!!!

Vampy
01/09/08, 22:18:31
No hace falta que me des las gracias :) pero de todas formas gracias :p

venexia
01/09/08, 22:52:50
Gracias Vampiressa por todo el trabajo que te tomas. Yo soy una de las que saca en jpg+RAW, en principio por tener una referencia y en segundo lugar porque si salen bien en jpg, no tengo que procesarlas, puesto que estoy satisfecha con la configuración de nitidez, etc, etc. Esta configuración no sirve para los Raw, ya lo se y mi pregunta es: ¿Sacando los jpg de los RAW con este programa, respetan la configuración puesta en la cámara?
Gracias otra vez, eres una "crack"

Vampy
08/09/08, 22:31:35
Pues mira creo que si pero con menos resolucion con lo cual quizas no te valen

G.P.
08/01/09, 14:25:58
Rescato el tema, que no hace mucho que estoy registrado aquí y voy repasando posts antiguos :).

Pues voy a criticar un poquillo :oops:, pero constructivamente y sin ánimo de ofender Vampyressa, que te tengo una gran admiración por tus trabajos y posts útiles como este, el del enfoque de la 40D, el procesado de ficheros RAW, etc. :wink:

La idea de hacer un proceso que extraiga los JPG de todo un conjunto de RAWs de golpe me parece genial, pero hacerlo con Visual Studio me parece matar moscas a cañonazos :). Será que le tengo manía por los años que llevo peleándome con él en el trabajo :).

Hacer una aplicación me parece buena idea para hacer que le entre el gusanillo de la programación a los demás y estaría bien ampliarla para poder establecer los parámetros -r, -H, -k, -S, etc de dcraw con cajas de texto y trackbars.

Pero para hacer una aplicación con un botón que llame al dcraw.exe encuentro mejor hacer algo más sencillo como un fichero bat que haga lo mismo con sólo hacer doble click.

Por ejemplo podemos crear el fichero dcraw.bat dentro del cual bastaría con poner:


@echo off
dcraw -e *.crw(la primera línea es opcional, la que cuenta es la que está en color rojo)

Lo dicho, que esto es sólo para ahorrar tiempo y molestias al que no quiera instalarse el Visual y complicarse con él si no lo va a usar más que para esto. De todas formas os animo a añadir controles en el formulario, parecido a esto:

http://img155.imageshack.us/img155/6637/formhn5.jpg

y que al pulsar el botón se le pasen los parámetros al dcraw.exe en plan dcraw -w -r 1 1 1 1 etc.

franciscojose
28/08/09, 13:06:35
voy a rescatar este hilo porque me parece interesante, bueno, me parecia mas interesante antes de leerlo, y ya que veo que os gusta esto de la programacion, ¿por que no os animais a generar un RAW a partir de un jpg?, lo llevo buscando 2 años y no doy con ningun programa.

saludos

corros
28/08/09, 19:50:14
voy a rescatar este hilo porque me parece interesante, bueno, me parecia mas interesante antes de leerlo, y ya que veo que os gusta esto de la programacion, ¿por que no os animais a generar un RAW a partir de un jpg?, lo llevo buscando 2 años y no doy con ningun programa.

saludos

Hola, eso de sacar un raw de un jpg es como querer hacer una casa de 3 pisos de otra casa de 1 piso, en cambio de una de 3 pisos (RAW) si puedes hacer una de 1 piso (JPG), no se si valdra el ejemplo.

Saludos.:aplausos:foto::aplausos

franciscojose
29/08/09, 11:23:01
Hola, eso de sacar un raw de un jpg es como querer hacer una casa de 3 pisos de otra casa de 1 piso, en cambio de una de 3 pisos (RAW) si puedes hacer una de 1 piso (JPG), no se si valdra el ejemplo.

Saludos.:aplausos:foto::aplausos

si, ya lo se, pero es cuestion de gustos, hacerse se puede hacer. que sea absurdo, pues tambien, pero es cuestion de gustos, ganar no voy a ganar nada, pero perder tampoco, bien mirado podria usar como objeto inteligente de acr un jpg, que ahora mismo no puedo o al menos no se, por decir algo, ajustar balances de blanco facilmente, vamos que es capricho pero si alguien tiene algo por ahi me gustaria compartirlo.
gracias, saludos

Vampy
30/08/09, 17:47:20
Dire algo, cuando hice este post lo hice con el animo de que alguien se pusiera a programar un poquito, por so le llamaba este tema, vi esta forma como introducción al tema y que asi cuadrase algo con la fotografia, es evidente que se puede hacer mas sencillo pero pretendia de alguna manera ver si alguien se lanzaba con este entorno
Es claro que no y de ahi que lo dejase

franciscojose
30/08/09, 18:17:19
hola Vampiresa,
llevo años picoteando la programacion y ahora quiero desconectar un poco, vi el hilo y me llamo la atencion pero el titulo era demasiado sujerente para luego limitarse a usar otro programa, como ya dijeron, matar moscas a cañonazos, me parece bien la idea por eso os animo a todos los que teneis esa inquietud a que este hilo no quede asi, mi propuesta es saber como esta estructurado un DNG y crearlo a partir de un jpg, no vamos a descubrir nada nuevo, se de quien lo ha hecho ya pero estan liados con un proyecto maravilloso y no es cuestion de desviar su atencion, si nosotros somos capaces de hacer esto nos sirve para ir aprendiendo y entendiendo las tripas de un DNG, quizas se sorprenda mas de uno.
un abrazo.

IsaacPB
28/10/09, 15:03:13
si, ya lo se, pero es cuestion de gustos, hacerse se puede hacer. que sea absurdo, pues tambien, pero es cuestion de gustos, ganar no voy a ganar nada, pero perder tampoco, bien mirado podria usar como objeto inteligente de acr un jpg, que ahora mismo no puedo o al menos no se, por decir algo, ajustar balances de blanco facilmente, vamos que es capricho pero si alguien tiene algo por ahi me gustaria compartirlo.
gracias, saludos

si quieres ajustar facilmente el balance de blancos a un jpg hay programitas que lo hacen (si no quieres currartelo en Photoshop, que lógicamente tambien se puede). El mismo Picassa (http://picasaweb.google.es)de Google por ejemplo, puedes descargarlo gratis y s bastante útil para retoques rápidos sin entrar a potochó

jesusag
25/01/10, 19:13:52
Hola Vampyressa

Muy sencillo, pero muy util y practico.

Gracias

Mhinsc
13/07/10, 13:25:59
como han comentado mas arriba , ya puestos a picar código .. pues que podamos parametrizar mas cosas...
Decir , que aunque mas lioso desde un .bat también se puede hacer lo mismo (con if %opciontal goto tal..) lo único que es más tedioso y menos vistoso.

Pero buena idea .. me lo voy hacer en VB