Comunidad Gambas-es
Photo organizer - libexif con Extern - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: Aplicaciones/Fragmentos de Código (https://gambas-es.org/forum-8.html)
+--- Tema: Photo organizer - libexif con Extern (/thread-1063.html)

Páginas: 1 2 3 4


RE: Photo organizer - libexif con Extern - Shordi - 21-10-2022

Efectivamente, Cogier tiene razón. Instalando libexif-dev, funciona. No he ejecutado el traspaso, sólo he visto la lista inicial, pero funciona.
 Ahora unas sugerencias:

1.) Establecer la propiedad Expand a True en las columnas del Gridview, de manera que se ajusten automáticamente al ancho de la ventana.

2.) El Gridview presenta tantos datos que al final no dicen nada por exceso. Quiero decir que si yo tengo una cámara o pendrive o lo que sea, llenito de fotos y lo que quiero es pasarlas a ubaciones más seguras, etc. Lo que quiero es que se pasen. No veo la utilidad de esas columnas llenas de datos repetidos que no son relevantes para el traspaso (salvo, claro está que se incorpore algún tipo de filtro donde pueda pasar sólo las fotos de tal cámara o de tal tamaño, etc, etc.). Mi primera sugerencia sería dejar sólo visibles las columnas de origen y destinos y plasmar el resto de datos en una ventanita aparte al, por ejemplo, pulsar botón derecho sobre la línea (como se hace con los metadatos de los .mp3 en la lista del gbAmp). Eso simplificaría mucho la visualización y permitiría que te quepan en pantalla las tres columnas de origen y destinos (que es lo que nos interesa)enteras, sin tener que abrirlas para ver el contenido.

3.) Dado que las cámaras tienen esos horribles nombres de foto, no tenemos ni idea de lo que contiene en realidad el dispositivo de origen, así que esta tarde me he permitido hacerte unas modificaciones que añaden una miniatura de la imagen en la línea, de manera que sabes qué es lo que contiene y si te interesa pasarla o no. Queda así:

[Imagen: veaj4JB.png]

Haciendo click sobre la miniatura se abre una ventanita de vista previa.

[Imagen: zHnhznF.png]

El proceso de poner miniaturas reside en el evento Data del GridView lo cual, inevitablemente, lo hace más lento. Sin embargo estimo que vale la pena (al menos en mi aparato son sólo un par de segundos) por cuanto la finalidad de este programa no es la de ver fotos y, supongo, lo normal sería que una vez verificado qué contiene el dispositivo no sigas hojeando gridview si no que pulsas "Procesar".

Te adjunto el Photo-Organizer-sugerencia con los cambios. Son, como no puede ser de otra forma en una sugerencia, bastante toscos y desentonan, supongo, con tu estilo de programación, pero si al final decides incorporarlos al programa ya los afinarás.

Saludos


RE: Photo organizer - libexif con Extern - tincho - 21-10-2022

(21-10-2022, 21:12)Shordi escribió: Efectivamente, Cogier tiene razón. Instalando libexif-dev, funciona. No he ejecutado el traspaso, sólo he visto la lista inicial, pero funciona.

Perfecto, entonces tu sistema tiene que tener el paquete libexif-dev, bien, ¿cual es tu sistema exactamente?   así lo agrego a la lista de dependencias para esa distribución.

(21-10-2022, 21:12)Shordi escribió: Establecer la propiedad Expand a True en las columnas del Gridview, de manera que se ajusten automáticamente al ancho de la ventana.

ok.

(21-10-2022, 21:12)Shordi escribió: 2.) El Gridview presenta tantos datos que al final no dicen nada por exceso. Quiero decir que si yo tengo una cámara o pendrive o lo que sea, llenito de fotos y lo que quiero es pasarlas a ubaciones más seguras, etc. Lo que quiero es que se pasen. No veo la utilidad de esas columnas llenas de datos repetidos que no son relevantes para el traspaso (salvo, claro está que se incorpore algún tipo de filtro donde pueda pasar sólo las fotos de tal cámara o de tal tamaño, etc, etc.). Mi primera sugerencia sería dejar sólo visibles las columnas de origen y destinos y plasmar el resto de datos en una ventanita aparte al, por ejemplo, pulsar botón derecho sobre la línea (como se hace con los metadatos de los .mp3 en la lista del gbAmp). Eso simplificaría mucho la visualización y permitiría que te quepan en pantalla las tres columnas de origen y destinos (que es lo que nos interesa)enteras, sin tener que abrirlas para ver el contenido.

Revisare el tema, en principio puse esas columnas para verificar que no había un nombre vacío (lo que podría hacer que se pierda el archivo) pero es verdad que demasiada información = ninguna información.

(21-10-2022, 21:12)Shordi escribió: 3.) Dado que las cámaras tienen esos horribles nombres de foto, no tenemos ni idea de lo que contiene en realidad el dispositivo de origen, así que esta tarde me he permitido hacerte unas modificaciones que añaden una miniatura de la imagen en la línea, de manera que sabes qué es lo que contiene y si te interesa pasarla o no. Queda así:

Si, esta buena la idea de poner una miniatura. La versión anterior tenia algo de eso, pues mostraba un fotograma del video seleccionado en un lateral.
Revisare este tema también.
(21-10-2022, 21:12)Shordi escribió: El proceso de poner miniaturas reside en el evento Data del GridView lo cual, inevitablemente, lo hace más lento. Sin embargo estimo que vale la pena (al menos en mi aparato son sólo un par de segundos) por cuanto la finalidad de este programa no es la de ver fotos y, supongo, lo normal sería que una vez verificado qué contiene el dispositivo no sigas hojeando gridview si no que pulsas "Procesar".

Tal vez no lo sea, le pego una pensada a ver como hacerlo mas veloz.
(21-10-2022, 21:12)Shordi escribió: Te adjunto el Photo-Organizer-sugerencia con los cambios. Son, como no puede ser de otra forma en una sugerencia, bastante toscos y desentonan, supongo, con tu estilo de programación, pero si al final decides incorporarlos al programa ya los afinarás.

Gracias, por el tiempo invertido y por proponer tu versión del código.


RE: Photo organizer - libexif con Extern - cogier - 21-10-2022

Cita:ok, ¿Seria mantener el nombre original con que viene de la cámara de fotos verdad? 
Sí. Esa sería mi opción.
 
Cita:"2022" es el año más "F" de fotografías, pero creo que seria bueno que sea posible cambiar a gusto del usuario esto, así que lo pondré en las preferencias también.
Creo que la carpeta 2022/10 es una forma estándar de almacenar fotos. La 'F' me parece que está fuera de lugar.

 
Cita:Por favor dime cual es tu sistema así lo incorporo como dependencia para esa distribución especifica.
Yo uso Linux Mint, que está basado en Ubuntu.
¿Te ayudará esto?


RE: Photo organizer - libexif con Extern - tincho - 21-10-2022

(21-10-2022, 23:05)cogier escribió: Creo que la carpeta 2022/10 es una forma estándar de almacenar fotos. La 'F' me parece que está fuera de lugar.

Si, es un modo, todo es valido porque finalmente es una persona la que vera esos directorios y los copiara etc.

(21-10-2022, 23:05)cogier escribió: Yo uso Linux Mint, que está basado en Ubuntu.
¿Te ayudará esto?

ok perfecto, es ubuntu a los efectos de paquetería y dependencias.


RE: Photo organizer - libexif con Extern - tincho - 23-10-2022

(21-10-2022, 23:05)cogier escribió: ¿Te ayudará esto?

Lo propones para instalar la Liberia exif al correr el programa desde el IDE verdad?
Si es así, podría servir pero creo que no para esta etapa de pruebas.
Recuerda que la libería exif va a ir incluida como dependencia al crear el paquete.


RE: Photo organizer - libexif con Extern - tincho - 24-10-2022

Subí algunos cambios (al repo gitlab) que abordan los comentarios que hicieron antes. Concretamente:
  • Agregue un formulario de configuración
  • Es posible elegir mostrar la miniaturas o no.
  • Las columnas no tienen expand activado pero se guarda el ancho al re-dimensionar y no hay que volver a cambiarlo mas.
  • Agregue círculos verdes que indican si la foto destino ya existe y amarillos que indican que no.
  • Simplifique los nombres del archivo quitando el directorio ya que este se ve arriba.
  • Actualización de la traducción
Cogier: todavía no agregue la opción de nombre de archivo original, pero lo haré en estos días.


RE: Photo organizer - libexif con Extern - tercoide - 31-10-2022

Este programa debería tener reconocimiento de fotos para detectar duplicaciones (fotos iguales con distinto nombre de archivo).


RE: Photo organizer - libexif con Extern - tincho - 02-11-2022

(31-10-2022, 15:17)tercoide escribió: Este programa debería tener reconocimiento de fotos para detectar duplicaciones (fotos iguales con distinto nombre de archivo).

Desde mi punto de vista, pueden existir varios tipos de "fotos duplicadas"

1) Archivos exactamente iguales:
Esto ya esta contemplado pero solo con fecha + resolución no con algún tipo de uid como MD5, SHA1 o SHA256. Prodria incorporar esto último.

2) Archivos diferentes pero con una marca de tiempo menor a un segundo
No esta contemplado por el momento (pero podría solucionarse usando algún tipo de uid )

3) Luego esta el tema de las fotos que son casi iguales y que tal vez no tenga sentido conservar ambas en la colección de fotos pero me parece algo que no puede decidir un programa porque ¿Cual es la valida?

Gracias por el feedback.

PD: Estoy depurando el programa de acuerdo a comentarios que recibo por otros canales, así que puede ser una buena idea descargar la ultima versión desde el repo.


RE: Photo organizer - libexif con Extern - tercoide - 05-11-2022

En algun momento del VB6 , habia hecho algo...la idea es que el user decida que hacer ante dos fotos que para el programa parecen iguales. El programa no las elimina, sino que las resalta de alguna forma. Imagina la siguiente situacion: un usuario ha pasado desde PC de escritorio con HD de 64MB en 2004, cuando nacio su hija , a notebooks con SSD en 2022. En medio, por terror de perder las +1E200 fotos que le saco a su primer hija, y las 200 que le saco a su segunda Tongue  hizo backups en CD, luego en DVD, luego en HD externos, luego las copio a su portatil 1, luego a su portatil nro 20, etc

El resultado es caotico, y tratandose de miles de fotos, ya no sabe en cual disco estan todos, o incluso puede pasar que en algun disco esten algunas y en otro, otras. Para peor, las camaras nombran DCIM-xxxx.jpg y puede pasar que hay fotos totalmente distintas, de diferentes camaras que tengan el riesgo de sobreescribirse.

No se si el programa esta preparado, pero seria de enorme ayuda que trabaje sobre un almacenamiento principal y uno pueda ir trayendo sus backpus, o pen drives con fotos de viejas PC, CD, DVD, etc y pueda construirse un solo archivo de fotos, que luego se administre con el mismo programa.

No se si me explique At


RE: Photo organizer - libexif con Extern - tincho - 05-11-2022

(05-11-2022, 01:42)tercoide escribió: No se si me explique

Si, explicaste muy claramente la situación que es el caso mas o menos típico.
Es por estos motivos que no encuentro la manera de gestionar la fotos con el nombre original ya que cada fabricante le pone el nombre que se le ocurre y al final es un lio terrible, por eso decidí tomar los datos de fecha+resolución.
Tal vez debería ser fecha+resolución+tamañodearchivoenbytes.jpg o fecha+tamañodearchivoenbytes.jpg o fecha+uid.jpg
Acá hay otro tema, calcular un UID para cada archivo lleva tiempo de computo, pero estoy tratando de incorporar algo de eso de todas maneras, ya que tal vez sea poco tiempo en el procesado de fotos.
Es por ello que estoy pensando en usar el tamaño en bytes como numero entero, pero tengo que hacer pruebas para saber si se puede usar, junto con la fecha como identificador único.

A priori tendría que:
  • Agregar una base de datos para almacenar la información, no es complicado así que lo pongo en la lista.
  • Desarrollar una algoritmo que detecte fotos similares pero no el mismo archivo, pero no tengo idea de como hacer eso ¿Quien se apunta? Tongue
  • definir uno o mas escenarios, que de momento solo apunto a tener las fotos y videos en un HD y luego unas memorias flash de backup.
  • Contemplar las fotos digitalizadas y un editor de metadatos, es decir fotos analógicas que pase a digital y estas tienen los metadatos, si es que los tienen, mal asignados porque nada tienen que ver con la fecha de captura de esas fotos.
  • Contemplar el caso de fotos en formato RAW que son el formato preferido por los artistas de la fotografía.

Creo que la fecha de la foto tiene que estar en el nombre del archivo porque a mi me ha resultado muy útil para gestionar miles de fotos. De momento no encuentro argumento alguno en contra de esto.

Gracias por el feedback y acordate que esto es un programa TESTING siempre trabaja con una copia de las fotos y videos por si acaso algo va mal.