Podemos medir o tamanho de um objeto usando dados EXIF ​​de uma foto?

7

Muitas pessoas perguntaram se podemos medir a distância de um objeto na foto. Mas eu queria saber se podemos medir o tamanho de um objeto na foto. Obviamente, assumindo que sabemos tudo, desde o tamanho do sensor até a altura do fotógrafo, etc.

Exemplo: Se eu tirar uma foto de um pássaro em voo com apenas o céu como pano de fundo, não haverá objetos no quadro para dar uma idéia do tamanho do pássaro. Então, se eu pudesse calcular o tamanho para um nível aproximado, seria muito bom saber.

Sudarshan Kadam
fonte

Respostas:

6

Nunca seria mais do que uma estimativa, sem alguma referência externa ou distância precisa do assunto. Se você calculou a distância do objeto, o FOV (/ comprimento da lente) e o tamanho do sensor, não é muito difícil calcular. A maior incerteza seria a distância para o assunto.

Para encontrar a resolução espacial (quão grande ( largo ou alto ) um pixel está no assunto) use:

(distância * (tamanho do sensor / distância focal)) / número de pixels

Verifique se o tamanho do sensor e a distância focal estão usando a mesma escala (ambos em milímetros ou polegadas).

Em seguida, você pode contar o número de pixels para o assunto e multiplicá-lo pela resolução espacial de um pixel.

Estou assumindo uma mudança linear no FOV em toda a área da lente, que não é 100% precisa, mas muito próxima para lentes normais e mais longas.

Håkon K. Olafsen
fonte
4
Pena que não temos o LaTeX-math trabalhando aqui na foto.
Håkon K. Olafsen
A equação está errada. Por que 2x? Você está calculando uma área, portanto, ela é ao quadrado. Deve ser a distância ^ 2. Veja photo.stackexchange.com/a/12437/7292
Rado
Oh .. e a distância focal também deve ser quadrado
Rado
@ HåkonK.Olafsen: Observe: sensor_x / comprimento_ focal = imagem_x / distância; sensor_y / comprimento_ focal = imagem_y / distância (a distância é calculada a partir do ponto focal). Considerando um pixel quadrado, você pode pegar qualquer um destes e obter: picture_x = distance * sensor_x / focal_length. Divida-o pela contagem de pixels horizontal pixel_cnt_x que você obtém: distance (sensor_x / focal_length) / pixel_cnt_x. Esta é a resolução espacial horizontal. O multiplicador "2x" não está correto. Se você tiver pixels não quadrados, precisará fazer as contas para as resoluções horizontal e vertical.
TFuto
2

Minha câmera armazena a distância do foco na imagem. Com isso, você sabe a que distância seu pássaro estava. Não será muito difícil calcular o tamanho do pássaro. Por exemplo, você pode tirar um objeto de tamanho conhecido e tirar uma foto com a mesma lente da mesma distância e comparar o tamanho desse objeto na imagem, com o tamanho do pássaro na imagem.

Rene
fonte
11
Que câmera é essa?
Ysap
É uma Nikon D300
Rene
11
Mas a distância do foco não atinge apenas cerca de 3m e depois se torna infinito? Quando uso o firmware Magic Lantern na minha Canon 550D, pelo menos.
SAARU Lindestøkke
11
Eu ficaria desconfiado de confiar na distância fornecida pela câmera em qualquer coisa que se aproximasse remotamente de uma distância de foco do infinito, pois o menor erro de calibração produziria erros que poderiam ser várias ordens de magnitude da distância fornecida.
Michael C
@BartArondson Depende da distância focal da lente. Uma distância focal mais longa, como frequentemente usada quando se observa pássaros, focalizará muito mais antes de atingir ∞ do que uma lente grande angular. É por isso que a última medida anterior ∞ para escalas de distância em lentes WA geralmente é de apenas cerca de 1 metro, mas uma lente telefoto longa terá uma marcação de mais de 50 metros ou até 100 metros logo antes da marca..
Michael C
1

a resposta geral é: Sim e Não, se você adicionar informações suficientes além das informações EXIF, isso poderá ser feito, se você não adicionar informações suficientes, então não, torna-se uma estimativa, essas informações são um cálculo extremamente complexo da perspectiva do objeto, mas também usando isso para voltar ao formato e ângulo do porta-retratos, uma medida exata do olho ou do centro do porta-retratos da pessoa (em elevação do solo) e, então, conhecimento do terreno exato elevações da superfície entre você e o objeto. e ainda mais cálculos além disso.

Uma etapa importante que as outras respostas estão deixando de fora é que você deve usar os dados da foto para encontrar os ângulos de perspectiva das linhas horizontais e verticais no objeto de que é sua foto (o que realmente pode ser feito, mas é extremamente cálculo complexo) e ainda mais complexo se, por exemplo, no exemplo de OP de poucos objetos na foto para trabalhar, no entanto, ainda pode ser feito, por exemplo, neste caso, se o objeto não estiver "nivelado" no chão , as informações de altura também são necessárias. No exemplo do OP, muitas dessas informações provavelmente são deixadas de fora / ou desconhecidas; portanto, uma resposta pode ser Não nesse caso de exemplo. Mas, para ficar claro, a premissa da pergunta é factível, se essas informações extras forem conhecidas, e muitas vezes forem conhecidas, ou se for possível fazer estimativas dessas informações.

Para resumir como (em geral) isso pode ser feito: é preciso uma medição exata das mudanças de altitude da superfície do solo entre você e o objeto (há mais do que apenas uma frase).

você precisará de uma dimensão exata do chão até o centro do olho ou o centro do quadro de imagem que a câmera está produzindo; esse quadro de imagem pode ser calculado a partir das informações EXIF, mas a inclinação exata do quadro de imagem (câmera) em relação ao objeto precisa ser calculado a partir dessa informação de perspectiva mencionada anteriormente. E no caso do exemplo do OP, é necessária a altura do objeto fora do chão (ou a projeção desse objeto de volta ao chão)

para mostrar que isso pode ser feito em uma foto de exemplo mais geral, um aplicativo que faz tudo isso está abaixo: (exceto pelo uso de estimativas para o centro do olho e por um cálculo complexo de elevs da superfície do solo, que também se torna uma "estimativa" )

portanto, como ele usa estimativas, é necessário conhecer uma dimensão do objeto para corrigir a saída final do aplicativo. mas isso é muito melhor do que ter que levar uma fita métrica para tudo no objeto. Para ficar claro, se o aplicativo tivesse a dimensão exata do olho ou centro da moldura da imagem e um perfil da superfície do solo fosse alterado, ele nem precisaria dessa "uma dimensão conhecida". portanto, nesse caso, a resposta para a pergunta do OP seria Sim.

a saída final é uma "elevação" corrigida em perspectiva do objeto, e mesmo com dimensões automáticas. (observe que esta imagem foi corrigida em perspectiva, de modo que todas as verticais são verticais, horizontais e horizontais e isso é feito automaticamente, sem a entrada do usuário). , que é usado para encontrar o ângulo (inclinação da guinada etc.) do quadro da imagem. (como a câmera estava sentada no momento da foto) é necessário enfatizar que os outros comentários foram deixados de fora. No caso de um "pássaro", como no exemplo do OP, será praticamente deixado alto e seco para esses dados necessários, mas em muitas situações isso pode ser resolvido. Por exemplo, este exemplo abaixo.

insira a descrição da imagem aqui

http://www.pictureenginecompany.com/MeasureEngine/MeasureEngine.html

hokkuk
fonte
Não acho que isso responda à pergunta. Este aplicativo apenas calcula comprimentos relativos de coisas quando um comprimento é conhecido. A questão refere-se a trabalhar para fora o tamanho de algo, como um pássaro, do EXIF informação de tipo tais como o comprimento focal, a distância do foco etc.
MikeW
Mencionei como calcular o tamanho de algo nos comentários e mencionei que esse aplicativo faz isso, mas usa "estimativas" para algumas dessas importantes informações que os comentários chamam a atenção ... e por que o aplicativo precisa de "um comprimento conhecido" para corrigir devido às "estimativas" usadas, se você tiver informações exatas nessas áreas-chave, conforme mencionado nos comentários, esse aplicativo não precisaria do "comprimento único conhecido" e também faz várias das etapas necessárias, incluindo as que os outros comentários deixaram de fora, como trabalhar para trás para encontrar a inclinação e a guinada do quadro da imagem.
Hokkuk