From: <bru...@us...> - 2009-08-23 23:07:07
|
Revision: 4267 http://hugin.svn.sourceforge.net/hugin/?rev=4267&view=rev Author: brunopostle Date: 2009-08-23 23:06:53 +0000 (Sun, 23 Aug 2009) Log Message: ----------- Tutorial for stitching photos from different lenses (Terry Duell) Modified Paths: -------------- htdocs/tutorials/index.shtml Added Paths: ----------- htdocs/tutorials/multi-lens/ htdocs/tutorials/multi-lens/en.shtml htdocs/tutorials/multi-lens/final.jpg htdocs/tutorials/multi-lens/left-small.jpg htdocs/tutorials/multi-lens/right-small.jpg htdocs/tutorials/multi-lens/shot-1.jpg htdocs/tutorials/multi-lens/shot-2.jpg htdocs/tutorials/multi-lens/shot-4.jpg htdocs/tutorials/multi-lens/shot-5.jpg htdocs/tutorials/multi-lens/shot-6.jpg htdocs/tutorials/multi-lens/shot-7.jpg htdocs/tutorials/multi-lens/test-guess-hfov-70-small.jpg Modified: htdocs/tutorials/index.shtml =================================================================== --- htdocs/tutorials/index.shtml 2009-08-23 21:16:44 UTC (rev 4266) +++ htdocs/tutorials/index.shtml 2009-08-23 23:06:53 UTC (rev 4267) @@ -41,6 +41,11 @@ control-points</em> to correct lens <em>barrel distortion</em> and remove perspective effects.</p> +<h3><a href="multi-lens/en.shtml">Stitching photos from different lenses</a></h3> + +<p>Hugin can stitch photos taken with different lenses and even different +cameras.</p> + <h3><a href="scans/en.shtml">Stitching flat scanned images</a></h3> <p>This tutorial covers another non-panoramic usage of Hugin Added: htdocs/tutorials/multi-lens/en.shtml =================================================================== --- htdocs/tutorials/multi-lens/en.shtml (rev 0) +++ htdocs/tutorials/multi-lens/en.shtml 2009-08-23 23:06:53 UTC (rev 4267) @@ -0,0 +1,172 @@ +<?xml version="1.0"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Hugin tutorial — Stitching two photos together</title> + +<style media="screen" type="text/css" title="Screen style sheet"> +/*<![CDATA[*/ +@import url(/css/normal.css); +/*]]>*/ +</style> +</head> +<body> +<!--#include virtual="/ssi/menu.html"--> +<div class="content"> + +<h1>Hugin tutorial — Stitching photos from different lenses</h1> + +<p><strong>The entire process described here, of taking a mixture of +photographs from different lenses or even from different cameras, and stitching +them together into a single image, can be performed completely automatically by +just clicking <em>Align</em> in the hugin <em>Assistant</em> tab.</strong></p> + +<p><strong>This tutorial looks 'under the hood' of Hugin and introduces some of +the concepts and functions that are needed for more advanced use.</strong></p> + +<p><em>Note: This tutorial is based on the 0.8.0 version of Hugin. Although +your version may differ, the underlying principle will remain the +same.</em></p> + +<p>The images used for this tutorial are shown below. The left image was taken +with a focal length of 4.6mm and the right image with 7.3mm. The camera has a +focal length magnifier (crop factor) of 6.08, hence the 35mm equivalent focal +lengths are 28mm and 44mm respectively.</p> + +<p>The camera was handheld and there may have been some camera +movement which will introduce minor parallax error.</p> + +<p><img alt="left" src="left-small.jpg" /> <img alt="right" +src="right-small.jpg" /></p> + +<p>Start by launching Hugin, using the <strong>Assistant</strong> tab click +the <strong>1. Load images ...</strong> button and select the images you want +to stitch.</p> + +<p><em><strong>Tip:</strong> you can select multiple images in the file dialog +box or drag and drop files from a suitable file browser.</em></p> + +<p><img alt="camera-lens-1" src="shot-1.jpg" /></p> + +<p>If your images are JPEG or TIFF format and include suitable EXIF data (saved +with the image data by the camera), Hugin will automatically detect the lens +focal length that has been used and estimate the horizontal field of view +(HFOV). As each image has different lens characteristics it will be assigned a +different lens number.</p> + +<p>If Hugin doesn't detect EXIF data you will be asked to provide a horizontal +field of view (HFOV, degrees) or a focal length (mm) and focal length +multiplier for the first image.</p> + +<p><img alt="HFOV" src="shot-2.jpg" /></p> + +<p>In the above screenshot I am loading a copy of the left image without EXIF +data, and I have entered a guessed HFOV of 70 degrees and Hugin has generated +the other data. Hugin automatically computes a focal length assuming a focal +length multiplier of 1.0.</p> + +<p>If you don't know what value to use, just use an estimate. As a guide, the +'normal' lens for a 35mm camera has a focal length of approximately 50mm and a +HFOV of about 40 degrees. A 28mm wide angle has a HFOV of approximately 64 +degrees.</p> + +<p>The second image can then be loaded and will have the same lens data +applied. Now open the <strong>Camera and Lens</strong> tab, select the second +image and then select <strong>New Lens</strong> so that Hugin knows that the +lenses are different and will have different parameters.</p> + +<p><img alt="new lens" src="shot-4.jpg" /></p> + +<p>At this point Hugin has assigned an HFOV of 70 degrees to each image. The +lens parameters can be ignored for now as the Optimiser should find the correct +HFOV for the images. We know from the EXIF data that the expected HFOVs should +be somewhere near 63.4 and 42.6 degrees, so we can see later how good the +optimiser is at finding the the correct values.</p> + +<p>If you are using JPEG images and have the EXIF data you can now go to the +<strong>Optimizer, Exposure</strong> and <strong>Stitcher</strong> tabs to +select suitable settings. We will look in detail at how to handle the case of +no EXIF data and guessed HFOV values a bit later.</p> + +<p>Set the optimiser to <strong>Positions, View and Barrel</strong>.</p> + +<p>Click the <strong>2. Align...</strong> button. Control points will be +automatically detected and the selected optimisations carried out. When +complete the <strong>Fast Panorama preview</strong> window will open and +display a preview of the stitched images.</p> + +<p>Here we see two views of the <strong>Fast Panorama preview</strong> window +with each of the images being displayed separately. Images can be 'switched on' +and 'switched off' in the preview window by clicking on the '0' and '1' image +number buttons at the top.</p> + +<p><img alt="left preview" src="shot-5.jpg" /> <img alt="right preview" +src="shot-6.jpg" /></p> + +<p>Note how Hugin has adjusted the size of the images to compensate for the +different focal lengths used.</p> + +<p>Use the <strong>Fast Panorama preview</strong> window to adjust the final +stitched image, by adjusting the field of view (horizontal and vertical +sliders), set a different projection, carry out full photometric correction, +and crop the final stitched image to suit your taste.</p> + +<p>You can now click the <strong>3. Create panorama...</strong> button and +save the stitched panorama.</p> + +<p>This is the the result using images with EXIF data and only the basic steps +in Hugin's automated <strong>Assistant</strong></p> + +<p><img alt="final" src="final.jpg" /></p> + +<p>Now back to the case of photos with incomplete EXIF data.</p> + +<p>We have loaded the images, set the HFOV to a guessed value of 70 degrees and +set the lens number of the second (right) image to #1.</p> + +<p>Go to the <strong>Optimizer</strong> tab +and select <strong>Positions and View +(y,p,r,v)</strong>, then click <strong>2...Align</strong>.</p> + +<p>This may give a reasonable result, and for this example case the +HFOVs are still 70 degrees for each image.</p> + +<p>Go to the <strong>Camera and Lens</strong> tab, select each image in turn +and select <strong>Reset</strong> for all parameters.</p> + +<p>Go to the <strong>Optimizer</strong> tab, select <strong>the Custom +parameters below</strong>, then select the <strong>Lens Parameters:</strong> +then tick <strong>view (v):</strong> for each lens, then select +<strong>Optimize Now!</strong>, and apply changes.</p> + +<p><img alt="Optimizer tab" src="shot-7.jpg" /></p> + +<p>The Camera and Lens tab shows that the optimiser has arrived at +HFOV values of 59.3 and 42.1 degrees.</p> + +<p>The <strong>Fast Panorama preview</strong> window shows the panorama a bit +offset which can be corrected by selecting the <strong>Center</strong> icon top +left of the Fast Panorama preview window.</p> + +<p>You can now click the <strong>3. Create panorama...</strong> button and +save the stitched panorama.</p> + +<p>Here is the resulting panorama using images without EXIF data +and guessing initial HFOV values.</p> + +<p><img alt="final guess" src="test-guess-hfov-70-small.jpg" /></p> + +<p>A final point that may be of help. If you need to create control points +manually in the <strong>Control Points tab</strong>, uncheck <strong>auto +fine-tune</strong> and <strong>auto-estimate</strong>. These features don't +currently work too well with images of different scales.</p> + +<p>The example images were taken in Westmeadows, Victoria, +Australia.</p> + +<p>Tutorial prepared by Terry Duell July 2009</p> + +</div> +</body> +</html> Added: htdocs/tutorials/multi-lens/final.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/multi-lens/final.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/multi-lens/left-small.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/multi-lens/left-small.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/multi-lens/right-small.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/multi-lens/right-small.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/multi-lens/shot-1.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/multi-lens/shot-1.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/multi-lens/shot-2.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/multi-lens/shot-2.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/multi-lens/shot-4.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/multi-lens/shot-4.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/multi-lens/shot-5.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/multi-lens/shot-5.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/multi-lens/shot-6.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/multi-lens/shot-6.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/multi-lens/shot-7.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/multi-lens/shot-7.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/multi-lens/test-guess-hfov-70-small.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/multi-lens/test-guess-hfov-70-small.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bru...@us...> - 2009-09-05 23:21:55
|
Revision: 4333 http://hugin.svn.sourceforge.net/hugin/?rev=4333&view=rev Author: brunopostle Date: 2009-09-05 23:21:47 +0000 (Sat, 05 Sep 2009) Log Message: ----------- New tutorial for using the new 'blend then fuse' functionality for stitching panoramas taken on auto-exposure. Modified Paths: -------------- htdocs/tutorials/index.shtml Added Paths: ----------- htdocs/tutorials/auto-exposure/ htdocs/tutorials/auto-exposure/111107-0001-111107-0004_EV0.64.jpg htdocs/tutorials/auto-exposure/111107-0001-111107-0004_blended_fused.jpg htdocs/tutorials/auto-exposure/111107-0001-small.jpg htdocs/tutorials/auto-exposure/111107-0002-small.jpg htdocs/tutorials/auto-exposure/111107-0003-small.jpg htdocs/tutorials/auto-exposure/111107-0004-small.jpg htdocs/tutorials/auto-exposure/en.shtml Added: htdocs/tutorials/auto-exposure/111107-0001-111107-0004_EV0.64.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/auto-exposure/111107-0001-111107-0004_EV0.64.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/auto-exposure/111107-0001-111107-0004_blended_fused.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/auto-exposure/111107-0001-111107-0004_blended_fused.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/auto-exposure/111107-0001-small.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/auto-exposure/111107-0001-small.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/auto-exposure/111107-0002-small.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/auto-exposure/111107-0002-small.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/auto-exposure/111107-0003-small.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/auto-exposure/111107-0003-small.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/auto-exposure/111107-0004-small.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/auto-exposure/111107-0004-small.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/auto-exposure/en.shtml =================================================================== --- htdocs/tutorials/auto-exposure/en.shtml (rev 0) +++ htdocs/tutorials/auto-exposure/en.shtml 2009-09-05 23:21:47 UTC (rev 4333) @@ -0,0 +1,66 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Hugin ­ Stitching auto-exposed panoramas</title> +<!--#include virtual="/ssi/css.html"--> +</head> +<body> +<!--#include virtual="/ssi/menu.html"--> +<div class="content"> + +<h1>Hugin ­ Stitching auto-exposed panoramas</h1> + +<p>This tutorial is a preview of features in the upcoming 2009.2.0 hugin +release.</p> + +<p>The standard advice for shooting panoramas is to disable all 'automatic' +camera features, i.e. to use fixed focus, aperture, white balance and shutter +speed. This advice hasn't changed, but many <em>point and shoot</em> cameras +don't allow you to alter any of these settings, this tutorial shows you how to +get the best from a sequence of photos taken with auto-exposure.</p> + +<p>Hugin has long used <em>seam blending</em> with enblend for creating +invisible seams between photos with similar exposures. Hugin also uses +<em>exposure fusion</em> with enfuse for selecting the best parts from photos +with dramatically different exposures - Usually this <em>exposure fusion</em> +is used for assembling stacks of bracketed exposures, but it is also good for +blending partially overlapping photos.</p> + +<p>Here are four shots taken with a cheap cameraphone:</p> + +<p><img alt="111107-0001" src="111107-0001-small.jpg" /> +<img alt="111107-0002" src="111107-0002-small.jpg" /></p> +<p><img alt="111107-0004" src="111107-0004-small.jpg" /> +<img alt="111107-0003" src="111107-0003-small.jpg" /></p> + +<p>The range of variation betwen the sky and ground photos is around 3EV, this +is much more than can be hidden by <em>seam blending</em> with enblend. Here +is the (not so good) result from stitching this in Hugin using the default +<strong>Normal -> Blended panorama</strong> output option which corrects +exposure before <em>seam blending</em>:</p> + +<p><img alt="Normal -> Blended panorama" src="111107-0001-111107-0004_EV0.64.jpg" /></p> + +<p>Note that to equalise the exposures of the overlapping photos, hugin has +overexposed the sky and underexposed the ground. Note also that the +overlapping photos have little common detail, resulting in an ugly seam between +top and bottom.</p> + +<p>Hugin now features an additional <strong>Exposure fusion - > Blended and +fused panorama</strong> output option. This uses a two step process, first +images with a similar exposure (within a 0.5EV range) are <em>seam blended</em> +together with no exposure correction, then these blended <em>layers</em> are +<em>exposure fused</em> into the final panorama result:</p> + +<p><img alt="Exposure fusion - > Blended and fused panorama" +src="111107-0001-111107-0004_blended_fused.jpg" /></p> + +<p>That's it, this isn't the highest quality example but hopefully it shows the +possibilities of this new Hugin functionality.</p> + +<p>September 2009 ­ Bruno Postle</p> + +</div> +</body> +</html> Modified: htdocs/tutorials/index.shtml =================================================================== --- htdocs/tutorials/index.shtml 2009-09-05 20:04:54 UTC (rev 4332) +++ htdocs/tutorials/index.shtml 2009-09-05 23:21:47 UTC (rev 4333) @@ -81,8 +81,16 @@ <p>enfuse is a new tool for merging bracketed exposures and assembling a composite image containing the best exposed bits of each. Hugin 0.7.0 includes -complete support for creating <em>Exposure Blended</em> images with enfuse.</p> +complete support for creating <em>Exposure fused</em> images with enfuse.</p> +<h3><a href="auto-exposure/">Stitching auto-exposed panoramas</a></h3> + +<p>Stitching panoramas shot with a camera on auto-exposure is a pain. Hugin +2009.2.0 now has a useful output option that uses <em>seam blending</em> for +stitching photos with minor exposure differences and uses <em>exposure +fusion</em> for assembling these exposure layers into a final panorama.</p> + + <h2>Tutorials on other sites</h2> <h3><a This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bru...@us...> - 2009-12-12 12:19:03
|
Revision: 4784 http://hugin.svn.sourceforge.net/hugin/?rev=4784&view=rev Author: brunopostle Date: 2009-12-12 12:16:39 +0000 (Sat, 12 Dec 2009) Log Message: ----------- Unfinished tutorial... Added Paths: ----------- htdocs/tutorials/surveying/ htdocs/tutorials/surveying/P1000693-small.jpg htdocs/tutorials/surveying/P1000693.JPG htdocs/tutorials/surveying/en.shtml htdocs/tutorials/surveying/render-detail.png htdocs/tutorials/surveying/render-ground-level.png htdocs/tutorials/surveying/telegraph-45.jpg htdocs/tutorials/surveying/telegraph-90.jpg htdocs/tutorials/surveying/telegraph-up.jpg htdocs/tutorials/surveying/telegraph-verticals-horizontals.jpg htdocs/tutorials/surveying/trace-45.jpg htdocs/tutorials/surveying/trace-90.jpg htdocs/tutorials/surveying/trace-up.jpg htdocs/tutorials/surveying/trace-verticals-horizontals.jpg htdocs/tutorials/surveying/wireframe.png Added: htdocs/tutorials/surveying/P1000693-small.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/P1000693-small.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/surveying/P1000693.JPG =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/P1000693.JPG ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/surveying/en.shtml =================================================================== --- htdocs/tutorials/surveying/en.shtml (rev 0) +++ htdocs/tutorials/surveying/en.shtml 2009-12-12 12:16:39 UTC (rev 4784) @@ -0,0 +1,90 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Hugin tutorial — Surveying buildings</title> +<style media="screen" type="text/css" title="Screen style sheet"> +@import url(/css/normal.css); +</style> +<link rel="icon" href="/css/icon.png" type="image/png" /> +</head> + +<body> + +<!--#include virtual="/ssi/menu.html"--> +<div class="content"> +<h1>Hugin tutorial — Measuring buildings</h1> + +<p><strong>This tutorial shows an advanced use of Hugin in combination with a +separate 3D CAD package, the example used is the creation of a complex 3d model +of a building from a single handheld photo.</strong></p> + +<p>Note: There used to be a great tool for doing this sort of thing called +<em>Canoma</em>, but it vanished a long time ago in a series of company +acquisitions. It is possible to do something similar completely in Sketchup, +but with Hugin we have a sophisticated and accurate lens model that gives us a +very high degree of accuracy, even if the process is slower overall.</p> + +<p>First here is a single photo, note that there has been no attempt to shoot +'straight-on', in fact the converging vertical and horizontal perspective will +be useful for fine-tuning the lens parameters. This doesn't have to be a +single shot you can get more detail with a panorama series, however the process +in Hugin is exactly the same:</p> + +<p><a href="P1000639.JPG"><img alt="Panasonic DMC-LX3" src="P1000693-small.jpg" /></a></p> + +<p>(Click on the image to download the original)</p> + +<p>The first thing to do is load the photo in Hugin, set horizontal and +vertical control points and optimise to get a straightened elevation of the +building. This process is described in detail by the <a +href="../perspective">Perspective Correction tutorial</a>, so I won't explain +it again here:</p> + +<p><img alt="Horizontals and verticals set in Hugin" src="telegraph-verticals-horizontals.jpg" /></p> + +<p>Now for this task we need Hugin to get both the lens barrel distortion and +horizontal angle of view right. So I have optimised <em>positions, barrel and +view</em> - Lots of horizontal and vertical points help correct barrel +distortion and the fact that picture has more than one vanishing point means +that Hugin can calculate horizontal angle of view with a single shot.</p> + +<p>You could also use a pre-calibrated lens setting and skip this extra +optimisation step completely. In fact Hugin reads the EXIF FoV as 73.7° and +optimisation determined that it is 70.8° - So Hugin is close enough already.</p> + +<p>The next bit requires a 2D vector drawing tool, I used proprietary CAD +software, but anything that allows you to trace lines over an image will do, +such as <a href="http://inkscape.org/">Inkscape</a>.</p> + +<p>So here I am tracing only building features that are in planes parallel to +the view direction. Notice that I am treating each of the parallel planes +separately and drawing them in a different colour - As they are different +distances from the camera they each have a different scale and so can't be +connected in a useful way just yet:</p> + +<p><img alt="Drawing elevation elements in CAD" src="trace-verticals-horizontals.jpg" /></p> +<p><img alt="Yawed -90° in Hugin" src="telegraph-90.jpg" /></p> +<p><img alt="Section and insets traced in CAD" src="trace-90.jpg" /></p> +<p><img alt="Yawed -45° in Hugin" src="telegraph-45.jpg" /></p> +<p><img alt="Clock tower traced in CAD" src="trace-45.jpg" /></p> +<p><img alt="Pitched 90° in Hugin" src="telegraph-up.jpg" /></p> +<p><img alt="Plan elements traced in CAD" src="trace-up.jpg" /></p> +<p><img alt="Traced elements scaled and snapped together" src="wireframe.png" /></p> +<p><img alt="Part finished solid model overview" src="render-ground-level.png" /></p> +<p><img alt="Part finished solid model detail" src="render-detail.png" /></p> + + +45deg for cornices + +use same technique to establish camera position + +<p>This building is...</p> + +<p>Tutorial by <a href="mailto:bruno@postle.net">Bruno Postle</a> +December 2009</p> + +</div> + +</body> +</html> Added: htdocs/tutorials/surveying/render-detail.png =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/render-detail.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/surveying/render-ground-level.png =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/render-ground-level.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/surveying/telegraph-45.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/telegraph-45.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/surveying/telegraph-90.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/telegraph-90.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/surveying/telegraph-up.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/telegraph-up.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/surveying/telegraph-verticals-horizontals.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/telegraph-verticals-horizontals.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/surveying/trace-45.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/trace-45.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/surveying/trace-90.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/trace-90.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/surveying/trace-up.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/trace-up.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/surveying/trace-verticals-horizontals.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/trace-verticals-horizontals.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/surveying/wireframe.png =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/wireframe.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bru...@us...> - 2009-12-14 21:52:22
|
Revision: 4811 http://hugin.svn.sourceforge.net/hugin/?rev=4811&view=rev Author: brunopostle Date: 2009-12-14 21:52:13 +0000 (Mon, 14 Dec 2009) Log Message: ----------- New tutorial: Surveying Buildings with Hugin Modified Paths: -------------- htdocs/tutorials/index.shtml htdocs/tutorials/surveying/en.shtml htdocs/tutorials/surveying/render-detail.png htdocs/tutorials/surveying/render-ground-level.png Added Paths: ----------- htdocs/tutorials/surveying/cornice-01.jpg htdocs/tutorials/surveying/locate-camera-01.jpg htdocs/tutorials/surveying/locate-camera-02.jpg htdocs/tutorials/surveying/locate-camera-03.png htdocs/tutorials/surveying/locate-camera-04.jpg Modified: htdocs/tutorials/index.shtml =================================================================== --- htdocs/tutorials/index.shtml 2009-12-14 21:26:02 UTC (rev 4810) +++ htdocs/tutorials/index.shtml 2009-12-14 21:52:13 UTC (rev 4811) @@ -90,7 +90,12 @@ stitching photos with minor exposure differences and uses <em>exposure fusion</em> for assembling these exposure layers into a final panorama.</p> +<h3><a href="surveying/">Surveying buildings</a></h3> +<p>This tutorial shows an advanced use of Hugin in combination with a +separate 3D modeller, the example used is the creation of a complex 3D survey +of a building from a single hand-held photo.</p> + <h2>Tutorials on other sites</h2> <h3><a Added: htdocs/tutorials/surveying/cornice-01.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/cornice-01.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: htdocs/tutorials/surveying/en.shtml =================================================================== --- htdocs/tutorials/surveying/en.shtml 2009-12-14 21:26:02 UTC (rev 4810) +++ htdocs/tutorials/surveying/en.shtml 2009-12-14 21:52:13 UTC (rev 4811) @@ -13,27 +13,30 @@ <!--#include virtual="/ssi/menu.html"--> <div class="content"> -<h1>Hugin tutorial — Measuring buildings</h1> +<h1>Hugin tutorial — Surveying buildings</h1> <p><strong>This tutorial shows an advanced use of Hugin in combination with a -separate 3D CAD package, the example used is the creation of a complex 3d model -of a building from a single handheld photo.</strong></p> +separate 3D modeller, the example used is the creation of a complex 3D survey +of a building from a single hand-held photo. It is strongly recommended that +you would be familiar both with Hugin and 3D modelling concepts before +attempting this technique.</strong></p> <p>Note: There used to be a great tool for doing this sort of thing called <em>Canoma</em>, but it vanished a long time ago in a series of company -acquisitions. It is possible to do something similar completely in Sketchup, -but with Hugin we have a sophisticated and accurate lens model that gives us a -very high degree of accuracy, even if the process is slower overall.</p> +acquisitions. It is possible to do something similar in <em>Google +Sketchup</em>, but with Hugin we have a sophisticated and accurate lens model +that gives us a much higher degree of accuracy than either tool, even if the +process is slower overall.</p> <p>First here is a single photo, note that there has been no attempt to shoot 'straight-on', in fact the converging vertical and horizontal perspective will -be useful for fine-tuning the lens parameters. This doesn't have to be a -single shot you can get more detail with a panorama series, however the process -in Hugin is exactly the same:</p> +be useful for fine-tuning the lens parameters:</p> -<p><a href="P1000639.JPG"><img alt="Panasonic DMC-LX3" src="P1000693-small.jpg" /></a></p> +<p><a href="P1000693.JPG"><img alt="Panasonic DMC-LX3" src="P1000693-small.jpg" /></a><br /> +(Click on the image to download the original)</p> -<p>(Click on the image to download the original)</p> +<p>This doesn't have to be a single shot, you can get more detail with a +panorama series, however the process in Hugin is exactly the same.</p> <p>The first thing to do is load the photo in Hugin, set horizontal and vertical control points and optimise to get a straightened elevation of the @@ -50,37 +53,154 @@ that Hugin can calculate horizontal angle of view with a single shot.</p> <p>You could also use a pre-calibrated lens setting and skip this extra -optimisation step completely. In fact Hugin reads the EXIF FoV as 73.7° and +optimisation step completely. Actually Hugin reads the EXIF FoV as 73.7° and optimisation determined that it is 70.8° - So Hugin is close enough already.</p> -<p>The next bit requires a 2D vector drawing tool, I used proprietary CAD -software, but anything that allows you to trace lines over an image will do, -such as <a href="http://inkscape.org/">Inkscape</a>.</p> +<h2>Tracing building elements</h2> -<p>So here I am tracing only building features that are in planes parallel to -the view direction. Notice that I am treating each of the parallel planes +<p>The next bit requires a 2D vector drawing tool, I used CAD software, but +anything that allows you to trace lines over an image will do, such as <a +href="http://inkscape.org/">Inkscape</a>.</p> + +<p>So here I am tracing only building features that are in 'planes' perpendicular +to the view direction. Notice that I am treating each of the parallel 'planes' separately and drawing them in a different colour - As they are different distances from the camera they each have a different scale and so can't be connected in a useful way just yet:</p> <p><img alt="Drawing elevation elements in CAD" src="trace-verticals-horizontals.jpg" /></p> + +<p>So the problem is defining some way to relate these elements together, +ideally we would have a section through the building to place them with. +Luckily Hugin has a solution, simply rotate the the scene using the <em>Numeric +Transform</em> function in the <em>Preview window</em>, enter +<strong>-90</strong> for yaw and the result is this view at right angles to the +previous elevation:</p> + <p><img alt="Yawed -90° in Hugin" src="telegraph-90.jpg" /></p> + +<p>You could create this view in Hugin by creating new horizontal and vertical +control points using elements in the side elevation, but as it happens there +are not enough features and they are restricted to a limited region of the +photo. Rotating the view like this gets better results and is quicker too.</p> + +<p>The next step is to trace any elements needed from this elevation, but also +draw some rectangles that can be used to position the elements from the +previous elevation:</p> + <p><img alt="Section and insets traced in CAD" src="trace-90.jpg" /></p> + +<p>(Notice that relating the clock tower features to the front elevation +requires constructing a 'scaffold'. Notice also that to locate the centre of a +rectangular element which is not in the 'view-plane' simply draw an 'X' +connecting the corners)</p> + +<p>This next bit is another piece of Hugin magic. There are some parts of this +building that have no normal vertical or horizontal features, notably the clock +tower and the cornices. However we do know that these have elements at 45° to +both of the main elevations, so go back to the <em>Numeric Transform</em> of +the <em>Hugin Preview window</em> and enter a <em>Yaw</em> of <strong>-45 +</strong>. Here is the result:</p> + <p><img alt="Yawed -45° in Hugin" src="telegraph-45.jpg" /></p> + +<p>This isn't just a pretty 'architectural' shift-lens view, the various 45° +elements are presented in an exact elevation. We can now trace over the 'hips' +of the clock tower roof:</p> + <p><img alt="Clock tower traced in CAD" src="trace-45.jpg" /></p> + +<p>(notice that each side is completely symmetrical even though the +foreshortened parts between are not)</p> + +<p>The clock tower has some interesting curves, but in reality nearly all +curvature in buildings is restricted to a single 'plane' per curve - There is no +other way to draw and fabricate these things.</p> + +<p>There are more elements that present themselves in this 45° view, notably +the mouldings of the cornice and pilasters only have visible edges where they +turn a corner, these edges are at 45° to the front elevation. So here are +these edges traced:</p> + +<p><img alt="Cornice traced in CAD" src="cornice-01.jpg" /></p> + +<p>Again notice that there is a clear symmetry. This outline is actually not +the same as the normal 'section' of the moulding, you will need to scale it +horizonally by <em>sin(45)</em> (70.7%) to get the actual moulding used in the +building.</p> + +<p>The final Hugin trick is to go back to the original elevation view in the +<em>Preview window</em> and enter a <em>Pitch</em> of <strong>90</strong> in +the <em>Numeric transform</em>. This view is heavily distorted, but it gives +us accurate plan views of all parts of the building were there are horizontal +elements:</p> + <p><img alt="Pitched 90° in Hugin" src="telegraph-up.jpg" /></p> + +<p>So again we can trace over these elements, notice that they are also at +different distances from the camera so they have different scales and relative +positions:</p> + <p><img alt="Plan elements traced in CAD" src="trace-up.jpg" /></p> + +<h2>3D assembly</h2> + +<p>Finally the traced elements can be snapped together in 3D, you can use any +CAD or modelling tool for this, e.g. you could this in <a +href="http://blender.org/">Blender</a>.</p> + +<p>The important thing to note is that to fit together, each group of elements +needs to be scaled as well as moved, but this is a simple one-step process in +most 3D modellers:</p> + <p><img alt="Traced elements scaled and snapped together" src="wireframe.png" /></p> + +<p>It is then a matter of extruding elements and turning this from a wire-frame +into a solid/surface model:</p> + <p><img alt="Part finished solid model overview" src="render-ground-level.png" /></p> + +<p>This bit is nothing to do with Hugin, you need to be reasonably proficient +at 3D modelling in your chosen tool.</p> + <p><img alt="Part finished solid model detail" src="render-detail.png" /></p> +<h2>Locating the camera position</h2> -45deg for cornices +<p>One last thing that it is always very useful to be able to do is to locate +the exact spot where the photo was taken.</p> -use same technique to establish camera position +<p>Go back to the original front elevation rendered by Hugin, the centre of +this image also happens to be the 'vanishing point' where converging parallel +lines meet. Draw some more 'scaffolding' (shown in red) to relate this point +to known features on the building:</p> -<p>This building is...</p> +<p><img alt="Front elevation showing vanishing point" src="locate-camera-01.jpg" /></p> +<p>..and do the same for the side elevation:</p> + +<p><img alt="Side elevation showing vanishing point" src="locate-camera-02.jpg" /></p> + +<p>These two scaffolds can then be snapped to the 3D model and used to locate +the exact point the photo was taken:</p> + +<p><img alt="Overhead view showing camera location relative to vanishing points" src="locate-camera-03.png" /></p> + +<p>As a check, here is the 3D perspective view looking at the building from +this location, overlaid on top of the original photo:</p> + +<p><img alt="3D perspective overlaid on original photo" src="locate-camera-04.jpg" /></p> + +<p>That's it, this technique is more than accurate enough for most +architecture, planning and design purposes, though it is no substitute for a +detailed survey to discover defects or the actual dimensions of a building.</p> + +<h2>About</h2> + +<p>This building is Kemsley House, designed by Gibbs, Flockton & Teather +and completed in 1913, it is the home of the Sheffield Star and Telegraph +newspapers.</p> + <p>Tutorial by <a href="mailto:bruno@postle.net">Bruno Postle</a> December 2009</p> Added: htdocs/tutorials/surveying/locate-camera-01.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/locate-camera-01.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/surveying/locate-camera-02.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/locate-camera-02.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/surveying/locate-camera-03.png =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/locate-camera-03.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: htdocs/tutorials/surveying/locate-camera-04.jpg =================================================================== (Binary files differ) Property changes on: htdocs/tutorials/surveying/locate-camera-04.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: htdocs/tutorials/surveying/render-detail.png =================================================================== (Binary files differ) Modified: htdocs/tutorials/surveying/render-ground-level.png =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |