2022-07-30 14:46:04 -03:00

121 lines
4.6 KiB
HTML

<html>
<title>Merging</title>
<style type="text/css">
TABLE.ba { max-width: 678; text-align: center; padding-bottom: 15; padding-top: 5}
TABLE.inline { padding-right: 300; clear: left}
TD.text_table {padding-left: 2; padding-right: 2; border-width: 1}
H2 {clear: left}
P {max-width: none; padding-right: 300; clear: left}
BLOCKQUOTE {padding-right: 400 }
LI {max-width: 640; clear: left}
P.footer {max-width: none; width: auto; padding-left: 0}
P.header {max-width: none; width: auto; padding-left: 0}
HR.main {max-width: 640; clear: left; padding-left: 0; margin-left: 0}
HR.footer {clear: both}
</style>
</head><body>
<table align=right valign=top width=160>
<td valign=top height=600 width=160>
<a href="http://auricle.dyndns.org/ALE/">
<big>ALE</big>
<br>
Image Processing Software
<br>
<br>
<small>Deblurring, Anti-aliasing, and Superresolution.</small></a>
<br><br>
<big>
Local Operation
</big>
<hr>
localhost<br>
5393119533<br>
</table>
<p><b>[ <a href="../">Up</a> ]</b></p>
<h1>Merging</h1>
Merging uses bilinear interpolation to determine each frame's contribution to
the accumulated image, and each contribution is assigned equal weight.
Sections below outline the merging algorithm and its properties.
<h2>Calculating the <i>Overlapping Value</i></h2>
<p>(This section is a very verbose explanation of bilinear interpolation.)
<p>Determining what values from the new frame overlap pixels in the accumulated
image is an important part of merging. Since transformations may involve
sub-pixel alignment, and the accumulated image may be configured to be of finer
resolution than the input frames, the manner in which these values are
determined is not necessarily obvious.
<p>ALE uses the following rules to determine the <i>overlapping value</i>:
<ol>
<li>If the new frame overlaps the accumulated image pixel in such a manner that
the accumulated image pixel is aligned with a pixel in the new frame, then the
value of this pixel is the overlapping value. <br><br>
<li>If the point overlapping the accumulated image pixel falls on a line between
two pixels in the new frame, then the overlapping value is a linear
interpolation between these pixels in the coordinate system of the new frame.
<br><br>
<li>If the point overlapping the accumulated image pixel falls within a
quadrilateral outlined by the four closest pixels in the new frame, then the
overlapping value is a bilinear interpolation among these pixels in the
coordinate system of the new frame.<br><br>
<li>If none of the above conditions apply, then there is no overlapping value
for the accumulated image pixel in the new frame.<br><br>
</ol>
<h2>Calculating the <i>Merged Value</i></h2>
<p>The <i>merged value</i> for an accumulated image pixel is a weighted average
between the current accumulated image pixel value and the overlapping value.
The weights are selected so that overlapping values from all frames contribute
with equal weight.
<h2>Definition of <i>Merging</i></h2>
<p><i>Merging</i> a new frame replaces the existing value of each accumulated
image pixel with the merged value.
<h2>Properties</h2>
<h3>Density and false local minima</h3>
<p>The merging method outlined above has the property of always updating a
dense set of pixels in the accumulated image, even when the accumulated image
is of finer resolution than the new frame. This ensures that the area of
defined pixels in the accumulated image is dense and that any uniform change in
intensity is reflected uniformly over a dense area. The absence of these
properties may cause alignment to fail due to entrapment in local minima, and
so merging is always used internally to create the renderings used by the
alignment algorithm. Except in the case of a large pixel footprint, <a
href="../drizzling">drizzling</a> does not share these properties.
<h3>Convolution with the Bartlett (triangle) filter as the limiting case</h3>
<p>Assuming predicates for translation, point sampling with simple optics, and
a very large, uniform input sequence, the result of merging is equivalent to
convolution of pixel data with the Bartlett, or triangle, filter. This is
derived from the fact that bilinear interpolation of an image defined at
discrete points is equivalent to convolution with a Barlett filter. This
property is still approximately true even when the translation predicate is not
satisfied, so long as large changes in scale do not occur.
<br><br>
<hr>
<i>Copyright 2002, 2003 <a href="mailto:dhilvert@auricle.dyndns.org">David Hilvert</a></i>
<p>Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
</body>
</html>