redimensionar todas las fotos por terminal(solucionado)

Imagen de nacho tineo
8 puntos

Buenas me han pedido un compañero que si hay manera de redimensionar todas las fotos a un tamaño determinado pero que estas conserven su nombre y la estructura de directorios.

Estaba pensando en algo como esto:
Pero creo que me da errores
find -iname "*.jpg" -exec mogrify -resize 1200x800 -format jpg * {} . \;

mogrify -resize 1200x800 -format jpg *
Si uso el siguiente comando me da error al no encontrarse dentro del directorio las imágenes si entro en la carpeta funciona perfecto pero debo entrar una por una es un lío.
Hay algún parámetro para mogrify que siga su trabajo por todo el árbol de directorios actual y subdirectorios?
he mirado el manual pero esta en ingles y no me entero.

alguna idea ?
No es necesario guardar copia de las fotos originales dado que estas ya lo están en unos discos duros externos simplemente es para mantener copia en el pc a un tamaño mas pequeño y poder manejar el archivo mas rápido a la hora de buscar imágenes (es profesional de la fotografía y el volumen en bruto es inmenso)

gracias

Imagen de rioport
+1
0
-1

¿Qué errores crees que te da la primera linea de comando?
¿Qué errores te da al ejecutar la primera linea de comando?

EDITO: La primera linea debería ser:

find -iname "*.jpg" -exec mogrify -resize 1200x800 -format jpg {} \;
+1
0
-1

-- GC --

Imagen de nacho tineo
+1
0
-1

Pues el error que me daba era que el comando al estar mal ,intentaba convertir todos los archivos aunque no fuesen jpg y se quedaba pillado.
El error en el comando lo he cometido al copiar de internet.
Muchas gracias por corregirme ahora funciona de vicio solo una duda si deseo convertir .cr2 o cualquier otro formato seria =?

find -iname "*.cr2" -exec mogrify -resize 1200x800 -format jpg {} \;

Muchas gracias por la rapidez da gusto.

+1
0
-1

La libertad es aquella facultad que aumenta la utilidad de todas las demás facultades.
(Immanuel Kant)

Imagen de rioport
+1
0
-1

El formato de entrada debe ser soportado por el programa mogrify para que funcione. Y como parece que sí soporta el formato CR2, el comando para convertirlos a JPG con dimensiones de 1200x800 sería:

find -iname "*.cr2" -exec mogrify -resize 1200x800 -format jpg {} \;

======
Ahora trataré de explicar:

find -iname "*.cr2"

Buscará recursivamente todos los archivos que coincidan con el patrón buscado (archivos con extensión .cr2).

Lo que está después de exec es el comando que se ejecutará a cada archivo que find encuentre. Las llaves ( {} ) toman el valor del archivo actual. Por lo que sería algo así:

mogrify -resize 1200x800 -format jpg Archivo.cr2

Y lo que estaría haciendo es convertir un archivo cr2 (Archivo.cr2) a jpg con las dimensiones especificadas (1200x800).

+1
0
-1

-- GC --

Imagen de nacho tineo
+1
0
-1

Con los archivos .cr2 el mogrify daba error .
Navegando di con ufraw-batch
Sin problemas.

Antes de ponerme con el amigo he decidido hacer una prueba con mis fotos son 10000 y pocas en cr2 y tiff.
Lo he dejado una noche para convertir todas las imágenes.
Primero los jpg luego los cr2 y final los tiff para los tiff he usado convert.

Una vez tenia las 10000 fotos en jpg a un tamaño reducido llego la hora de probar que tal se importaban a un gestor de imágenes .

En mi caso uso darktable y todo fue rapidísimo para el volumen pero no me extraño se trata de ubuntu- linux,pero revisando las carpetas algunas no mostraban las fotos se me callo el alma al suelo pensé que se trataba de un error en la conversión de las imágenes pero resulta que si navego por los directorios si que las veo en miniatura y puedo abrirlas sin problemas entonces di por echo que la carga no se efectuó a darktable.
Volví a importar las imágenes pero nada ,la solución a sido ir poco a poco cargar de 10 en 10 carpetas y así no tubo problema.

No se si es problema de darktable o simplemente que es demasiado trabajo para mi ram y antes de petar deja sin cargar dichas imágenes jjjj.

= con un pc mas potente o con otro gestor de imágenes no pasa este pequeño inconveniente.

Para la gente que maneja grandes volúmenes de imágenes en formatos raw o tiff les recomiendo que lo hagan así no hay color en la carga ,manejo y búsquedas de las imágenes reducidas en el pc.

Eso si NO renombrar los archivos mantener el nombre original .RAW .TIFF .JPG y cuando des con la imagen que desees solo tienes que copiar el nombre arrancar tu disco duro donde tienes las imágenes en alta y pegar el nombre en el buscador y ya tendrás lo que buscas jjjj.

Saludos

+1
0
-1

La libertad es aquella facultad que aumenta la utilidad de todas las demás facultades.
(Immanuel Kant)

Imagen de nacho tineo
+1
0
-1

He intentado de nuevo hacerlo con el comando :

find -iname "*.cr2" -exec mogrify -resize 1200x800 -format jpg {} \;
find -iname "*.tif" -exec mogrify -resize 1200x800 -format jpg {} \;

y todo funciona correcto.

Saludos

+1
0
-1

La libertad es aquella facultad que aumenta la utilidad de todas las demás facultades.
(Immanuel Kant)

Imagen de nacho tineo
+1
0
-1

DI por echo que el que quiera usar este método tiene sus archivos en raw o tiff .

SI tenéis las fotos finales en jpg tener MUCHO cuidado si hacéis las copias de una manera automática con rsync o con otra aplicación.
Dado que al mantener el mismo nombre y mismo formato seguramente pise las fotos y se joderá el invento.
En ese caso una opción es renombrar las parte final del nombre.

Ejemplo.

original.jpg
original_R.jpg
O como veáis así no pisara la foto y a golpe de vista se distingue la original de la reducida.
Por nada del mundo quiero que alguien pierda sus fotos por seguir un consejo mio.

Saludos

+1
0
-1

La libertad es aquella facultad que aumenta la utilidad de todas las demás facultades.
(Immanuel Kant)