2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
With the advent of digital cameras with non-standard sensor sizes, there seems to be a lot of confusion about focal length, field of view, and digital multipliers, and how they relate to each other. This article aims to try to clear up some of the confusion.
NSDT tool recommendation: Three.js AI Texture Development Kit - YOLO Synthetic Data Generator - GLTF/GLB Online Editor - 3D model format online conversion - Programmable 3D scene editor - REVIT export 3D model plug-in - 3D Model Semantic Search Engine - Three.js Virtual Axis Development Kit - 3D model online reduction - STL model online cutting
First let's define a few terms:
From a photography perspective, what we are really most interested in is the field of view. If we want wide-angle shots, we need a wide field of view (e.g., 84 degrees horizontally). If we want "normal" shots, we need a "normal" field of view (e.g., 40 degrees horizontally), and if we want telephoto shots, we need a narrow field of view (e.g., 6.5 degrees horizontally).
Left: Fisheye Right: Converted from fisheye straight line
For those used to thinking in terms of a 35mm camera, these would correspond to lenses with focal lengths of 20mm, 50mm, and 300mm, respectively. However, for a 4x5 camera user, they would be thinking in terms of a wide angle 80mm lens, a 200mm standard lens, and a 1200mm telephoto lens.
So, the field of view is not defined by the focal length, but by the focal length and the format size. That's why when we talk about APS-C format DSLRs (with a sensor of about 15mm x 22mm), the wide angle lens is now 12.5mm, the standard lens is now 32mm, and the telephoto lens is now 188mm. Note that these numbers are the same as the 35mm number divided by the "1.6x digital multiplier" (or in this case, the "1.6x digital divider").
In photography, you will find two types of lenses.
The first is a rectilinear lens, which is a typical lens that renders all straight lines in the subject as straight lines in the image (see the image below). This is pretty much how our eyes see things, and it's exactly how a pinhole camera sees things. Rectilinear lenses are ideal for normal and telephoto use, but not for extreme wide angle use. In very wide angle lenses, objects near the edge of the frame will appear "stretched". It is also impossible to make a rectilinear lens with 180 degree (hemispherical) coverage. In fact, it is very difficult to make a rectilinear lens with more than 100 degrees of horizontal coverage.
The second type of lens is the fisheye lens. A fisheye lens renders straight lines that do not pass through the center of the frame as curved lines (although lines that pass through the center are still straight lines). Objects at the edge of the frame are not stretched, but they are distorted. It is easy to make a lens with 180 degrees of diagonal coverage (a "full frame fisheye lens"), or even a lens with a 180 degree horizontal, vertical, and diagonal field of view (a "circular frame fisheye lens") - although this results in a circular image with the rest of the frame dark.
Fisheye lenses were originally made for scientific use, as they can be used in astronomical and meteorological studies due to their hemispherical coverage, allowing them to image the entire sky in a single frame. The first "fisheye" cameras were pinhole cameras filled with water, but luckily technology has come up with more convenient ways to create fisheye images!
The diagram above shows a pinhole model for a rectilinear lens and a fisheye lens. In a fisheye lens, the wide angle light rays are bent more towards the center of the frame. To achieve this with a real lens, a very large, very curved negative front element must be used, as shown in the lens diagram below:
The field of view of a rectilinear lens focused at infinity can be calculated quite easily using simple trigonometry. The formula is:
FOV (rectilinear) = 2 * arctan (frame size/(focal length * 2))
Hereframe size
Refers to the size of the image frame in the FOV direction, so for 35mm (i.e. 24mm x 36mm), the frame size of the horizontal FOV is 36mm, the frame size of the vertical FOV is 24mm, and the frame size of the diagonal FOV is 43.25mm.
When a lens is focused closer than infinity, the field of view narrows, but unless you enter macro range, the change is very small. The correction formula is:
FOV (rectilinear) = 2 * arctan (frame size/(focal length * 2 * (m+1)))
inm
is the magnification. At infinity, m=0, so the first formula applies. For a full-frame 35mm camera, a 50mm lens focused at infinity has a horizontal field of view of about 39.6 degrees. For the same 50mm lens focused at 0.55m, the magnification is 0.1 and the field of view shrinks to 36.2 degrees, so you can see that even for very close focus (0.55m is less than 22 inches), the FOV doesn't change much.
The magnification can be estimated as follows:
m = (focal length)/(focus distance - focal length)
Here is a graph of the horizontal angle of view vs. focal length for a 50mm lens on a 35mm frame. As you can see, the angle of view remains fairly constant until the focal length gets very short.
Here’s the same plot on a logarithmic axis so that you can better see how things change at short focal lengths:
The situation with fisheye lenses is more complicated, as there is no such thing as a "fisheye" equation. Instead, there are several different "mapping equations" or "projections" used by different fisheye lens manufacturers.
The most common is probably the equisolid projection, where the FOV at the infinite focus is as follows:
FOV (equisolid fisheye) = 4 * arcsin (frame size/(focal length * 4))
The equidistant projection is also popular, with the field of view given by:
FOV (equidistance fisheye) = (frame size/focal length)*57.3
The 57.3 in the above formula is used to convert from radians to degrees.
Less common is the orthographic projection, which provides the following fields of view:
FOV (orthogonal fisheye) = 2 * arcsin (frame size/(focal length *2)
The stereographic projection gives:
FOV (stereographic fisheye) = 4 * arctan (frame size/(focal length * 4))
Of course, just as rectilinear lenses are rarely truly rectilinear (they suffer from barrel and pincushion distortion), fisheye lenses usually don't follow the exact mapping suggested by these equations. Unless you're trying to do scientific research that involves exact conversion of points in a fisheye image to "real world" coordinates, this usually doesn't matter.
You can think of the various rectilinear and fisheye projections as somewhat similar to map projections. We all know that the Earth is a sphere, but we can represent it using the Mercator projection on a rectangular map with horizontal and vertical straight lines representing latitude and longitude. This can be seen as an analogy to rectilinear lens mapping. However, just like a rectilinear lens tends to stretch objects at the edges, this map projection stretches areas near the poles. The fisheye lens projection would correspond to various map projections where the latitude and longitude lines are no longer straight lines, but are proportional to area, such as azimuth. Every mapping scheme distorts "reality" in some way. We are more used to seeing one of them, so we would think of one as "normal" and the other as "distorted", but this is not entirely correct.
The following graph shows the field of view versus frame size for a rectilinear lens of a given focal length and four fisheye lenses. As you can see, the rectilinear lens cannot achieve a 180 degree field of view, no matter how large the frame size is, but all of the fisheye lenses can. You can also see that for all lenses, the field of view increases as the frame size increases.
C and D are equidistant and equal solid angle fisheye (most common), B and E are stereo and orthographic fisheye (rarely used)
Note that you can't just take any lens and use a very large frame to get a wide field of view. The image circle of a lens is the diameter of the largest image the lens can form. Lens vignetting outside of this diameter cuts off the image due to the limited size of the optics or other features of the design. A lens designed for a full-frame 35mm camera must be designed to have an image circle of at least 43.5 mm, since a 35mm frame measures 43.25mm diagonally. It is very difficult to make a short focal length lens with a large image circle.
Using the above information, we can calculate, for example, the field of view of a full-frame fisheye lens designed for 35mm when used on an APS-C camera. Let's take a 15mm fisheye lens as an example. Assume it uses equirectangular projection, so the FOV is given by 4 * arcsin (frame size / (focal length * 4)).
For a 24x36mm frame, this gives a horizontal FOV of 147.5 degrees, a vertical FOV of 94.3 degrees, and a diagonal FOV of 185 degrees. Canon gives numbers of 142, 92, and 180 for its 15/2.8 fisheye, so the mapping isn't exactly equisolid, but it's typical of a full-frame fisheye, with diagonal coverage of about 180 degrees.
For a 22.7 x 15.1mm sensor (APS-C), the numbers become: Horizontal FOV = 88.9 degrees, Vertical FOV = 58.3 degrees, Diagonal FOV = 108.1 degrees. If a fisheye image is "de-fisheyed", which converts the image to a rectilinear mapping, the horizontal and vertical fields of view are preserved, the image edges are stretched, and the diagonal field of view is reduced. So, if the image is "de-fisheyed", you will get an image with a horizontal field of view of about 88 degrees and a vertical field of view of about 58 degrees. This is equivalent to the horizontal field of view of a 19mm lens and the vertical field of view of a 22mm lens. How is this possible? With an APS-C sensor, when the image is "de-fisheyed", the ratio of vertical to horizontal is 1:1.5, and is closer to 1:1.7
Original link:Camera focal length and field of view - BimAnt