¿Cómo convertir una imagen HEIF/HEIC a JPEG en macOS?

Entonces, aquí está la cosa. Tengo un nuevo iPhone y una vieja Mac. iOS 11 (todavía en versión beta a partir de hoy) y El Capitan (no más actualizaciones para esta Mac). Uso la biblioteca de fotos de iCloud en ambos dispositivos. Cuando tomo una foto en el nuevo formato con mi iPhone 7, ¿hay alguna forma de usarla de inmediato en mi mac, sin tener que convertirla primero en mi iPhone? Quiero decir, ¿puedo sincronizar esas fotos a través de iCloud y convertirlas localmente en mi Mac?

Traté de encontrar un software de terceros que pudiera hacer ese tipo de conversión, pero no pude encontrar ninguno que funcionara en El Capitán. ¿Alguna idea?

Debería poder convertir fotos HEIF en la exportación. ¿Has probado eso?
Todavía estoy tratando de entender la mecánica de la misma. Lo he configurado en Automático en el iPhone. Pero obtuve un par de archivos heic en la aplicación Fotos a través de la sincronización de la biblioteca de fotos de iCloud y también al descargar desde el sitio web de iCloud. Supongo que el grito del sitio web nos permite exportar un JPEG. Y sería bueno tener lo mismo en la aplicación Fotos, en El Capitán.
Me gustaría comenzar a usar el nuevo formato para ahorrar espacio, pero todavía tengo alguna forma de acceder a mis fotos desde mi Mac actual.
Bueno... Ahora pude descargar una versión JPG de una foto HEIC del sitio web de iCloud. No estoy seguro si cambié algo en mi configuración desde la última vez que lo intenté. Pero la aplicación Fotos aún informa el archivo sincronizado (no el que descargué) como .HEIC. Y si trato de exportarlo, no funciona. Solo se exportan archivos JPG. Lo cual es extraño, porque la foto se muestra normalmente en la aplicación de fotos.
Hay una aplicación llamada Graphic Converter pero no es compatible con estos formatos. Es posible que desee vigilarlo.< lemkesoft.de/en/products/graphicconverter/key-features/… >
@Mark, sí, ese fue uno de mis primeros pensamientos, pero parece que su conversión HEIC es una función que solo funciona en un sistema operativo más reciente.
¿Has probado la captura de imagen?
@IconDaemon No creo que Image Capture pueda convertir tipos de archivos. Ciertamente, no puede abrir archivos de imagen que ya estén en el sistema de archivos de la computadora. Recuerde, mis archivos de fotos ya están almacenados en la computadora porque estoy usando la biblioteca de fotos de iCloud. Además, estoy usando "Almacenamiento optimizado" en ambos dispositivos, por lo que el archivo de imagen original real suele estar en el servidor iCloud, no necesariamente en uno de mis dispositivos.
Por extraño que parezca, ahora tengo algunas fotos HEIC en mi biblioteca, y cuando trato de descargarlas del sitio web de iCloud, al menos una de ellas aparece como JPG, pero la mayoría se descargan como HEIC. Probé eso en al menos tres Mac diferentes con El Capitan. ¿Cuál es el criterio para que el servidor decida si nos enviará un archivo JPG o HEIC?
La única forma en que pude obtener una solución parcial para este problema, hasta ahora, fue ir al sitio web de iCloud, Fotos, luego seleccionar una de las fotos y hacer clic en el enlace para compartir en la parte superior (el cuadrado con una flecha apuntando hacia arriba) . Luego elige "correo electrónico". Abre una ventana emergente con la foto dentro. En ese momento, puede arrastrar esa foto a su escritorio y obtendrá un JPG. No es de resolución completa, pero probablemente servirá para la web y otros fines que no requieren una imagen de resolución completa.
Ahora, otro problema muy extraño es que el botón de compartir en la aplicación web Fotos, en el sitio web de iCloud, no aparece en todas las computadoras, incluso si todas usan El Capitán... ¿No debería una función como esta la independiente del hardware?
@IconDaemon Al importar fotos con un cable, con la aplicación Fotos o Image Capture, las fotos HEIC aparecen y se importan como archivos JPG (lo configuré en Automático, en las preferencias de iPhone). Puede ser una solución para las fotos recientes, pero aún no es una solución para las fotos que llegaron a través de la sincronización de iCloud y que es posible que ya no estén disponibles localmente en el iPhone...
sips -s format JPEG myfile.heic --out myfile.jpg
Y la versión de archivo múltiple: for i in *.HEIC; do sips -s format JPEG "${i}" --out "${i%HEIC}JPG"; done(de robservatory.com/… )
sipsen El Capitan no funciona para convertir imágenes HEIC.
@PatNiemeyer y @dmon que deberían estar sips -s format jpegen minúsculas jpeg. Mayúsculas da Error: Unsupported output format JPEG(sips-294 en MacOS Catalina 10.15.5)
Pruebe jpeg (minúsculas) en lugar de JPEG (mayúsculas) en el comando sips. Funcionó así para mí en macOS ventura.

Respuestas (8)

Acabamos de lanzar esta pequeña aplicación gratuita para macOS: https://imazing.com/heic

La versión mínima de macOS es 10.8 , así que no te preocupes con El Capitan. : )

ingrese la descripción de la imagen aquí

Esta herramienta también conserva los datos EXIF, ¡lo cual es increíble!
No funciona recientemente

Puede usar la herramienta de línea de comandos imagemagickpara convertir imágenes HEIC a JPG.

# install imagemagick
brew install imagemagick

# convert a single image
magick convert foo.HEIC foo.jpg

# bulk convert multiple images
magick mogrify -monitor -format jpg *.HEIC
¿Qué significa "convertir: no hay delegado de decodificación para este formato de imagen 'HEIC"?
@gap, su mensaje de error significa que no tiene las cosas correctas instaladas para lidiar con el formato HEIC. brew upgrade imagemagickresolvió este problema para mí.
@gap No estoy seguro. Mi comando de instalación original tenía una opción adicional: brew install imagemagick --with-libheif, pero otros dijeron que ya no era necesario. Podrías intentarlo. Tal vez haga una diferencia dependiendo de su versión de OSX.
@wisbucky, con respecto a mi respuesta no eliminada: tenías razón. no estoy seguro de lo que estaba pasando antes. Gracias por la respuesta. 👍
¡Perfecto! trabajó para mi
Necesita libde265usar HEIC con ImageMagick... stackoverflow.com/a/54558699/2836621

Aparentemente, la forma nativa de macOS de hacer conversiones de imágenes como estas es sips(1)(elevar los comentarios de Pat Niemeyer y jonatan al estado de respuesta adecuado, para mejorar la capacidad de búsqueda):

sips -s format jpeg myfile.heic --out myfile.jpg

Entonces, si tiene un directorio lleno de archivos HEIC, puede iniciar una terminal macOS Big Sur, donde, si ejecuta el shell Zsh predeterminado, puede hacer copias jpeg de todos esos archivos como esta:

for i in *.heic(:r) ; sips -s format jpeg "$i.heic" --out "$i.jpg"

…y listo, ¡tienes copias en jpeg!

Si también desea destruir los originales, siga con un rm *.heic- o use esta variante en su lugar:

for i in *.heic(:r) ; sips -s format jpeg "$i.heic" --out "$i.jpg" && rm "$1.heic"

…e integrando el consejo de Josh Hibschman para conservar también las marcas de tiempo:

find . -type f -iname '*.heic' | while read i do \
  fileNoExt="${i%.*}"; \
  jpgFile="${fileNoExt}_heic_conv.jpg"; \
  sips -s format jpeg "$i" --out "$jpgFile"; \
  touch -r "$i" "$jpgFile"; \
  rm "$i"; \
done
Sin lugar a dudas, esta debería ser la respuesta definitiva. No es necesario instalar software adicional, tan simple como puede ser.
Cuando pruebo esto bashobtengo Warning: .heic not a valid file - skipping. La imagemagicksolución funciona para mí.
¿ Qué (:r)hace el clasificador?
(:r)es una función de generación de nombres de archivo globbing zsh que elimina una extensión de nombre de archivo de las coincidencias, por lo que *.heic(:r)coincidiría con archivos de ejemplo a.heicy b.heiccomo a b.
Se recomienda agregar touch -r myfile.heic myfile.jpga la copia sobre las fechas creadas y modificadas... o en conjunto con el cambio de nombrefind . -type f -iname '*.HEIC' | while read i do fileNoExt="${i%.*}"; jpgFile="${fileNoExt}_heic_conv.JPG"; sips -s format jpeg "$i" --out "$jpgFile"; touch -r "$i" "$jpgFile"; rm "$i"; done
¿Cómo podemos hacer coincidir los archivos *.heic y *.HEIC en el bucle for?
Usando el último comando ( find ...) obtuve un "error de análisis casi terminado". Tuve que agregar un punto y coma después de "leer i" para que la primera línea digafind . -type f -iname '*.heic' | while read i; do

Utilice la acción rápida de macOS "Convertir imagen" integrada para convertir fácilmente imágenes HEIC a JPEG.

Convertir imagen Acción rápida

el elemento del menú del botón derecho abre una pequeña utilidad para convertir a varios formatos y tamaños:

Convertir imagen

esto es elegante!
Hmm lo hice y funcionó. Pero la imagen es de baja calidad, aunque seleccioné "tamaño real". Además: ahora, cuando copio cualquier otra imagen de la aplicación Fotos a una nueva carpeta en Finder, automáticamente está en calidad "baja" y en formato ".jpeg" en lugar de ".heic". ¿Sabes cómo revertir esto?

Descubrí que Dropbox es una buena herramienta de conversión, ya que lo hace de forma transparente para el uso en cualquier sistema operativo y plataforma.

Cuando toma la foto desde el iPhone, Dropbox convierte automáticamente .heicla imagen .jpgcuando la carga en la computadora ( controlada por la configuración ). Dado que uso tanto el sistema operativo Windows como MacOS, no es necesario instalar aplicaciones adicionales por separado.

Debajo de una herramienta de conversión en línea (navegador web): no es compatible con el procesamiento por lotes, pero funcionará en una amplia gama de sistemas, incluidos los sistemas operativos que no son de Apple.

http://heictojpg.com/

Este sitio web ahora le permite cargar hasta 50 imágenes a la vez.
Tenga en cuenta: está cargando sus fotos en un servicio en la nube de un tercero (y no tiene garantía de que las eliminen después). No lo use para cosas personales,

Una excelente herramienta de línea de comandos que funciona muy bien es tifig . Se puede compilar fácilmente en múltiples plataformas. Debería compilarse en cualquier plataforma con una cadena de herramientas de desarrollo relativamente moderna, ¡eso debería incluir El Capitán!

Seguí las instrucciones en el repositorio para instalar tifigusando brew install cmake vips ffmpeg(desde el repositorio) pero parece que no funciona ( tifig command not found).
No sé si lo hiciste o no, pero también debes seguir las instrucciones de compilación. Para ejecutar dentro de la carpeta de compilación después de la compilación, simplemente ejecute./tifig -v -p file.heic file.jpg
¿Se podría proporcionar una instalación y uso de preparación de demostración para convertir esto en una respuesta más completa? Tal como está, es más un comentario.

mis dos centavos para Catalina.

Estaba cansado de usar la línea cmd...

Escribí una pequeña aplicación... si está interesado. es gratis:

https://apps.apple.com/us/app/heictojpeg/id1486256731?ls=1&mt=12

Espero que pueda ser útil :)

y ahora está listo para AppleSilicon