[362028]: / src / hugin1 / hugin / xrc / data / help_en_EN / Fisheye_Projection.html  Maximize  Restore  History

Download this file

125 lines (104 with data), 7.6 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<!DOCTYPE html>
<html lang="en" dir="ltr" class="client-nojs">
<head>
<title>Fisheye Projection - PanoTools.org Wiki</title>
<meta charset="UTF-8" />
<meta name="generator" content="MediaWiki 1.19.0" />
<style media="screen" type="text/css" title="Screen style sheet"> @import url(manual.css); </style>
<style>a:lang(ar),a:lang(ckb),a:lang(fa),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}a.new,#quickbar a.new{color:#ba0000}
/* cache key: pt_wikidb:resourceloader:filter:minify-css:7:c88e2bcd56513749bec09a7e29cb3ffa */
</style>
<!--[if lt IE 7]><style type="text/css">body{behavior:url("/skins/vector/csshover.min.htc")}</style><![endif]--></head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-Fisheye_Projection skin-vector action-view">
<!-- content -->
<div id="content" class="mw-body">
<a id="top"></a>
<!-- firstHeading -->
<h1 id="firstHeading" class="firstHeading">
<span dir="auto">Fisheye Projection</span>
</h1>
<!-- /firstHeading -->
<!-- bodyContent -->
<div id="bodyContent">
<!-- tagline -->
<div id="siteSub">From PanoTools.org Wiki</div>
<!-- /tagline -->
<!-- subtitle -->
<!-- /subtitle -->
<!-- jumpto -->
<!-- /jumpto -->
<!-- bodycontent -->
<div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><div class="thumb tright"><div class="thumbinner" style="width:302px;"><img alt="" src="Big_ben_circ_fisheye.jpg" width="300" height="300" class="thumbimage" /><a class="external" href="http://wiki.panotools.org/File:Big_ben_circ_fisheye.jpg">[*]</a> <div class="thumbcaption">Circular Fisheye projection, with permission from Ben Kreunen</div></div></div>
<div class="thumb tright"><div class="thumbinner" style="width:302px;"><img alt="" src="Big_ben_ff_fisheye.jpg" width="300" height="300" class="thumbimage" /><a class="external" href="http://wiki.panotools.org/File:Big_ben_ff_fisheye.jpg">[*]</a> <div class="thumbcaption">Fullframe Fisheye projection, with permission from Ben Kreunen</div></div></div>
<p>This is a class of <a href="Projections.html" title="Projections">projections</a> for mapping a portion of the surface of a sphere to a flat image, typically a camera's film or detector plane. In a fisheye projection the distance from the centre of the image to a point is close to proportional to the true angle of separation.
</p><p>Commonly there are two types of fisheye distinguished: circular fisheyes<a class="external" href="http://wiki.panotools.org/Fisheyes">[*]</a> and fullframe fisheyes<a class="external" href="http://wiki.panotools.org/Fisheyes">[*]</a>. However, both follow the same projection geometrics. The only difference is one of <a href="Field_of_View.html" title="Field of View">Field of View</a>: for a circular fisheye the circular image fits (more or less) completely in the frame, leaving blank areas in the corner. For the full frame variety, the image is over-filled by the circular fisheye image, leaving no blank space on the film or detector. A circular fisheye can be made full frame if you use it with a smaller sensor/film size (and vice versa), or by zooming a fisheye adaptor on a zoom lens.
</p><p>There is no single fisheye projection, but instead there are a class of projection transformation all referred to as <i>fisheye</i> by various lens manufacturers, with names like <i>equisolid angle projection</i>, or <i>equidistance fisheye</i>. Less common are traditional spherical projections which map to circular images, such as the <a rel="nofollow" class="external text" href="http://mathworld.wolfram.com/OrthographicProjection.html">orthographic</a> (lenses commonly designated <i>OP</i>) or <a href="Stereographic_Projection.html" title="Stereographic Projection">stereographic</a> projections. Luckily, <a href="Panorama_tools.html" title="Panorama tools">Panorama tools</a> and <a href="Hugin.html" title="Hugin">Hugin</a> can deal with most of these mentioned projections.
</p><p><b><img class="tex" alt="\theta\," src="1f09c25c5247c1eaf121df644ca42f8c.png" /></b> is the angle in rad between a point in the real world and the optical axis, which goes from the center of the image through the center of the lens, <img class="tex" alt="f" src="8fa14cdd754f91cc6554c9e71929cce7.png" /> is the focal length of the lens and <img class="tex" alt="R" src="e1e1d3d40573127e9ee0480caf1283d6.png" /> is radial position of a point on the image on the film or sensor.
</p>
<table class="wikitable">
<tr>
<th> projection
</th>
<th> math
</th>
<th> real lenses, matching this projection
</th></tr>
<tr>
<td> equidistant fisheye
</td>
<td> <img class="tex" alt="R=f\cdot\theta" src="1e3fbb44cf80bc872c3bc50c35a10b98.png" />
</td>
<td> e.g. Peleng 8mm f/3.5 Fisheye <br />This is the ideal fisheye projection panotools uses internally
</td></tr>
<tr>
<td> stereographic
</td>
<td> <img class="tex" alt=" R=2f\cdot \tan\left(\frac{\theta}{2}\right)" src="4c08b4c70c5be7cb6c402efa92fdb6ee.png" />
</td>
<td> e.g. Samyang 8 mm f/3.5
</td></tr>
<tr>
<td> orthographic
</td>
<td> <img class="tex" alt=" R=f\cdot \sin\left(\theta\right)" src="57b9ca0ee21ce403038c5efcdc7c5eca.png" />
</td>
<td> e.g. Yasuhara - MADOKA 180 circle fisheye lens
</td></tr>
<tr>
<td> equisolid
<p>(equal-area fisheye)
</p>
</td>
<td> <img class="tex" alt=" R=2f\cdot \sin\left(\frac{\theta}{2}\right)" src="c3cc50179501003b73b0f3d8f02098dc.png" />
</td>
<td> e. g. Sigma 8mm f/4.0 AF EX, (also convex mirror)
</td></tr>
<tr>
<td> Thoby fisheye
</td>
<td> <img class="tex" alt=" R=k_1\cdot f \cdot \sin\left(k_2\cdot\theta\right)" src="8dc4f8dfb753dc58e5cfaa70bb2add2e.png" />
<p>with <img class="tex" alt="k_1=1.47" src="422cb0e4439a3b643f880b45af9d5636.png" /> and <img class="tex" alt="k_2=0.713" src="97f76ad87331fb0eebfa4c97bed26d8c.png" />
</p>
</td>
<td> e. g. AF DX Fisheye-Nikkor 10.5mm f/2.8G ED
<p>(empirical found math for this lens)
</p>
</td></tr></table>
<p>So for example 90 degrees, which would be the maximum
theta of a lens with 180 degree <a href="Field_of_View.html" title="Field of View">Field of View</a>, f=8mm, equisolid mapping, you get
R = 11.3mm, which is the radius of the image circle.
</p><p>Btw, a rectilinear lens has a mapping
</p>
<pre><img class="tex" alt="R=f*tan(\theta)\," src="ccf48cf728225d3dcecf1f74e74dafa3.png" />
</pre>
<p>More information on fisheyes<a class="external" href="http://wiki.panotools.org/Fisheyes">[*]</a> and their distortions from <a rel="nofollow" class="external text" href="http://www.bobatkins.com/photography/technical/field_of_view.html">Bob Atkins Photography</a>
</p><p>Panotools fisheye mapping mentioned by Helmut Dersch<a class="external" href="http://wiki.panotools.org/Helmut_Dersch">[*]</a> in <a rel="nofollow" class="external free" href="http://www.panotools.org/mailarchive/msg/6864#msg6864">http://www.panotools.org/mailarchive/msg/6864#msg6864</a>
</p><p>(Content partly based on a mail by Helmut Dersch which can be found at W.J. Markerink's <strike><a rel="nofollow" class="external text" href="http://www.a1.nl/phomepag/markerink/fishyfaq.htm">page about fisheye analysis</a></strike> Link not valid anymore)
</p>
</div> <!-- /bodycontent -->
<!-- printfooter -->
<div class="printfooter">
Retrieved from "http://wiki.panotools.org/index.php?title=Fisheye_Projection&amp;oldid=15452<a class="external" href="http://wiki.panotools.org/index.php?title=Fisheye_Projection&amp;oldid=15452">[*]</a>" </div>
<!-- /printfooter -->
<!-- catlinks -->
</div></div></body></html>