iPhone SDK - Kamera-Sichtfeld (FOV) berechnen / berechnen (Augmented Reality)

8

Gibt es eine Möglichkeit, das Sichtfeld (Field of View, FOV) einer iPhone-Kamera durch Aufrufe der APIs herauszufinden oder zu berechnen? Oder ist es etwas, das Sie physisch und manuell für sich selbst herausfinden müssen?

Wenn es nicht mit den APIs abgerufen oder berechnet werden kann, sondern stattdessen in einer App fest codiert werden muss, was ist dann der beste Weg, um herauszufinden, auf welcher Art von Gerät eine App läuft? Verschiedene Geräte haben ein unterschiedliches FOV (iPhone 4 hat ein größeres FOV als frühere Versionen). Wie groß sind die FOVs jedes Geräts genau?

Ich frage, weil ich darüber nachdenke, eine Augmented-Reality-App zu machen, und das FOV zu kennen, ist essentiell.

    
quano 04.09.2010, 16:21
quelle

4 Antworten

4

Ich habe ein Foto von einem Stück Papier gemacht, das ich aus einer Entfernung gemessen habe, die ich auch gemessen habe. Ich schaute dann auf das Verhältnis der Größe des Blattes Papier zu seinem Bild auf dem Foto.

Meine Werte lagen bei 56 cm. Sie können ein Objekt, das ungefähr 40 cm x 60 cm groß ist, vollständig fotografieren (d. h., dass es genau die Bildschirmgröße einnimmt)

Mit dem habe ich eine einfache Triggerung gemacht und bin angekommen: Vertikales Sichtfeld: 2 * atan (58,5 / 2 / 56,5) - & gt; ~ 55 Grad Horizontales Sichtfeld: 2 * atan (21,5 / 2 / 56,5) - & gt; 42 Grad

    
twerdster 05.10.2010 10:58
quelle
2

Diese Antwort verwendet etwas Mathematik und Kamera-Informationen, um einen Wert zu bestimmen.

Mit Blick auf ARKit werden die Werte für .7392 Radianten (42,35 Grad) festgeschrieben. Als ich AR untersuchte, hielt ich einfach die Telefonkamera hoch und ordnete die Ränder mit einigen Orientierungspunkten an und maß dann den Winkel. Meine Schätzung auf einem 3GS war 48 Grad im Querformat und 39 Grad im Hochformat. Meine Schätzung auf einem iPhone 4 ist 58 im Querformat und 48 Grad im Hochformat.

Bei der Suche im Internet scheint es sehr unterschiedliche Ansprüche zu geben. Dies könnte durch Menschen mit verschiedenen Modellen des Telefons erklärt werden. Ich habe von Apple keine offizielle Informationsquelle zu diesem Thema gefunden.

Wenn ich das noch einmal machen würde, würde ich mir die verschiedenen Telefonmodelle ausleihen und ein System verwenden, um am Horizont zu messen. Nichts kann harte Zahlen schlagen, die du selbst gemessen hast.

Meine Methode zur Schätzung ist wie folgt: Stellen Sie sich 10 Fuß von einer Wand und sehen Sie sich das Bild auf dem Bildschirm an. Notieren Sie die Punkte an der Wand links und rechts des Bildes und messen Sie die Entfernung. Verwenden Sie dann die Trigonometrie, um den Winkel zu berechnen. Wenn a der Abstand von der Wand und o die Länge entlang der Wand ist, dann tan (A) = (o / 2) / a, was der halbe Winkel ist.

UPDATE: Ich habe einige falsche Berechnungen korrigiert und das iPhone 4 hinzugefügt und wie ich es gemessen habe.

    
Jon Steinmetz 05.09.2010 16:43
quelle
1

Ich bekomme 47.1539 Grad in der langen Dimension auf einem iPhone 3gs.

    
Gene 19.07.2012 07:02
quelle
0

Sie können einfach fragen:

%Vor%

Denken Sie daran, das ist das horizontale FOV und nun, für Neulinge haben Sie das ARKit.

    
Rémy Blanc 18.09.2017 11:36
quelle