Comment calculer le FOV en degrés à partir de la distance focale ou de la distance?

11

Comment calculer le champ de vision (ou l'angle de vue) en degrés à partir des détails suivants:

  1. taille du capteur (par exemple, 1 ")
  2. distance à la cible (par exemple, 7 pieds)
  3. distance focale (par exemple, 30 mm)

J'ai trouvé des calculatrices pour ça ici et ici , mais comment ça marche?

Victor Mehta
la source
Comme l'a souligné David, (2) n'est pas pertinent.
Unapiedra
@Unapiedra Mais, voyez les calculatrices - beaucoup fournissent des champs de saisie et peuvent revenir en arrière.
Veuillez lire mon profil le
@mattdm, choisir les données données et les utiliser est trivial sur le papier. Si vous ou OP voulez savoir comment faire cela sur une page Web, StackOverflow serait l'endroit idéal pour demander.
Unapiedra
En général, deux des trois détails de la question suffisent. Ma réponse concerne un cas mais les autres cas peuvent être déterminés tout aussi facilement à partir du modèle.
Unapiedra
Votre réponse est bonne, et je pense qu'elle couvre ce que Victor recherche, sauf que je pense que plutôt que de déclarer la partie "non pertinente", il pourrait être plus agréable d'expliquer comment cela s'intègre. Et je ne pense pas que ce soit une question de programmation Web , juste un sur les calculs.
Veuillez lire mon profil le

Réponses:

13

Les calculatrices que vous avez publiées concernent des lentilles rectilignes assez standard. Cela signifie que vous pouvez utiliser le modèle de caméra à sténopé pour calculer les informations.

Ce graphique montre assez bien ce qui se passe: Modèle de caméra sténopé dans un seul plan

Sur l'axe horizontal, vous voyez f. Il s'agit de la distance focale de l'objectif. Ensuite, la flèche étiquetée Y1 est le plan d'image (où se trouve le capteur). Si le capteur a la moitié de la taille y1, l'angle de la ligne verte avec l'horizontale est la moitié de votre champ de vision .

La géométrie de base peut vous donner le FOV: FOV = 2 * arctan(y1 / f)

Attention à deux choses:

  1. Unités.
  2. y1est la demi-taille de votre capteur. Si vous avez un capteur de 1 ", la demi-taille serait de 8 mm (comme le souligne mattdm dans les commentaires), et votre calcul vous donnerait le FOV le long de la diagonale du capteur. Si vous le souhaitez le long de l' horizontale , alors vous besoin de calculer la largeur du capteur et de l'utiliser comme valeur pour y1.
Unapiedra
la source
2
Gardez également à l'esprit que ce qui est étiqueté comme un capteur de 1 "mesure environ 16 mm de diagonale, beaucoup plus petit qu'un pouce. Voir Comment se fait-il qu'un capteur de 1" mesure 13,2 x 8,8 mm?
Veuillez lire mon profil le
2

# 2 ne devrait pas avoir d'importance, sauf pour un éventuel ajustement mineur pour le changement de champ de vision avec la mise au point, mais le rapport d'aspect aura un impact. Vous pouvez également spécifier si vous recherchez un champ de vision horizontal ou diagonal

Si j'avais l'objectif, j'irais simplement dans la basse technologie et prendrais une photo avec un objet d'une taille connue. Cela tiendra également compte de tout autre facteur pouvant être en jeu. Par exemple, un objectif comme un objectif fisheye peut avoir un certain FOV sur un capteur plein format, mais si vous avez un capteur plus petit, vous ne pourrez peut-être pas calculer facilement le FOV avec une formule simple en raison de la distorsion de l'objectif.

David Goldwasser
la source
Il veut savoir comment fonctionnent les calculatrices, qui ne prennent clairement pas en photo un objet connu.
Unapiedra