c# pdf reader table : Add and remove pages from pdf file online SDK application service wpf html azure dnn SzeliskiBook_20100903_draft19-part591

3.6 Geometric transformations
169
H
2
i
f
x
x
x
i
f’
g
1
g
2
g
3
u
F
u
G
1
u
G
2
u
G
3
u
F’
H
1
interpolate
h
1
(x)
warp
ax+t
filter
h
2
(x)
sample
δ
(x)
(f)
(g)
(h)
(i)
(j)
(a)
(b)
(c)
(d)
(e)
Figure 3.49 One-dimensional signal resampling (Szeliski,Winder,andUyttendaele2010):
(a) original sampled signal f(i); (b) interpolated signal g
1
(x); (c) warped signal g
2
(x); (d)
filtered signal g
3
(x); (e) sampled signal f
0
(i). The corresponding spectra are shown below
the signals, with the aliased portions shown in red.
Multi-pass transforms
The optimal approach to warping images without excessive blurring or aliasing is to adap-
tively pre-filter the source image at each pixel using an ideal low-pass filter, i.e., an oriented
skewed sinc or low-order (e.g., cubic) approximation (Figure3.48a). Figure3.49 shows how
this works in one dimension. The signal is first (theoretically) interpolated to a continuous
waveform, (ideally) low-pass filtered to below the new Nyquist rate, and then re-sampled to
the final desired resolution. In practice, the interpolation and decimation steps are concate-
nated into a single polyphase digital filtering operation (Szeliski,Winder,andUyttendaele
2010).
For parametric transforms, the oriented two-dimensional filtering and resampling opera-
tions can be approximated using a series of one-dimensional resampling and shearing trans-
forms (CatmullandSmith1980;Heckbert1989;Wolberg1990;Gomes,Darsa,Costaetal.
1999; Szeliski, Winder, and Uyttendaele 2010). Theadvantageofusingaseriesofone-
dimensional transforms is that they are much more efficient (in terms of basic arithmetic
operations) than large, non-separable, two-dimensional filter kernels.
In order to prevent aliasing, however, it may be necessary to upsample inthe opposite di-
rection before applying a shearing transformation (Szeliski,Winder,andUyttendaele2010).
Figure3.50 shows this process for a rotation, where a vertical upsampling stage is added be-
fore the horizontal shearing (and upsampling) stage. The upper image shows the appearance
of the letter beingrotated, while the lower image shows its corresponding Fourier transform.
Add and remove pages from pdf file online - remove PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provides Users with Mature Document Manipulating Function for Deleting PDF Pages
copy pages from pdf to new pdf; delete pages from pdf acrobat
Add and remove pages from pdf file online - VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Visual Basic Sample Codes to Delete PDF Document Page in .NET
delete page from pdf document; delete pages pdf file
170
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
vertical shear
+ downsample
(a)
(b)
(c)
(d)
vertical 
upsample
horizontal shear
+ upsample
horizontal  
downsample
(e)
Figure 3.50 Four-pass rotation (Szeliski,Winder,andUyttendaele2010): (a) original pixel
grid, image, and its Fourier transform; (b) vertical upsampling; (c) horizontal shear and up-
sampling; (d) vertical shear and downsampling; (e) horizontal downsampling. The general
affine case looks similar except that the first two stages perform general resampling.
3.6.2 Mesh-based warping
While parametric transforms specified by a small number of global parameters have many
uses, local deformations with more degrees of freedom are often required.
Consider, for example, changing the appearance of a face from a frown to a smile (Fig-
ure3.51a). What is needed in this case is to curve the corners of the mouth upwards while
leaving the rest of the face intact.19 To perform such a transformation, different amounts of
motion are requiredin different parts of the image. Figure3.51 shows some of the commonly
used approaches.
The first approach, shown in Figure3.51a–b, is to specify a sparse set of corresponding
points. The displacement of thesepointscanthenbeinterpolatedtoa densedisplacementfield
(Chapter8) using a variety of techniques (Nielson1993). One possibility is to triangulate
the set of points in one image (deBerg,Cheong,vanKreveldetal.2006;Litwinowiczand
Williams 1994; Buck, Finkelstein, Jacobs et al. 2000)andtouseanaffinemotionmodel
(Table3.5), specified by the three triangle vertices, inside each triangle. If the destination
19RowlandandPerrett(1995);Pighin,Hecker,Lischinskietal.(1998);BlanzandVetter(1999);Leyvand,Cohen-
Or,Droretal.(2008)showmoresophisticatedexamplesofchangingfacialexpressionandappearance.
VB.NET PDF Password Library: add, remove, edit PDF file password
Define output file path. Dim outputFilePath As String = Program.RootPath + "\\" Output.pdf" ' Remove the password. doc.Save(outputFilePath). VB: Add Password
delete page pdf online; delete a page in a pdf file
C# PDF Password Library: add, remove, edit PDF file password in C#
intputFilePath, userPassword); // Define output file path. Program.RootPath + "\\" Output.pdf"; // Remove the password C# Sample Code: Add Password to Plain
delete pages pdf online; delete a page from a pdf acrobat
3.6 Geometric transformations
171
(a)
(b)
(c)
(d)
Figure 3.51 Image warping alternatives (Gomes,Darsa,Costaetal.1999)
c
1999 Morgan
Kaufmann: (a) sparse control points  ! deformation grid; (b) denser set of control point
correspondences; (c) oriented line correspondences; (d) uniform quadrilateral grid.
image is triangulated according to the new vertex locations, an inverse warping algorithm
(Figure3.47) can be used. If the source image is triangulated and used as a texture map,
computer graphics rendering algorithms can be used to draw the new image (but care must
be taken along triangle edges to avoid potential aliasing).
Alternative methodsfor interpolatingasparseset of displacements include movingnearby
quadrilateral mesh vertices, as shown in Figure3.51a, usingvariational (energy minimizing)
interpolants such as regularization (LitwinowiczandWilliams1994), see Section3.7.1, or
using locally weighted(radial basis function) combinations of displacements (Nielson1993).
(See (Section12.3.1) for additional scattered data interpolation techniques.) If quadrilateral
meshes are used, it may be desirable to interpolate displacements down to individual pixel
values using a smooth interpolant such as a quadratic B-spline (Farin1996;Lee,Wolberg,
Chwa et al. 1996).
20
In some cases, e.g., if a dense depthmap has been estimatedfor animage (Shade,Gortler,
Heet al. 1998),weonlyknowtheforwarddisplacementforeachpixel.Asmentionedbefore,
drawingsource pixels attheir destinationlocation, i.e., forwardwarping(Figure3.46), suffers
from several potential problems, including aliasing and the appearance of small cracks. An
alternative technique in this case is to forward warp the displacement field (or depth map) to
20 Notethattheblock-basedmotionmodelsusedbymanyvideocompressionstandards(LeGall1991)canbe
thoughtof as a 0th-order(piecewise-constant)displacement field.
C# PDF File Permission Library: add, remove, update PDF file
Image: Insert Image to PDF. Image: Remove Image from Redact Text Content. Redact Images. Redact Pages. Annotation & Highlight Text. Add Text. Add Text Box. Drawing
delete page from pdf file; delete page on pdf reader
C# PDF Digital Signature Library: add, remove, update PDF digital
Image: Insert Image to PDF. Image: Remove Image from Redact Text Content. Redact Images. Redact Pages. Annotation & Highlight Text. Add Text. Add Text Box. Drawing
delete page on pdf; delete pages from pdf preview
172
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(a)
(b)
(c)
Figure 3.52 Line-based image warping (BeierandNeely1992)  c 1992 ACM: (a) distance
computation and position transfer; (b) rendering algorithm; (c) two intermediate warps used
for morphing.
its newlocation, fill small holes in the resultingmap, and then use inverse warping toperform
the resampling (Shade,Gortler,Heetal.1998). The reason that this generally works better
than forward warping is that displacement fields tend to be much smoother than images, so
the aliasing introduced during the forward warping of the displacement field is much less
noticeable.
Asecond approach to specifying displacements for local deformations is to use corre-
sponding oriented line segments (BeierandNeely1992), as shown inFigures3.51c and3.52.
Pixels along eachline segmentaretransferred from source to destinationexactlyas specified,
and other pixels are warped using a smooth interpolation of these displacements. Each line
segment correspondence specifies a translation, rotation, and scaling, i.e., a similarity trans-
form(Table3.5), for pixels in its vicinity, as shown in Figure3.52a. Line segments influence
the overall displacement of the image using a weighting function that depends on the mini-
mum distance to the line segment (v in Figure3.52a if u 2 [0;1], else the shorter of the two
distances to P and Q).
For each pixel X, the target location X
0
for each line correspondence is computed along
with a weight that depends on the distance and the line segment length (Figure3.52b). The
weighted average of all target locations X
0
i
then becomes the final destination location. Note
that while Beier and Neelydescribe this algorithm as a forward warp, an equivalentalgorithm
can be written by sequencing through the destination pixels. The resulting warps are not
identical because line lengths or distances to lines may be different. Exercise3.23 has you
implement the Beier–Neely (line-based) warp and compare it to a number of other local
deformation methods.
Yet another way of specifying correspondences in order to create image warps is to use
snakes (Section5.1.1) combined with B-splines (Lee,Wolberg,Chwaetal.1996). This tech-
nique is used in Apple’s Shake software and is popular in the medical imaging community.
VB.NET PDF File Permission Library: add, remove, update PDF file
Image: Insert Image to PDF. Image: Remove Image from Redact Text Content. Redact Images. Redact Pages. Annotation & Highlight Text. Add Text. Add Text Box. Drawing
delete pages from a pdf document; delete pdf pages android
C# PDF remove image library: remove, delete images from PDF in C#.
Image: Insert Image to PDF. Image: Remove Image from Redact Text Content. Redact Images. Redact Pages. Annotation & Highlight Text. Add Text. Add Text Box. Drawing
delete pages from pdf acrobat reader; delete pdf pages in preview
3.6 Geometric transformations
173
Figure 3.53 Imagemorphing (Gomes,Darsa,Costaetal.1999)
c
1999Morgan Kaufmann.
Top row: if the two images are just blended, visible ghosting results. Bottom row: both
images are first warped to the same intermediate location (e.g., halfway towards the other
image) and the resulting warped images are then blended resulting in a seamless morph.
One final possibility for specifying displacement fields is to use a mesh specifically
adapted to the underlying image content, as shown in Figure3.51d. Specifying such meshes
by hand can involve a fair amount of work;Gomes,Darsa,Costaetal.(1999) describe an
interactive system for doing this. Once the two meshes have been specified, intermediate
warps can be generated using linear interpolation and the displacements at mesh nodes can
be interpolated using splines.
3.6.3 Application: Feature-based morphing
While warps can be used to change the appearance of or to animate a single image, even
more powerful effects can be obtained by warping and blending two or more images using a
process now commonly known as morphing (BeierandNeely1992;Lee,Wolberg,Chwaet
al. 1996; Gomes, Darsa, Costa et al. 1999).
Figure3.53 shows the essence of image morphing. Instead of simply cross-dissolving
between two images, which leads to ghosting as shown in the top row, each image is warped
toward the other image before blending, as shown in the bottom row. If the correspondences
have been set up well (using any of the techniques shown in Figure3.51), corresponding
features are aligned and no ghosting results.
The above process is repeated for each intermediate frame being generated during a
C# PDF File Split Library: Split, seperate PDF into multiple files
process of splitting PDF document, developers can also remove certain PDF contains the first page and the later three pages respectively Add necessary references
delete pdf pages in reader; cut pages from pdf online
VB.NET PDF remove image library: remove, delete images from PDF in
C#.NET PDF file & pages edit, C#.NET PDF pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET VB.NET: Remove Image from PDF Page. Add necessary references
delete page on pdf file; delete a page from a pdf online
174
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
morph, using differentblends (and amounts of deformation) at eachinterval. Let t 2 [0;1]be
the time parameter that describes the sequence of interpolated frames. The weighting func-
tions for the two warped images in the blend go as (1   t) and t. Conversely, the amount of
motion that image 0 undergoes at time t is t of the total amount of motion that is specified
by the correspondences. However, some care must be taken in defining what it means to par-
tially warp an image towards a destination, especially if the desired motion is far from linear
(Sederberg,Gao,Wangetal.1993). Exercise3.25 has you implement a morphing algorithm
and test it out under such challenging conditions.
3.7 Global optimization
So far in this chapter, we have covered a large number of image processing operators that
take as input one or more images and produce some filtered or transformed version of these
images. In many applications, it is more useful to first formulate the goals of the desired
transformation using some optimization criterion and then find or infer the solution that best
meets this criterion.
In this final section, we present two different (but closely related) variants on this idea.
The first, which is often called regularization or variational methods (Section3.7.1), con-
structs a continuous global energy function that describes the desired characteristics of the
solution and then finds a minimum energy solution using sparse linear systems or related
iterative techniques. The second formulates the problem using Bayesian statistics, model-
ing both the noisy measurement process that produced the input images as well as prior
assumptions about the solution space, which are often encoded using a Markov random field
(Section3.7.2).
Examples of suchproblemsinclude surface interpolationfromscattereddata (Figure3.54),
image denoising and the restoration of missing regions (Figure3.57), and the segmentation
of images into foregroundand background regions (Figure3.61).
3.7.1 Regularization
The theory of regularization was first developed by statisticians trying to fit models to data
that severely underconstrained the solution space (TikhonovandArsenin1977;Engl,Hanke,
and Neubauer 1996). Consider,forexample,findingasmoothsurfacethatpassesthrough
(or near) a set of measured data points (Figure3.54). Such a problem is described as ill-
posed because many possible surfaces can fit this data. Since small changes in the input can
sometimes lead to large changes in the fit (e.g., if we use polynomial interpolation), such
problems are also often ill-conditioned. Since we are trying to recover the unknown function
f(x;y) from whichthedatapoint d(x
i
;y
i
)were sampled, such problems are alsooftencalled
3.7 Global optimization
175
(a)
(b)
Figure 3.54 A simple surface interpolation problem: (a) nine data points of various height
scatteredonagrid;(b) second-order, controlled-continuity, thin-platespline interpolator, with
atear along its left edge and a crease along its right (Szeliski1989)  c 1989 Springer.
inverse problems. Many computer vision tasks can be viewed as inverse problems, since we
are trying to recover a full description of the 3D world from a limited set of images.
In order to quantify what it means to find a smooth solution, we can define a norm on
the solution space. For one-dimensional functions f(x), we can integrate the squared first
derivative of the function,
E
1
=
Z
f
2
x
(x) dx
(3.92)
or perhaps integrate the squared second derivative,
E
2
=
Z
f
2
xx
(x) dx:
(3.93)
(Here, we use subscripts to denote differentiation.) Such energy measures are examples of
functionals, whichare operators thatmapfunctions toscalar values. They arealsooftencalled
variational methods, because they measure the variation (non-smoothness) in a function.
In two dimensions (e.g., for images, flow fields, or surfaces), the corresponding smooth-
ness functionals are
E
1
=
Z
f
2
x
(x;y) + f
2
y
(x;y)dxdy =
Z
krf(x;y)k
2
dxdy
(3.94)
and
E
2
=
Z
f
2
xx
(x;y) + 2f
2
xy
(x;y) + f
2
yy
(x;y)dxdy;
(3.95)
where the mixed 2f
2
xy
term is needed to make the measure rotationally invariant (Grimson
1983).
The first derivative norm is often called the membrane, since interpolating a set of data
points using this measure results in a tent-like structure. (In fact, this formula is a small-
deflection approximation to the surface area, which is what soap bubbles minimize.) The
176
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
second-order norm is called the thin-plate spline, since it approximates the behavior of thin
plates (e.g., flexible steel) under small deformations. A blend of the two is called the thin-
plate spline under tension; versions of these formulas where each derivative term is mul-
tiplied by a local weighting function are called controlled-continuity splines (Terzopoulos
1988). Figure3.54showsasimpleexampleofacontrolled-continuityinterpolatorfittonine
scattered data points. In practice, it is more common to find first-order smoothness terms
used with images and flow fields (Section8.4) and second-order smoothness associated with
surfaces (Section12.3.1).
In addition to the smoothness term, regularization also requires a data term (or data
penalty). For scattered data interpolation (Nielson1993), the data term measures the dis-
tance between the function f(x;y) and a set of data points d
i
=d(x
i
;y
i
),
E
d
=
X
i
[f(x
i
;y
i
)  d
i
]
2
:
(3.96)
For a problem like noise removal, a continuous version of this measure can be used,
E
d
=
Z
[f(x;y)   d(x;y)]
2
dxdy:
(3.97)
To obtain a global energy that can be minimized, the two energy terms are usually added
together,
E= E
d
+E
s
;
(3.98)
where E
s
is the smoothness penalty (E
1
,E
2
or some weighted blend) and  is the regulariza-
tion parameter, which controls how smooth the solution should be.
In order to find the minimum of this continuous problem, the function f(x;y) is usually
first discretized ona regular grid.
21
The most principled way to perform this discretization is
to use finite element analysis, i.e., to approximate the function with a piecewise continuous
spline, and then perform the analytic integration (Bathe2007).
Fortunately, for both the first-order and second-order smoothness functionals, the judi-
cious selection of appropriate finite elements results in particularly simple discrete forms
(Terzopoulos1983). The corresponding discrete smoothness energy functions become
E
1
=
X
i;j
s
x
(i;j)[f(i + 1;j)   f(i;j)   g
x
(i;j)]
2
(3.99)
+s
y
(i;j)[f(i;j + 1)   f(i;j)   g
y
(i;j)]
2
and
E
2
=
h
2
X
i;j
c
x
(i;j)[f(i+ 1;j)   2f(i;j) + f(i  1;j)]
2
(3.100)
21 Thealternativeofusingkernelbasisfunctionscenteredonthedatapoints(BoultandKender1986;Nielson
1993) isdiscussedinmoredetailinSection12.3.1.
3.7 Global optimization
177
+2c
m
(i;j)[f(i+ 1;j + 1)   f(i+ 1;j)   f(i;j + 1) + f(i;j)]
2
+c
y
(i;j)[f(i;j + 1)   2f(i;j) + f(i;j   1)]
2
;
where h is the size of the finite element grid. The h factor is only important if the energy is
being discretized at a variety of resolutions, as in coarse-to-fine or multigrid techniques.
The optional smoothness weights s
x
(i;j) and s
y
(i;j) control the location of horizon-
tal and vertical tears (or weaknesses) in the surface. For other problems, such as coloriza-
tion (Levin,Lischinski,andWeiss2004) and interactive tone mapping(Lischinski,Farbman,
Uyttendaele et al. 2006a),theycontrolthesmoothnessintheinterpolatedchromaorexpo-
sure field and are often set inversely proportional to the local luminance gradient strength.
For second-order problems, the crease variables c
x
(i;j), c
m
(i;j), and c
y
(i;j) control the
locations of creases in the surface (Terzopoulos1988;Szeliski1990a).
The data values g
x
(i;j) and g
y
(i;j) are gradient data terms (constraints) used by al-
gorithms, such as photometric stereo (Section12.1.1), HDR tone mapping (Section10.2.1)
(Fattal, Lischinski, andWerman2002), Poisson blending (Section9.3.4) (P´erez, Gangnet,
and Blake 2003),andgradient-domainblending(Section9.3.4)(Levin, Zomet, Peleg et al.
2004). Theyaresettozerowhenjustdiscretizingtheconventionalfirst-ordersmoothness
functional (3.94).
The two-dimensional discrete data energy is written as
E
d
=
X
i;j
w(i;j)[f(i;j)   d(i;j)]
2
;
(3.101)
where the local weights w(i;j) control how strongly the data constraint is enforced. These
values are set to zero where there is no data and can be set to the inverse variance of the data
measurements when there is data (as discussed bySzeliski(1989) and in Section3.7.2).
The total energy of the discretized problem can now be written as a quadratic form
E= E
d
+E
s
=x
T
Ax   2x
T
b+ c;
(3.102)
where x = [f(0;0) :::f(m   1;n   1)] is called the state vector.
22
Thesparsesymmetricpositive-definite matrixA is calledthe Hessian since itencodes the
second derivative of the energy function.23 For the one-dimensional, first-order problem, A
is tridiagonal; for the two-dimensional, first-order problem, it is multi-banded with five non-
zero entries per row. We call b the weighted data vector. Minimizing the above quadratic
form is equivalent to solving the sparse linear system
Ax = b;
(3.103)
22 Weusexinsteadoffbecausethisisthemorecommonforminthenumericalanalysisliterature(Goluband
Van Loan 1996).
23 Innumericalanalysis,Aiscalledthecoefficientmatrix(Saad2003);infiniteelementanalysis(Bathe2007),it
is called thestiffness matrix.
178
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
f(i,j)
s
x
(i,j)
f(i,j+1)
s
y
(i,j)
w(i, j)
d(i, j)
f(i+1,j)
f(i+1,j+1)
Figure 3.55 Graphical model interpretation of first-order regularization. The white circles
are the unknowns f(i;j) while the dark circles are the input data d(i;j). In the resistive grid
interpretation, the d and f values encode input and output voltages and the black squares
denoteresistors whose conductance is setto s
x
(i;j), s
y
(i;j), andw(i;j). In the spring-mass
system analogy, the circles denote elevations and the black squares denote springs. The same
graphical model can be used to depict a first-order Markov random field (Figure3.56).
which can be done using a variety of sparse matrix techniques, such as multigrid (Briggs,
Henson, and McCormick 2000)andhierarchicalpreconditioners(Szeliski 2006b), asde-
scribed in AppendixA.5.
While regularization was first introduced to the vision community byPoggio,Torre,and
Koch(1985)and Terzopoulos (1986b)forproblemssuchassurfaceinterpolation, itwas
quickly adoptedby other vision researchers for such varied problems as edge detection (Sec-
tion4.2), optical flow (Section8.4), and shape from shading (Section12.1) (Poggio,Torre,
andKoch1985; Horn andBrooks 1986;Terzopoulos 1986b;Bertero, Poggio, and Torre 1988;
Brox, Bruhn, Papenberg et al. 2004). Poggio, Torre, and Koch(1985)alsoshowedhowthe
discrete energy defined by Equations (3.1003.101) could be implemented ina resistive grid,
as shown in Figure3.55. In computational photography (Chapter10), regularization and its
variants are commonly used to solve problems such as high-dynamic range tone mapping
(Fattal,Lischinski,andWerman2002;Lischinski,Farbman,Uyttendaeleetal.2006a), Pois-
son and gradient-domain blending (P´erez,Gangnet,andBlake2003;Levin,Zomet,Peleget
al. 2004; Agarwala, Dontcheva, Agrawala et al. 2004),colorization(Levin, Lischinski, and
Weiss 2004),andnaturalimagematting(Levin, Lischinski, and Weiss 2008).
Robust regularization
While regularization is most commonly formulated using quadratic (L
2
)norms (compare
with the squared derivatives in (3.923.95) and squared differences in (3.1003.101)), it can
Documents you may be interested
Documents you may be interested