Posso obter dados numéricos de um mapa de cores?

7

Na minha turma, muitas vezes preciso trabalhar com imagens de mapa de cores. Eu mostrava a imagem e tentava fazer inferências / observações sobre diferentes assuntos. Muitas vezes, eu realmente preciso quantificar alguns aspectos, mas é sempre muito aproximado e de alguma forma vago, porque as imagens são fornecidas "como estão" e eu não necessariamente conheço seu conteúdo a priori.

Vamos imaginar que estou trabalhando com duas imagens (*). É possível indicar que o computador "aprendeu" a barra da escala de cores para que eu possa clicar em qualquer ponto do mapa e obter o valor da altitude nesse ponto? A Imagem 1 é uma barra de escala de cores discreta, enquanto a Imagem 2 possui um mapeamento de cores contínuo. Incluí os dois exemplos porque talvez haja diferenças na abordagem de como fazer isso.

Então, existe um software / maneira de fazer isso? De preferência de código aberto. Eu tentei o ImageJ e não consegui encontrar uma solução decente.

Imagem 1:

Imagem 1

Imagem 2:

Imagem 2

Como você pode ver, a escala de cores faz parte da imagem em todos os casos.

(*) Não possuo nenhuma dessas imagens, apenas exemplos que encontrei on-line para ilustrar meu argumento.

terauser
fonte
Em que formato estão os dados. Se for um pdf "real", você pode ter sorte e pode extraí-lo facilmente.
El Burro 30/01
El Burro, o que você quer dizer com "dados"? A única entrada que tenho é a imagem jpg. Portanto, não é um PDF, nem real nem imaginário :)
terauser
2
Em python, você pode transformar um jpg em um ndarray. Você pode tentar extrair os valores de lá.
El Burro 30/01
11
Para adicionar ao El Burro, lembre-se de "pintar" (interpolar) o texto.
Emre
Obrigado. Eu esperava que houvesse softwares prontos para fazer isso. Eu sei que existem programas (e os usei) para digitalizar gráficos (por exemplo, um gráfico XY de um JPG): você clica no início e no final de cada eixo e insere os valores correspondentes. Depois, você clica em cada ponto de dados e o programa automaticamente fornece as coordenadas X, Y de cada ponto de dados. Eu esperava encontrar algo assim, isso faz sentido?
terauser

Respostas:

1

Talvez você possa tentar alguma solução alternativa (primeiro manualmente e depois por meio de programação):

  1. Converter em escala de cinza
  2. Criar mapa de densidade (digital)
  3. Trace = vectorize a imagem com qualquer Inkscape / Illustrator / etc ...
  4. Mapeie peças vetoriais com valores de mapa de densidade.

Você pode escrever o script js para o Adobe Illustrator (Gimp / provavelmente também) para automatizar algumas coisas. Não estou sugerindo gastar dinheiro, apenas brinque com a demonstração até encontrar a Solução Ideal .

Provavelmente, você também pode experimentar qualquer API on-line do Big4 ou de novos emergentes:

Existem também alguns comerciais com opções gratuitas, como imagga - "Inscreva-se gratuitamente: marque até 2000 imagens por mês"

Você pode experimentar a DEMO Vector Magic's Desktop edition $ 295,00 / licença A cobrança única permite formas de grupos por cor (infelizmente não oferecem preços especiais para instituições acadêmicas ou organizações sem fins lucrativos)

Você já experimentou o FreeMat COLORMAP - Image Colormap Function?

AndriuZ
fonte
0

Você pode usar algo como o Seletor de cores para encontrar manualmente os valores HTML, RGB ou HSV.

Brian Spiering
fonte