Tengo varios miles de imágenes tomadas con una GoPro que están al revés.
Estoy buscando una manera, una aplicación realmente, que pueda voltearlos a todos, 180 grados, en una sola operación.
He mirado todas las opciones en el propio software de GoPro, pero no encuentro esto solo para imágenes fijas. Puedes rotar mientras haces un video, pero quiero mantener las imágenes individuales.
Estoy en Windows.
Recomendaría cualquiera de las aplicaciones de esta lista en JPEGclub.org , que desarrolla y mantiene software para Independent JPEG Group. Tienen un código gratuito llamado jpegtran
que puede hacer algunas transformaciones básicas (como la rotación) sin volver a codificar la imagen.
La rotación de imágenes de forma "ingenua" (representar un mapa de bits, reorientar el mapa de bits y volver a guardar) puede dar como resultado un aumento de los artefactos JPEG y archivos más grandes con datos menos útiles.
La lista anterior contiene software que se sabe que lo hace "de la manera correcta". Otro software también puede (quizás usando una base de código diferente), pero desafortunadamente ImageMagick no es uno de ellos. Pero, a partir de agosto de 2016, hay 87 opciones diferentes para muchas plataformas informáticas diferentes, incluido Windows.
Nota de los comentarios: el OP usó este ciclo basado en esta respuesta:
FOR %f IN (.\Src\*.*) DO jpegtran.exe -rotate 180 %f .\Rotated\%~nxf
con buenos resultados.
jpegtran
; aún mejor, si le importa mantener la miniatura y la Orientation
etiqueta de EXIF consistentes, puede considerar exiftran
cuál está inexplicablemente ausente de la lista de JPEGclub, pero no tiene pérdidas. Mi comando (en Linux) para esto sería exiftran -i -1 *.jpg
o find . -name '*.jpg' -print0 | xjobs -0 -l 10 exiftran -i -1
; esto necesitará adaptarse para el shell de Windows.jpegtran
directamente.En Windows puede hacerlo sin ningún software adicional en DOS operaciones. Seleccione los archivos que desea girar en el Explorador de archivos, haga clic con el botón derecho y haga "girar a la derecha" (oa la izquierda) dos veces. Se hará sin pérdidas si la imagen lo permite (por ejemplo, las dimensiones no son "divertidas").
Podrías usar ImageMagick con la rotate
opción :
convert image.jpg -rotate 180 result.jpg
Debería poder aplicar este comando a varios archivos, según su entorno.
Puede usar xnview en Windows, que tiene algunos procesamientos en modo por lotes y también, para una rotación simple de imágenes, tiene la opción de rotar imágenes en función de los datos EXIF.
Seleccione todas las imágenes (¡incluso las correctamente orientadas! Sabrá que ya están bien orientadas), "girar en función de exif" y lo hará (sin recalcular el jpg, por lo que no perderá calidad).
Como dicen en http://newsgroup.xnview.com/viewtopic.php?t=1420 :
Para hacer esto, seleccione todas sus imágenes y seleccione "Herramientas> Transformaciones JPG sin pérdida" (o la lista desplegable del símbolo 'Transformaciones JPG sin pérdida' en la barra de herramientas). En el cuadro de diálogo, marque el botón con "EXIF" y luego presione "Ir". XnView rotará permanentemente las imágenes según el indicador de orientación EXIF.
Y para la próxima vez, si tiene una GoPro lo suficientemente reciente, también puede verificar su función: https://gopro.com/support/articles/what-is-auto-image-rotation
Asumiendo que sus fotos están en formato JPEG, soy bastante partidario de JPEGCrops , una herramienta simple y gratuita para el procesamiento por lotes de imágenes sin pérdidas.
Puede recortar a relaciones de aspecto específicas y/o rotar.
FSViewer es un programa útil que puede hacer eso.
Abra la carpeta donde están las imágenes, seleccione todo lo que desea rotar, presione F4 y vaya a la pestaña 'Conversión por lotes' en la ventana que se abre. Haga clic en 'Opciones avanzadas' en la parte inferior derecha, vaya a la pestaña 'Rotar'. Marque 'Voltear / Rotar', luego 'Rotar', luego seleccione '180' a continuación y presione Aceptar. Establezca dónde desea que se guarden y presione 'Convertir'.
Editar: una forma más rápida y sencilla es simplemente seleccionar todas las imágenes que desea y presionar dos veces 'Girar a la derecha y guardar' en la barra de herramientas. Debería ser no destructivo para archivos JPEG.
¿Puedo sugerir el modo por lotes de Irfanview, que solo se ejecuta en Windows? Irfanview también es bueno para ediciones simples, pero no es GIMP.
Una vez instalado, seleccione "Archivo | Conversión por lotes/Renombrar". A partir de ahí, se vuelve un poco complicado, debe seleccionar todos los archivos, debe especificar una carpeta de destino y debe hacer clic en el botón Avanzado para ver las opciones avanzadas. Puede rotar +/-90°, pero para hacer 180° deberá elegir una rotación fina en el extremo derecho e ingresar 180°. Tenga en cuenta que también puede cambiarles el tamaño, cambiar la calidad de JPEG y cambiarles el nombre.
También puede hacerlo bastante rápido permaneciendo en la GUI y usando el teclado. Abra cualquier archivo en la carpeta de imágenes. Pulse 'R' dos veces para girar dos veces. Luego presione Ctrl-S para guardar. Aparecerán dos ventanas, una con el cuadro de diálogo de archivo típico y otra para la compresión JPEG (si el formato predeterminado de GoPro es JPEG). Me aseguraría de que el factor de calidad sea al menos del 90 %. Luego guarde el archivo; debería poder presionar la tecla Tabulador o Alt-S para guardar. Es posible que aparezca un cuadro de diálogo del tipo "¿Está seguro?" (es posible que pueda desactivarlo). Luego, simplemente presione la barra espaciadora para avanzar al siguiente archivo en la carpeta. Si tiene más de 50 archivos, el lote puede ser más rápido. Diez archivos, solo hago lo anterior.
La clave de Irfanview es que es como Blender, no te pregunta si quieres Guardar si modificas una imagen.
Con las ventanas, puede marcarlas todas en el explorador, luego hacer clic con el botón derecho y elegir rotar en el sentido de las agujas del reloj. Haga esto dos veces y sus imágenes ahora estarán correctamente orientadas.
¿Conoces GIMP? Existe un complemento llamado BIMP que le permite realizar la misma operación en un conjunto de imágenes, utilizando una interfaz gráfica. Puede instalarlo fácilmente utilizando el instalador oficial de Windows.
También puede volver a guardarlos en otro formato o con una relación de compresión diferente para evitar una gran pérdida de calidad.
Consejo profesional: lo logré :D
ImageMagick es un conjunto de herramientas de línea de comandos que operan en imágenes, y puede combinar esas herramientas con comandos básicos de shell de Unix para aplicar el mismo comando a un conjunto de archivos. Hay muchos buenos ejemplos en ¿Cómo rotar todas las imágenes en un directorio con imagemagick? .
Yo personalmente uso Adobe Lightroom. Las imágenes se pueden rotar y editar por lotes fácilmente, simplemente seleccione las imágenes que desea rotar, haga clic con el botón derecho y seleccione la opción para transformar las imágenes rotando 180 grados.
Si trabaja constantemente con miles de imágenes que requieren procesamiento por lotes, especialmente si es más complejo que rotar, como ajustar el color o la exposición, entonces LR es probablemente una inversión sólida.
No me gusta que Lightroom sea de código cerrado, cueste dinero y no se ejecute en sistemas Linux. Sin embargo, he encontrado que las funciones superan con creces lo que está disponible de forma gratuita.
Podría usar LiveBlox y construir una canalización para permitir la rotación de la imagen. La versión de demostración en http://liveblox.org tiene un bloque de rotación, por lo que permitirá que esto se haga.
Hay un tutorial https://www.youtube.com/watch?v=kY0e5msQuiU que muestra cómo cambiar el tamaño de la imagen por lotes, solo necesita reemplazar el tamaño fijo con el rotador para hacer la rotación.
Esto le permitiría trabajar en cada imagen con un solo clic.
$ por F en *jpg; convert -rotate 180 $F "$(nombre base $F .jpg)_R.jpg" && echo "Terminado $F"; hecho
Explicación: *para F en la parte .jpg del comando asigna el nombre de archivo a una variable, que se puede recuperar más tarde para cambiar el nombre del archivo a [nombre de archivo original}_R.jpg
el "do convert -rotate 180" le dice a la computadora que le gustaría convertir sus imágenes, girándolas 180 grados.
La parte "$(basename $F .jpg)_R.jpg" del comando indica el nuevo nombre de archivo.
El && le dice a la computadora que viene un comando adicional, pero que la computadora solo puede ejecutar el comando si el comando anterior (rotación y cambio de nombre) fue exitoso.
echo "Done $F" le dice a la computadora que le diga ("echo" para usted) que cada archivo se ha rotado con éxito. La subparte $F del comando está recuperando la variable de nombre de archivo inicial, por lo que la salida probablemente dirá algo como "Done file1.jpg"
Y uno necesita sh/csh/bash para que esta pieza funcione.
*_R.jpg
archivos en el directorio.
scottbb
Nombre para mostrar