¿Mala calidad de imagen de los archivos de pirámide ráster en ArcGIS Desktop (sin suavizado)?

8

Hay varios archivos GeoTIFF (tamaño ~ 7000x7000 px) que intento abrir en ArcGIS Desktop 10.0. Ya he creado pirámides ráster para ellos (archivos .ovr) utilizando la herramienta de geoprocesamiento, pero su calidad es bastante mala (cambio de tamaño de 0.25):

pequeño ejemplo

Cada archivo GeoTIFF tiene muchos detalles delgados; en realidad, es un dibujo CAD guardado en un ráster. Intenté hacer un cambio de tamaño manual para GeoTIFF en el visor de imágenes gratuito y usé resample + anti-aliasing. El resultado se ve genial (0.25 cambiar el tamaño):

pequeño ejemplo

Los métodos de remuestreo estándar (en ArcGIS 10.0) que he usado para la creación de pirámides no me dieron ningún buen resultado. También intenté ver la imagen sin pirámides, lo mismo.

Luego intenté crear ese archivo piramidal (.ovr) usando la biblioteca GDAL (GDALDataset.BuildOverview). Pero GDAL tampoco es capaz de usar anti-aliasing al generar archivos OVR.

Otra forma es generar el archivo OVR manualmente. He intentado encontrar cualquier biblioteca para crear un archivo OVR. Nada. Pronto, me di cuenta de que OVR en realidad es un archivo TIFF de varias páginas. Cuando creé el archivo OVR manualmente en el editor de imágenes (como TIFF de varias páginas), cambié el nombre y traté de usarlo en ArcGIS. Vi una pantalla negra con cierta distorsión. Puede haber algún problema con la paleta de colores. Tampoco he encontrado ninguna especificación OVR.

¿Alguien sabe si hay alguna posibilidad de generar tales archivos piramidales usando anti-aliasing para mejorar la calidad de la imagen? ¿Puede haber algún enlace a la especificación OVR o libs?

EDITAR1:

Aquí hay parte del ráster que puede usarse como ejemplo (intente construir pirámides en ArcGIS).

EDIT2:

Para responder completamente a los comentarios sobre el cambio del método de remuestreo al construir pirámides, he probado todos los métodos en ArcGIS. Luego abrí cada archivo ovr como tiff multipágina y tomé un nivel de pirámide y lo guardé en un archivo separado. Luego, volví a muestrear la misma imagen de origen en el visor gratuito (IrfanViewer) al mismo tamaño (nivel de pirámide). La imagen de origen tiene un tamaño de 5001 x 3361 px. El nivel de la pirámide tiene un tamaño de 313 x 210 px. Entonces, la imagen se redujo en 16 veces. Aquí están mis resultados:

  • Método de remuestreo más cercano (del archivo piramidal):

ejemplo más cercano

  • Método de remuestreo bilineal (del archivo piramidal):

ejemplo bilineal

  • Método de remuestreo cúbico (del archivo piramidal):

ejemplo cúbico

  • Vuelva a muestrear con suavizado en IrfanViewer al mismo tamaño:

ejemplo anti-alias

EDITAR3:

Estoy proporcionando uno de mis rásteres georreferenciados de origen y su ejemplo muestreado para mostrar la calidad que estoy tratando de lograr en las pirámides.

Alex Markov
fuente
¿Puedes publicar la imagen para que otros puedan experimentar con ella?
Craig Williams
No puedo publicar toda la imagen, pero he agregado un enlace a alguna parte de ella. Espero que sea suficiente. Intente cambiar su tamaño x0.25 con y sin suavizado en cualquier visor de imágenes y verá la diferencia y el resultado que estoy tratando de lograr para las pirámides.
Alex Markov
Creo que tendrá que volver a publicar la imagen o parte de ella en su formato original, ya que un archivo JPG no geoferenciado no funcionará igual que un archivo TIFF georreferenciado. ¿Puedes recortar y comprimir el archivo TIF original?
blah238
Pregunta tonta: ¿tienes los dibujos CAD originales? Si es así, ¿en qué formato?
Mike T
Estos archivos aún no están georreferenciados. ¿Cómo la información de georreferencia puede afectar el proceso de construcción de pirámides? Parece que cada nivel de pirámide es simplemente cambiar el tamaño x0.5 del nivel anterior (o imagen de origen para el primer nivel). Pero no estoy 100% seguro. ¿Tienes algún enlace para una descripción más detallada? Trataré de encontrar una trama georeferenciada ...
Alex Markov

Respuestas:

3

Me ocupé de esto hace mucho tiempo, la única solución que encontré utilizaba más espacio pero se veía bien. Prueba esto:

  1. Convierte de 8 bits a 24 bits: gdal_translate -expand rgb
  2. Añadir superposiciones: gdaladdo -r average_magphase -clean -ro FR_102-132.tif 2 4 6 8 16

Debería haber cajas de herramientas para obtener los mismos resultados en el mundo de ESRI.

Greg Barrett
fuente
Gracias Greg! Este es el mejor resultado que obtuve usando las herramientas gis. Se ve mucho mejor que mis resultados anteriores. Seguiré experimentando con diferentes métodos.
Alex Markov
2

Intente establecer explícitamente su método de muestreo de pirámide en interpolación bilineal o convolución cúbica.

blah238
fuente
Ya he probado todos los métodos de muestreo disponibles para construir pirámides; el resultado está muy cerca de la primera imagen.
Alex Markov
Tal vez no sea un problema con las pirámides en absoluto: intente configurar el método de remuestreo de la capa en bilineal o cúbico en la pestaña Mostrar de las propiedades.
blah238
He intentado establecer el método de remuestreo de la capa en bilineal y cúbico en la pestaña Pantalla. Los mejores resultados ofrecen bilineal, pero el suavizado proporciona un resultado mucho mejor, especialmente cuando la imagen de origen tiene un ancho / alto> 4000px. He agregado más ejemplos de comparación a mi pregunta.
Alex Markov
¿Qué sucede si no crea pirámides y especifica el remuestreo bilineal en las propiedades de visualización de la capa?
blah238
La misma cosa. Se ve un poco mejor, pero lejos del último ejemplo en mi pregunta (anti-aliasing en IrfanViewer). He intentado todas las combinaciones posibles: con / sin pirámides + diferentes métodos de remuestreo.
Alex Markov
1

He tratado este mismo problema en ArcGIS durante meses y creo que finalmente lo he resuelto: ArcGIS le permitirá seleccionar un cierto método de remuestreo, ¡pero podría ignorarlo!

Al probar con la muestra que proporcionó, encontré la misma creación de pirámide fea que encontró antes. Elegí la creación de la pirámide bilineal, pero cuando abrí las propiedades de la imagen en ArcCatalog, descubrí que las pirámides en realidad se crearon como vecino más cercano en contra de mis deseos.

ArcGIS creó estas pirámides a pesar de seleccionar el remuestreo bilineal

Usando esta discusión, estaba tratando de crear pirámides atractivas a través de GDAL, pero tenía problemas para transferir correctamente los formatos de archivo entre GDAL y ArcGIS. En este proceso, descubrí algo. Explicaré con el proceso paso a paso ...

  1. Importe el ráster a un archivo (en lugar de a una geodatabase) y permita que ArcGIS cree las pirámides. Probablemente usará el vecino más cercano independientemente de su selección (probado a través de la caja de herramientas y arcpy).
  2. En la carpeta donde está almacenado el ráster, elimine los archivos .ovr y .aux. Estos son los archivos piramidales reales.
  3. Abra ArcMap y agregue el ráster a su DataFrame. Aparece con un diálogo diferente, solicitando generar pirámides. La creación de las pirámides a través de este diálogo honra la selección del método de remuestreo.

ingrese la descripción de la imagen aquí

Después de eliminar los archivos .ova y .aux, ArcGIS creó correctamente estas pirámides

Al hacer algunas pruebas, me doy cuenta de que esto es ligeramente diferente del problema que tienes, pero tal vez estás experimentando esto sin darte cuenta. No pude encontrar ninguna otra discusión en línea sobre la mala calidad de la pirámide ráster, y definitivamente he experimentado y resuelto algunos de esos problemas. FWIW, he tenido una calidad mucho mejor en imágenes aéreas con remuestreo bilineal que con remuestreo cúbico.

Aquí está la copia redimensionada por GIMP de esa misma imagen de muestra, redimensionada con reasignación lineal: GIMP aún supera a ArcGIS en calidad de imagen

dmsnell
fuente