This is the command pinterp that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
PROGRAM:
NAME
pinterp - interpolate/extrapolate view from pictures
SYNOPSIS
pinterp [ view options ][ -t threshold ][ -z zout ][ -f type ][ -B ][ -a|q ][ -e exposure
][ -n ] pictfile zspec ..
DESCRIPTION
Pinterp interpolates or extrapolates a new view from one or more RADIANCE pictures and
sends the result to the standard output. The input picture files must contain correct
view specifications, as maintained by rpict(1), rvu(1), pfilt(1) and pinterp.
Specifically, pinterp will not work on pictures processed by pcompos(1) or pcomb(1). Each
input file must be accompanied by a z specification, which gives the distance to each
pixel in the image. If zspec is an existing file, it is assumed to contain a short
floating point number for each pixel, written in scanline order. This file is usually
generated by the -z option of rpict(1). If zspec is a positive number rather than a file,
it will be used as a constant value for the corresponding image. This may be useful for
certain transformations on "flat" images or when the viewpoint remains constant.
The -n option specifies that input and output z distances are along the view direction,
rather than absolute distances to intersection points. This option is usually appropriate
with a constant z specification, and should not be used with rpict(1) z files.
The -z option writes out interpolated z values to the specified file. Normally, this
information is thrown away.
Pinterp rearranges the pixels from the input pictures to produce a reasonable estimate of
the desired view. Pixels that map within the -t threshold of each other (.02 times the z
distance by default) are considered coincident. With the -a option, image points that
coincide will be averaged together, giving a smooth result. The -q option turns averaging
off, which means that the first mapped pixel for a given point will be used. This makes
the program run faster and take less memory, but at the expense of image quality. By
default, two or more pictures are averaged together, and a single picture is treated with
the faster algorithm. This may be undesirable when a quick result is desired from
multiple input pictures in the first case, or a single picture is being reduced in size
(anti-aliased) in the second case.
Portions which were hidden or missing in the input pictures must be "filled in" somehow,
and a number of methods are provided by the -f option. The default value for this option
is -fa, which results in both foreground and background filling. The foreground fill
algorithm spreads each input pixel to cover all output pixels within a parallelogram
corresponding to that pixel's projection in the new view. Without it, each input pixel
contributes to at most one output pixel. The background algorithm fills in those areas in
the final picture that have not been filled with foreground pixels. It does this by
looking at the boundary surrounding each blank area and picking the farthest pixels to
each side, assuming that this will make a suitable background. The -ff option tells the
program to use only the foreground fill, the -fb option says use only background fill, and
the -f0 option says not to use either fill algorithm.
Even when both fill algorithms are used, there may still be some unfilled pixels. By
default, these pixels are painted black and assigned a z distance of zero. The -fc option
can be used to change the color used for unfilled pixels, and the -fz option can be used
to set the z distance (always along the view direction). Alternatively, the -fr option
can be used to compute these pixels using rtrace(1). The argument to this option is a
quoted string containing arguments for rtrace. It must contain the octree used to
generate the input pictures, along with any other options necessary to match the
calculation used for the input pictures. The -fs option can be used to place a limit on
the distance (in pixels) over which the background fill algorithm is used. The default
value for this option is 0, which is interpreted as no limit. A value of 1 is equivalent
to turning background fill off. When combined with the -fr option, this is roughly
equivalent to the -ps option of rpict(1).
In order of increasing quality and cost, one can use the -fa option alone, or the -fr
option paired with -fs or -ff or -f0. The last combination will result in the
recalculation of all pixels not adequately accounted for in the input pictures, with an
associated computational expense. It is rare that the -fs option results in appreciable
image degradation, so it is usually the second combination that is used when the
background fill algorithm results in objectionable artifacts.
The -B option may be used to average multiple views read from the standard input into a
single, blurred output picture. This is similar to running pinterp multiple times and
averaging the output together with a program like pcomb(1). This option is useful for
simulating motion blur and depth of field. (See pmdblur(1).) The input views are
reported in the information header of the output file, along with the averaged view. The
picture dimensions computed from the first view will be the ones used, regardless whether
or not the subsequent views agree. (The reported pixel aspect ratio in the output is
determined from these original dimensions and the averaged view.) Note that the expense
of the -fr option is proportional to the number of views computed, and the -z output file
will be the z-buffer of the last view interpolated rather than an averaged distance map.
In general, pinterp performs well when the output view is flanked by two nearby input
views, such as might occur in a walk-through animation sequence. The algorithms start to
break down when there is a large difference between the view desired and the view(s)
provided. Specifically, obscured objects may appear to have holes in them and large areas
at the image borders may not be filled by the foreground or background algorithms. Also,
specular reflections and highlights will not be interpolated very well, since their view-
dependent appearance will be incompletely compensated for by the program. (The -a option
offers some benefit in this area.)
The -e option may be used to adjust the output image exposure, with the same specification
given as for pfilt. The actual adjustment will be rounded to the nearest integer f-stop
if the -q option is in effect (or there is only a single input picture).
EXAMPLE
To interpolate two frames of a walk-through animation, anti-alias to 512x400 and increase
the exposure by 2.5 f-stops:
pinterp -vf 27.vf -a -x 512 -y 400 -e +2.5 30.hdr 30.z 20.hdr 20.z > 27.hdr
To extrapolate a second eyepoint for a stereo pair and recalculate background regions:
pinterp -vf right.vf -ff -fr "-av .1 .1 .1 scene.oct" left.hdr left.z > right.hdr
To convert an angular fisheye to a hemispherical fisheye:
pinterp -vf fish.hdr -vth -ff fish.hdr 1 > hemi.hdr
Use pinterp online using onworks.net services