¿Cómo manejar imágenes grandes?

Quiero crear mi propio mapa de Google de esta manera:

Mi problema es que no puedo cargar y editar mis imágenes grandes.

Mis imagenes

  • PNG / JPG
  • 700 MiB
  • 300000px x 300000px

Mis bashs:

  • ImagenMagick
  • .NET C # / BitmapImages …
  • C ++ / OpenCV
  • Clases generales de imagen en Java y Python.

Con qué idioma / biblioteca puedo editar estas grandes imágenes.

Ayudo a mantener libvips , una biblioteca de procesamiento de imágenes diseñada para trabajar con imágenes muy grandes. Es gratis y funciona en Linux, Mac y Windows. Puede usarlo desde la línea de comandos, C # , C / C ++ , Python , Ruby y otros.

Puedes hacer tus mosaicos de google maps desde la línea de comandos de esta manera:

vips dzsave hugefile.tif myoutputdir --layout google 

O de Python (por ejemplo) como este:

 import pyvips image = pyvips.Image.new_from_file("somehugefile.tif", access="sequential") image.dzsave("filename/of/pyramid", layout="google") 

Y escaneará tu enorme imagen de tiff y generará todas las fichas. Es rápido, necesita poca memoria y funcionará en imágenes de cualquier tamaño. Regularmente hago 200,000 x 200,000 imágenes de Deepzoom de diapositivas de microscopio usando mi pequeña computadora portátil.

Hay un capítulo en la documentación de dzsave presenta dzsave y explica cómo usarlo .

Esta no es una respuesta completa, pero necesito un poco más de espacio que un comentario.

Eche un vistazo a la sección de soporte de imágenes grandes en ImageMagick o en el panel de discusión .

Esta respuesta menciona el paquete VIPS que podría ser útil.

También podría considerar publicar en el intercambio de fotografías , o incluso en el intercambio de mezclas de blender , por ejemplo, vi esta respuesta que menciona la escritura de mosaicos de imágenes individuales, también aquí , aunque esa pregunta es sobre la representación. Blender no es específicamente para el procesamiento y edición de imágenes, pero es bastante sorprendente y flexible y tiene una comunidad muy activa y de apoyo. Puedes usar python dentro de Blender también.

También se podría pensar en preguntar en gis stackexchange .

Cuando publique en los otros intercambios de stack, primero eche un vistazo y asegúrese de escribir su pregunta para que no parezca demasiado fuera de tema para ese sitio.

Buena suerte, parece que el mosaico está en todas partes!