Pergunta

Tenho várias imagens em que conheço a distância focal, a contagem de pixels, as dimensões e a posição (do GPS). Eles são todos de maneira oblíqua, tomada no chão com câmeras disponíveis comercialmente.

ALT TEXTO http://desmond.yfrog.com/himg411/scaled.php?tn=0&server=411&filename=mjbm.jpg&xsize=640&ysize=640

Qual seria o melhor método para calcular as distâncias euclidianas entre certos pixels dentro de uma imagem? Se for realmente possível.

Foi útil?

Solução

Supondo que você não esteja procurando uma modelagem completa de paisagem, mas uma aproximação simples, isso não deve ser muito difícil. Basicamente, uma primeira aproximação da sua imagem se reduz a uma câmera com a distância focal conhecida ao longo de um avião. Portanto, podemos criar um modelo do sistema em 3D com muita facilidade - ele não está muito longe do observador clássico, olhando para uma demonstração do quadro de xadrez.

Normalmente, nosso problema gráfico seria projetar o modelo 3D em 2D para que pudéssemos renderizar a imagem. Embora a maioria dos programas atualmente use uma API (como o OpenGL) para fazer isso, as equações não são particularmente complexas ou difíceis de entender. Eu escrevi meu primeiro código usando os exemplos de Gráficos 3D em Pascal O que é um tratado claro agradável, mas haverá muitas outras fontes semelhantes (embora provavelmente menos hoje em dia, pois uma API de hardware é invariavelmente usada).

O que é útil sobre isso é que as equações de projeção são comutativas, pois se você tiver um ponto na imagem e no modelo, poderá executar os dados de volta, embora a projeção para recuperar as coordenadas 3D originais - que é o que você deseja fazer.

Então, algumas abordagens sugerem: escreva o código para fazer o acima diretamente, ou provavelmente mais simplesmente usar o OpenGL (eu recomendo o Glut Toolkit por esta). Se a sua matemática é boa e manipular matrizes não causa nenhum problema, eu recomendaria o primeiro, pois a solução será mais apertada e é uma coisa interessante - caso contrário, adote a abordagem do OpenGL. Você provavelmente gostaria de transformar a aproximação da câmera/avião em câmera/esfera bastante cedo também.

Se isso não for suficiente para suas necessidades, em teoria ir para a modelagem de paisagem real seria viável. o Srtm Os dados estão disponíveis gratuitamente (embora não nos formulários mais amigáveis), portanto, combinados com a posição do GPS, deve ser possível criar um modelo de malha no qual você aplique os mesmos algoritmos acima.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top