Baixa qualidade de imagem dos arquivos de pirâmide raster no ArcGIS Desktop (sem suavização de serrilhado)?

8

Existem vários arquivos GeoTIFF (tamanho ~ 7000x7000 px) que eu tento abrir no ArcGIS Desktop 10.0. Eu já criei pirâmides de varredura para eles (arquivos .ovr) usando a ferramenta de geoprocessamento, mas sua qualidade é bastante ruim (redimensionamento de 0,25):

pequeno exemplo

Cada arquivo GeoTIFF possui muitos detalhes finos - atualmente, o desenho em CAD é salvo na varredura. Tentei fazer o redimensionamento manual para o GeoTIFF no visualizador de imagens gratuito e usei resample + anti-aliasing. O resultado parece ótimo (redimensionamento de 0,25):

pequeno exemplo

Os métodos padrão de reamostragem (no ArcGIS 10.0) que eu usei para criar pirâmides não me deram nenhum bom resultado. Eu também tentei ver a imagem sem pirâmides - a mesma coisa.

Tentei criar esse arquivo pirâmide (.ovr) usando a biblioteca GDAL (GDALDataset.BuildOverview). Mas o GDAL também não é capaz de usar anti-aliasing ao gerar arquivos OVR.

Outra maneira é gerar o arquivo OVR manualmente. Eu tentei encontrar qualquer biblioteca para criar o arquivo OVR. Nada. Logo percebi que o OVR é realmente um arquivo TIFF de várias páginas. Quando criei o arquivo OVR manualmente no editor de imagens (como TIFF de várias páginas), renomeei e tentei usá-lo no ArcGIS - vi uma tela preta com alguma distorção. Pode haver algum problema com a paleta de cores. Também não encontrei nenhuma especificação OVR.

Alguém sabe que existe a possibilidade de gerar esses arquivos pirâmides usando anti-aliasing para melhorar a qualidade da imagem? Pode haver links para a especificação ou bibliotecas OVR?

EDIT1:

Aqui está parte do raster que pode ser usado como exemplo (tente construir pirâmides no ArcGIS).

EDIT2:

Para responder completamente a comentários sobre a alteração do método de reamostragem ao construir pirâmides, tentei todos os métodos no ArcGIS. Abri cada arquivo ovr como tiff de várias páginas e peguei um nível de pirâmide e salvei-o em um arquivo separado. Em seguida, ralei novamente a mesma imagem de origem no visualizador de freeware (IrfanViewer) para o mesmo tamanho (nível de pirâmide). A imagem de origem tem tamanho 5001 x 3361 px. O nível da pirâmide tem tamanho 313 x 210 px. Então, a imagem foi reduzida em 16 vezes. Aqui estão os meus resultados:

  • Método de reamostragem mais próximo (do arquivo pirâmide):

exemplo mais próximo

  • Método de reamostragem bilinear (do arquivo pirâmide):

exemplo bilinear

  • Método de reamostragem cúbica (do arquivo pirâmide):

exemplo cúbico

  • Nova amostra com anti-aliasing no IrfanViewer para o mesmo tamanho:

exemplo anti-aliasing

EDIT3:

Eu estou fornecendo uma das minhas fonte georreferenciados rasters e seu exemplo resampled para mostrar a qualidade que eu estou tentando alcançar em pirâmides.

Alex Markov
fonte
Você pode postar a imagem para que outros possam experimentar?
Craig Williams
Não consigo postar a imagem inteira, mas adicionei um link a uma parte dela. Espero que seja suficiente. Tente redimensioná-lo x0.25 com e sem suavização de serrilhado em qualquer visualizador de imagens e você verá a diferença e o resultado que estou tentando obter para pirâmides.
Alex-Markov #
Acho que você terá que repassar a imagem ou parte dela em seu formato original, pois um arquivo JPG não geoferenciado não funcionará da mesma forma que um arquivo TIFF georreferenciado. Você pode recortar e compactar o arquivo TIF original?
blah238
Pergunta boba: você tem os desenhos CAD originais? Se sim, em que formato?
Mike T
Esses arquivos ainda não foram georreferenciados. Como as informações georreferenciadas podem afetar o processo de construção de pirâmides? Parece que cada nível da pirâmide é simplesmente redimensionado x0,5 do nível anterior (ou imagem de origem do primeiro nível). Mas não tenho 100% de certeza. Você tem algum link para uma descrição mais detalhada? Vou tentar encontrar raster georreferenciado ...
Alex Markov

Respostas:

3

Eu lidei com isso há muito tempo, a única solução alternativa que encontrei utilizava mais espaço, mas parecia boa. Tente o seguinte:

  1. Converter de 8 bits para 24 bits: gdal_translate -expand rgb
  2. Adicionar sobreposições: gdaladdo -r average_magphase -clean -ro FR_102-132.tif 2 4 6 8 16

Deve haver caixas de ferramentas para obter os mesmos resultados no mundo da ESRI.

Greg Barrett
fonte
Obrigado Greg! Este é o melhor resultado que obtive usando as ferramentas gis. Parece muito melhor do que meus resultados anteriores. Vou experimentar ainda mais métodos diferentes.
Alex Markov
2

Tente definir explicitamente o método de reamostragem da pirâmide para interpolação bilinear ou convolução cúbica.

blah238
fonte
Eu já tentei todos os métodos disponíveis de reamostragem para construir pirâmides - o resultado está muito próximo da primeira imagem.
21412 Alex Markov
Talvez não seja um problema para as pirâmides - tente definir o método de reamostragem da camada para bilinear ou cúbico na guia Exibir das propriedades.
blah238
Tentei definir o método de reamostragem da camada para bilinear e cúbico na guia Exibir. Os melhores resultados são bilineares, mas o anti-aliasing fornece resultados muito mais melhores, especialmente quando a imagem de origem tem largura / altura> 4000px. Eu adicionei mais exemplos de comparação à minha pergunta.
Alex Markov
O que acontece se você não criar pirâmides e especificar reamostragem bilinear nas propriedades de exibição da camada?
blah238
Mesma coisa. Parece um pouco melhor, mas longe do último exemplo da minha pergunta (anti-aliasing no IrfanViewer). Eu tentei todas as combinações possíveis: com / sem pirâmides + diferentes métodos de reamostragem.
Alex Markov
1

Eu lidei com esse mesmo problema no ArcGIS por meses e acho que finalmente descobri: o ArcGIS permitirá que você selecione um determinado método de reamostragem, mas pode ignorá-lo!

Testando com a amostra que você forneceu, encontrei a mesma criação feia de pirâmide que você encontrou no início. Eu escolhi a criação da pirâmide bilinear, mas quando abri as propriedades da imagem no ArcCatalog, descobri que as pirâmides eram realmente criadas como vizinhas mais próximas, contra os meus desejos.

O ArcGIS criou essas pirâmides apesar de selecionar a reamostragem bilinear

Usando essa discussão, eu estava tentando criar pirâmides bonitas por meio do GDAL, mas estava tendo problemas para fazer com que os formatos de arquivo fossem transferidos corretamente entre o GDAL e o ArcGIS. Nesse processo, descobri algo. Vou explicar com o processo passo a passo ...

  1. Importe a varredura para um arquivo (em vez de para um geodatabase) e permita que o ArcGIS crie as pirâmides. Provavelmente usará o vizinho mais próximo, independentemente da sua seleção (testada na caixa de ferramentas e no arcpy).
  2. Na pasta em que a varredura está armazenada, exclua os arquivos .ovr e .aux. Esses são os arquivos reais da pirâmide.
  3. Abra o ArcMap e adicione a varredura ao seu DataFrame. Ele solicita uma caixa de diálogo diferente, solicitando a geração de pirâmides. A criação das pirâmides por meio desse diálogo honra a seleção do método de reamostragem.

insira a descrição da imagem aqui

Após excluir os arquivos .ova e .aux, o ArcGIS criou corretamente essas pirâmides

Ao fazer alguns testes, percebo que isso é um pouco diferente do problema que você está tendo, mas talvez você esteja enfrentando isso sem perceber. Não encontrei nenhuma outra discussão on-line sobre a má qualidade da pirâmide raster e definitivamente experimentei e resolvi alguns desses problemas. FWIW, tive uma qualidade muito melhor na imagem aérea com reamostragem bilinear do que com reamostragem cúbica.

Aqui está a cópia redimensionada pelo GIMP da mesma imagem de amostra, redimensionada com o resmapling linear: O GIMP ainda supera o ArcGIS na qualidade da imagem

dmsnell
fonte