Se eu fotografasse um moinho de vento no horizonte - já que sei o tamanho do sensor e a distância focal da lente e outros fatores relacionados à foto - eu poderia calcular a que distância um objeto está do fotógrafo?
Se eu fotografasse um moinho de vento no horizonte - já que sei o tamanho do sensor e a distância focal da lente e outros fatores relacionados à foto - eu poderia calcular a que distância um objeto está do fotógrafo?
Respostas:
O único outro fator que você precisa é a altura do objeto na vida real (caso contrário, você poderia estar fotografando um modelo muito mais próximo da câmera).
A matemática não é tão complexa, a proporção entre o tamanho do objeto no sensor e o tamanho do objeto na vida real é igual à proporção entre a distância focal e a distância do objeto.
Para calcular o tamanho do objeto no sensor, calcule a altura em pixels, divida pela altura da imagem em pixels e multiplique pela altura física do sensor.
Portanto, a soma total é:
Vamos sanidade verificar esta equação.
Se mantivermos todo o resto constante e aumentarmos a distância focal, a distância aumentará (como a distância focal está no numerador). Isso é o que você esperaria: se você precisar ampliar a lente para fazer com que um objeto seja do tamanho de outro objeto de tamanho igual, o primeiro objeto deve estar mais distante.
Se mantivermos todo o resto constante e aumentarmos a altura real do objeto, novamente a distância aumentará como se dois objetos de diferentes alturas reais aparecessem a mesma altura na imagem, o mais alto deve estar mais distante.
Se mantivermos todo o resto constante e aumentarmos a altura da imagem, a distância aumentará, como se dois objetos (do mesmo tamanho, lembre-se de manter todo o resto constante) pareçam o mesmo tamanho de pixel em uma imagem cortada e não cortada, e então o objeto na imagem não cortada deve estar mais distante.
Se mantivermos todo o resto constante e aumentarmos a altura do objeto em pixels, a distância diminuirá (estamos no denominador agora): dois objetos de tamanho igual, um ocupa mais pixels e deve estar mais próximo.
Finalmente, se mantivermos todo o resto constante e aumentarmos o tamanho do sensor, a distância diminuirá: dois objetos de tamanho igual terão a mesma altura em pixels quando fotografados com um compacto (sensor pequeno, onde 20 mm é uma lente longa) e fotografados com uma DSLR (sensor grande onde 20 mm é uma lente grande), o objeto na imagem DSLR deve estar mais distante (porque parecia o mesmo tamanho, mas com uma lente grande).
Conforme observado em @ matt-grum, a fórmula mais simples para estimar a distância do objeto é a fórmula de projeção :
onde x é o tamanho do objeto no sensor, f é a distância focal da lente, X é o tamanho do objeto ed é a distância do ponto nodal ao objeto. x e f , e X e d são medidos nas mesmas unidades, por exemplo, mm e m respetively (para calcular x você precisa para estimar o tamanho do pixel para o seu sensor, por exemplo, para Pentax K20D é 23,4 mm / 4672 px ≈ 5,008e-3 mm / px, ou seja, uma imagem com 100 px de comprimento corresponde a x = 50,08e-3 mm).
A seguir, assumo que o tamanho do objeto ( X ) é desconhecido e os únicos parâmetros conhecidos são x (tamanho da imagem) ef (distância focal).
O problema é que não podemos distinguir de uma foto se é um objeto pequeno muito próximo da câmera ou um objeto grande distante, porque a profundidade de campo nas fotos de paisagens geralmente é muito grande (e é por isso que a fórmula de pinhole é aplicável).
Para resolver esse problema, podemos usar duas ou mais imagens para medir a distância. Desde que você possa medir todos os ângulos e distâncias entre duas posições da câmera, também é possível calcular a distância do objeto remoto. Mas medir todos os ângulos não é uma tarefa fácil.
Uma abordagem mais fácil é tirar duas fotos que permanecem na mesma linha do objeto, com o objeto no centro da imagem. Deixe a distância do objeto na primeira foto ser d₁ e o tamanho da imagem seja x₁ :
Então se mover a câmera s metros diretamente para o objeto, em seguida, na segunda foto temos tamanho da imagem x₂ ligeiramente maior do que símbolos X- :
( nota : o denominador na próxima expressão está incorreto; em vez de "d1", ele deve ser "d2" ou equivalente "d1-s")
O que nos dá
Evidentemente, se s não for grande o suficiente para afetar significativamente o tamanho da imagem, você não poderá estimar a distância com segurança e precisará usar métodos mais complicados. Quanto maior a diferença x₂ - x₁ , melhor.
Eu sei que é um tópico antigo, mas essa pergunta parece surgir de vez em quando. FWIW, adicionei uma calculadora para calcular a distância de um objeto em uma imagem.
http://www.scantips.com/lights/subjectdistance.html
Você ainda precisará conhecer seus valores para fazê-lo funcionar, um dos quais é a altura real aproximada do objeto. Discutido lá.
Em vez de tentar usar fórmulas se você investigar os métodos náuticos de estimativa de distâncias, que envolvem algumas "regras práticas" básicas, por exemplo, se você estiver em um pé acima da altura da água, você fica a 3 milhas náuticas do horizonte, se você segurar o polegar em com os braços estendidos, o objeto que você olha é coberto, mede 100 pés de altura (eu acho). Eu esqueci a maioria deles, já que não os uso mais, mas eles funcionam, e uma vez aprendidos e usados regularmente são notavelmente precisos.
Resposta simples - não. Você tem duas variáveis e apenas uma equação.