Remover colar do arquivo ECW (Orthophoto Mosaic)

9

Talvez eu esteja perdendo um conceito básico quando se trata de manipular / remover valores de um mosaico de ortofotografia RGB. É possível eliminar completamente o colar (fundo preto) de um mosaico de ortofoto que está no formato ECW. Consegui fazer isso em um formato TIFF, mas o arquivo precisa estar em um formato ECW, pois é muito grande. Eu tive sucesso limitado, usando o FME, para fazer isso, mas o arquivo resultante sempre tem áreas que não são removidas. Espero que tudo isso faça sentido.

Estou aberto a outros formatos que funcionarão, mas desde que funcionem no mesmo nível que um ECW.

Eu tenho acesso ao FME e ao ArcInfo.

dchaboya
fonte
Eu estou tentando fazer o mesmo. Substituindo o colar em torno de um arquivo .ECW. Kan, você me envia a bancada do FME. Obrigado,
Cecília

Respostas:

8

Essa é uma limitação das versões anteriores (<= 3,3) do formato ECW que não suportam valores NoData ou transparência Alpha. A compressão com perdas torna ainda mais difícil remover os colarinhos, pois os valores de preto não são exatamente RGB 0,0,0, mas variam.

Para se livrar da coleira, você precisará mascarar / recortar a coleira e converter a imagem em outro formato compatível com valores NoData, bandas de máscara ou transparência Alfa. Você pode usar ECWs compactados usando a versão 4 ou posterior do ERDAS ECW / JP2 SDK, JPEG2000 ou Geotiff.

Existem algumas maneiras de remover a coleira: costumo desenhar um polígono em torno dos "bons" dados e recortá-los ou usar o utilitário nearblack GDAL .

user2856
fonte
Obrigado pela resposta. Sim, o problema é que o preto, bem ... não é tão preto, mas varia de 0 a 6 (no meu caso). Eu tentei o JPEG2000 e, embora os tamanhos de compressão sejam semelhantes, o desempenho da renderização é muito superior ao formato ECW. O MrSID não suporta dados?
precisa saber é o seguinte
O MrSID tem o mesmo problema com a versão do formato (GEN3) suportada pelo ArcGIS 10.0, embora o MrSID GEN4 suporte bandas alfa. De acordo com este segmento , o suporte ao MrSID GEN4 está direcionado para a versão do ArcGIS 10.1.
precisa saber é o seguinte
O utilitário GDAL nearblack é exatamente o caso em que a borda não é perfeitamente preta. Com a cor c1, c2, c3 ... cn: (GDAL> = 1.9.0), é possível procurar pixels perto da cor especificada.
markusN
Vou tentar o utilitário nearblack. Portanto, parece que todos os formatos de compactação com perda não suportam nodata. Alguém pode explicar brevemente por que as compressões com perdas não são capazes de suportar nodata.
dchaboya
A transparência da banda alfa da ECW foi introduzida no SDK v4 (2009). O ArcGIS 10.2+ e o QGIS 2.2+ oferecem suporte para leitura (fonte: blog.hexagongeospatial.com/help-ecw-speckled-edges , que tem uma boa explicação da diferença entre os Nodata Pixels e o Alpha Channel). Eu não sei escrever.
Matt Wilkie
5

A ECW desde 2010 oferece suporte à transparência alfa, que remove o que você chama de "colares". Essa é uma limitação herdada apenas nos arquivos ECW v3.

Os arquivos ECW v4 são gravados automaticamente por todos os softwares ERDAS com a etiqueta 2010 e acima, que incluem o Imagine e o ERMapper. Os produtos de terceiros que usam o SDK da v4 podem oferecer suporte à gravação ou, certamente, à leitura desta versão do arquivo (a leitura é fornecida gratuitamente para aplicativos de desktop). Não sei de antemão se o FME 2012 atualizou seu suporte à ECW

Nota: As versões no formato ECW são compatíveis com versões anteriores. Se você tiver um arquivo ECW v4 com uma banda alfa definida, mas estiver lendo com um aplicativo usando o SDK da v3, a banda adicional será simplesmente ignorada. Consulte o site erdas.com para obter alguns plugins ECW gratuitos, especificamente para sua licença ArcInfo que adicionará suporte ao ECW v4

Infelizmente, a prevalência de compressores v3 significa que muitas pessoas assumem que as limitações permanecem e são de alguma forma uma limitação dos formatos de wavelet. Isso certamente não é verdade

Referências,

Chris Tweedie
fonte
2

Existem maneiras de manipular o FME 2012 para remover o colar. É um processo complicado e demais para digitar aqui. Uma maneira rápida de mostrar como isso pode ser feito é usar o RasterExpressionEvaluator e a expressão

if(A[0]<$(MAXPIXVALUE)&&A[1]<$(MAXPIXVALUE)&&A[2]<$(MAXPIXVALUE),0,A[0]);if(A[0]<$(MAXPIXVALUE)&&A[1]<$(MAXPIXVALUE)&&A[2]<$(MAXPIXVALUE),0,A[1]);if(A[0]<$(MAXPIXVALUE)&&A[1]<$(MAXPIXVALUE)&&A[2]<$(MAXPIXVALUE),0,A[2])

Onde MAXPIXVALUE é um parâmetro do usuário definido como o valor máximo de pixle para ser considerado preto. No meu caso, era por volta de 8. A expressão pesquisa cada pixel e banda. Se qualquer banda tiver um valor menor que o MAXPIXVALUE especificado, considerará que a célula não possui dados. Se o valor do pixel for 9,8,8, ele deixará o pixel como está porque uma banda é maior que o valor especificado.

No meu cenário, usei a expressão para criar um arquivo shapefile que se encaixasse exatamente nas imagens e prendi os ecws originais ao shapefile criado pela expressão.

Zack Gilbert
fonte
Excelente. Nos vamos dar uma chance a isso. Suspeito que essa operação levará algum tempo para ser concluída em um grande conjunto de dados.
Dchaboya 30/10/12
Sim. Muito mesmo. Meus conjuntos de dados são executados de 2 a 2000 ecws e o ambiente de trabalho é executado em média de 2 a 48 horas.
Zack Gilbert
Estou recebendo um erro ao tentar executá-lo (provavelmente não o configurando corretamente). Então substituí MAXPIXVALUE pelo valor máximo que quero substituir, assim (2). Agora, não sei como usar as portas. Alguma sugestão?
Dchaboya 30/10/12
Não tenho certeza. Eu precisaria olhar para a bancada e ver. Envie-me por email seu ambiente de trabalho com o arquivo de log da última vez em que você o executou. Vou ver o que posso fazer com isso.
Zack Gilbert