c# pdf reader table : Delete pdf pages in reader SDK software service wpf winforms windows dnn SzeliskiBook_20100903_draft36-part610

6.5 Exercises
339
5. Estimate the full3Dpose (includingtranslation) by findingone or more 33grids and
recovering the plane’s full equation from this known homography using the technique
developed byZhang(2000).
6. Alternatively, since you already knowthe rotation, simply estimate the unknown trans-
lation from the known 3D corner points on the cube and their measured 2D locations
using either linear or non-linear least squares.
7. Use the 3D rotation and position to control a VRML or 3D game viewer.
Ex 6.6: Rotation-based calibration Take an outdoor or indoor sequence from a rotating
camera with very little parallax and use it to calibrate the focal length of your camera using
the techniques described in Section6.3.4 or Sections9.1.39.2.1.
1. Take out any radial distortion in the images using one of the techniques from Exer-
cises6.106.11 or using parameters supplied for a given camera by your instructor.
2. Detect andmatch feature points across neighboring frames and chain them into feature
tracks.
3. Compute homographies between overlappingframes and use Equations (6.566.57) to
get an estimate of the focal length.
4. Compute a full 360
panorama and update your focal length estimate to close the gap
(Section9.1.4).
5. (Optional) Perform a complete bundle adjustment in the rotation matrices and focal
length to obtain the highest quality estimate (Section9.2.1).
Ex 6.7: Target-based calibration Use a three-dimensional target tocalibrate your camera.
1. Construct a three-dimensional calibration pattern with known 3D locations. It is not
easy to get high accuracy unless you use a machine shop, but you can get close using
heavy plywood and printed patterns.
2. Find the corners, e.g, using a line finder and intersecting the lines.
3. Implement one of the iterative calibration and pose estimation algorithms described
inTsai(1987);Bogart(1991);GleicherandWitkin(1992) or the system described in
Section6.2.2.
4. Take many pictures at different distances and orientations relative to the calibration
target and report on both your re-projection errors and accuracy. (To do the latter, you
may need to use simulateddata.)
Delete pdf pages in reader - remove PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provides Users with Mature Document Manipulating Function for Deleting PDF Pages
delete a page from a pdf reader; delete page pdf file
Delete pdf pages in reader - 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 pdf pages online; delete pages on pdf
340
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
Ex 6.8: Calibration accuracy Comparethethreecalibration techniques (plane-based, rotation-
based, and 3D-target-based).
One approachis tohavea different studentimplementeachoneandtocomparetheresults.
Another approach is to use synthetic data, potentially re-using the software you developed
for Exercise2.3. The advantage of using synthetic data is that you know the ground truth
for the calibration and pose parameters, you can easily run lots of experiments, and you can
synthetically vary the noise in your measurements.
Here are some possible guidelines for constructing your test sets:
1. Assume a medium-wide focal length (say, 50 field of view).
2. For the plane-based technique, generate a 2D grid target and project it at different
inclinations.
3. For a 3D target, create an inner cube corner and position it so that it fills most of field
of view.
4. For the rotation technique, scatter points uniformly on a sphere until you get a similar
number of points as for other techniques.
Before comparing your techniques, predict which one will be the most accurate (normalize
your results by the square root of the number of points used).
Add varyingamounts of noise toyour measurements anddescribe the noise sensitivity of
your various techniques.
Ex 6.9: Single view metrology Implementasystem to measuredimensionsandreconstruct
a3D model from a single image of a man-madescene usingvisible vanishing directions (Sec-
tion6.3.3) (Criminisi,Reid,andZisserman2000).
1. Find the threeorthogonal vanishingpoints from parallel lines and use them to establish
the three coordinate axes (rotation matrix R of the camera relative to the scene). If
two of the vanishing points are finite (not at infinity), use them to compute the focal
length, assuming a known optical center. Otherwise, find some other way to calibrate
your camera; you could use some of the techniques described bySchaffalitzkyand
Zisserman(2000).
2. Click on a ground plane point to establish your origin and click on a point a known
distance away to establish the scene scale. This lets you compute the translation t
between the camera and the scene. As an alternative, click on a pair of points, one
on the ground plane and one above it, and use the known height to establish the scene
scale.
C# PDF Page Insert Library: insert pages into PDF file in C#.net
how to merge PDF document files by C# code, how to rotate PDF document page, how to delete PDF page using C# .NET, how to reorganize PDF document pages and how
cut pages from pdf file; delete pdf pages
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
VB.NET Page: Insert PDF pages; VB.NET Page: Delete PDF pages; VB.NET Annotate: PDF Markup & Drawing. XDoc.Word for XImage.OCR for C#; XImage.Barcode Reader for C#
delete page from pdf acrobat; delete page in pdf preview
6.5 Exercises
341
3. Write a user interface that lets you click on ground plane points to recover their 3D
locations. (Hint: you already know the camera matrix, so knowledge of a point’s z
value is sufficient to recover its 3D location.) Click on pairs of points (one on the
ground plane, one above it) to measure vertical heights.
4. Extend your system to let you draw quadrilaterals in the scene that correspond to axis-
aligned rectangles in the world, using some of the techniques described bySinha,
Steedly, Szeliski et al.(2008).Exportyour3DrectanglestoaVRMLorPLY
15
file.
5. (Optional) Warpthe pixels enclosed by the quadrilateralusingthe correct homography
to produce a texture map for each planar polygon.
Ex 6.10: Radial distortion with plumb lines Implement a plumb-line algorithm to deter-
mine the radial distortion parameters.
1. Take some images of scenes with lots of straight lines, e.g., hallways in your home or
office, and try to get some of the lines as close to the edges of the image as possible.
2. Extract the edges and link them into curves, as described in Section4.2.2 and Exer-
cise4.8.
3. Fit quadratic or elliptic curves to the linked edges using a generalization of the suc-
cessive line approximation algorithm described in Section4.3.1 and Exercise4.11 and
keepthe curves that fit this form well.
4. For each curved segment, fit a straight line and minimize the perpendicular distance
between the curve andthe line while adjusting the radial distortion parameters.
5. Alternate between re-fitting the straight line and adjusting the radial distortion param-
eters until convergence.
Ex 6.11: Radial distortion with a calibration target Use a grid calibration target to de-
termine the radial distortion parameters.
1. Print out a planar calibrationtarget, mount iton a stiff board, and get it to fill your field
of view.
2. Detect the squares, lines, or dots inyour calibration target.
3. Estimate the homography mapping the target to the camera from the central portion of
the image that does not have any radial distortion.
15
http://meshlab.sf.net.
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Page: Insert PDF Pages. |. Home ›› XDoc.PDF ›› VB.NET PDF: Insert PDF Page. Add and Insert Multiple PDF Pages to PDF Document Using VB.
reader extract pages from pdf; delete pages from pdf reader
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
Page: Extract, Copy, Paste PDF Pages. |. Home ›› XDoc.PDF ›› VB.NET PDF: Copy and Paste PDF Page. VB.NET PDF - PDF File Pages Extraction Guide.
delete pdf pages acrobat; delete pdf page acrobat
342
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
4. Predict the positions of the remaining targets and use the differences between the ob-
served and predicted positions to estimate the radial distortion.
5. (Optional) Fit a general spline model (for severe distortion) instead of the quartic dis-
tortion model.
6. (Optional) Extend your technique to calibrate a fisheye lens.
Ex 6.12: Chromatic aberration Use the radial distortion estimates for each color channel
computed in the previous exercise to clean up wide-angle lens images by warping all of the
channels into alignment. (Optional) Straighten out the images at the same time.
Can you think of any reasons why this warping strategy may not always work?
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
C#.NET PDF Library - Copy and Paste PDF Pages in C#.NET. Easy to C#.NET Sample Code: Copy and Paste PDF Pages Using C#.NET. C# programming
delete pages pdf document; delete page on pdf reader
C# PDF Page Rotate Library: rotate PDF page permanently in C#.net
batch changing PDF page orientation without other PDF reader control. NET, add new PDF page, delete certain PDF page, reorder existing PDF pages and split
cut pages from pdf; copy page from pdf
Chapter 7
Structure from motion
7.1 Triangulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
7.2 Two-frame structure from motion. . . . . . . . . . . . . . . . . . . . . . . . 347
7.2.1 Projective (uncalibrated) reconstruction . . . . . . . . . . . . . . . . 353
7.2.2 Self-calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
7.2.3 Application: View morphing . . . . . . . . . . . . . . . . . . . . . . 357
7.3 Factorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
7.3.1 Perspective and projective factorization . . . . . . . . . . . . . . . . 360
7.3.2 Application: Sparse 3D model extraction . . . . . . . . . . . . . . . 362
7.4 Bundle adjustment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
7.4.1 Exploiting sparsity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
7.4.2 Application: Match move and augmented reality . . . . . . . . . . . 368
7.4.3 Uncertainty and ambiguities . . . . . . . . . . . . . . . . . . . . . . 370
7.4.4 Application: Reconstruction from Internet photos . . . . . . . . . . . 371
7.5 Constrained structure and motion. . . . . . . . . . . . . . . . . . . . . . . . 374
7.5.1 Line-based techniques . . . . . . . . . . . . . . . . . . . . . . . . . 374
7.5.2 Plane-basedtechniques. . . . . . . . . . . . . . . . . . . . . . . . . 376
7.6 Additional reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
7.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
C# Imaging - Scan Barcode Image in C#.NET
RasterEdge Barcode Reader DLL add-in enables developers to add barcode image recognition & barcode types, such as Code 128, EAN-13, QR Code, PDF-417, etc.
cut pages from pdf reader; delete pages from pdf in preview
VB.NET PDF delete text library: delete, remove text from PDF file
Visual Studio .NET application. Delete text from PDF file in preview without adobe PDF reader component installed. Able to pull text
cut pages out of pdf; delete page on pdf document
344
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
(k)
(l)
(m)
(n)
Figure 7.1 Structure from motion systems: (a–d) orthographic factorization (Tomasiand
Kanade 1992)
c
1992 Springer; (e–f) line matching (SchmidandZisserman1997)
c
1997
IEEE; (g–k) incremental structure from motion (Snavely,Seitz,andSzeliski2006); (l) 3D
reconstruction of Trafalgar Square (Snavely,Seitz,andSzeliski2006); (m) 3D reconstruction
of the Great Wall of China (Snavely,Seitz,andSzeliski2006); (n) 3D reconstruction of the
Old Town Square, Prague (Snavely,Seitz,andSzeliski2006)  c 2006 ACM.
7.1 Triangulation
345
In the previous chapter, we saw how 2D and 3D point sets could be aligned and how such
alignments couldbe used toestimate botha camera’s poseandits internal calibration parame-
ters. In this chapter, we look at the converse problem of estimatingthe locations of 3D points
from multiple images given only a sparse set of correspondences between image features.
While this process often involves simultaneously estimating both 3D geometry (structure)
and camera pose (motion), it is commonly known as structure from motion (Ullman1979).
The topics of projective geometry and structure from motion are extremely rich and
some excellent textbooks and surveys have been written on them (FaugerasandLuong2001;
Hartley and Zisserman 2004; Moons, Van Gool, and Vergauwen 2010). Thischapterskips
over a lot of the richer material available in these books, such as the trifocal tensor and al-
gebraic techniques for full self-calibration, and concentrates instead on the basics that we
have found useful in large-scale, image-based reconstruction problems (Snavely,Seitz,and
Szeliski 2006).
We begin with a brief discussion of triangulation (Section7.1), which is the problem of
estimating a point’s 3D location when it is seen from multiple cameras. Next, we look at the
two-frame structure from motion problem (Section7.2), which involves the determination of
the epipolar geometry between two cameras and which can also be used to recover certain
information about the camera intrinsics using self-calibration (Section7.2.2). Section7.3
looks at factorization approaches to simultaneously estimating structure and motion from
large numbers of point tracks using orthographic approximations to the projection model.
We then develop a more general and useful approach to structure from motion, namely the
simultaneous bundle adjustment of all the camera and 3D structure parameters (Section7.4).
We also look at special cases that arise when there are higher-level structures, such as lines
and planes, in the scene (Section7.5).
7.1 Triangulation
Theproblem of determining apoint’s 3Dpositionfrom aset of correspondingimagelocations
and known camera positions is known as triangulation. This problem is the converse of the
pose estimation problem we studied in Section6.2.
One of the simplest ways tosolve this problem is to findthe 3D point p that lies closest to
allof the 3D rays corresponding tothe 2D matching feature locations fx
j
gobservedbycam-
eras fP
j
= K
j
[R
j
jt
j
]g, where t
j
 R
j
c
j
and c
j
is the jth camera center (2.552.56).
As you can see in Figure7.2, these rays originate at c
j
in a direction ^v
j
=N(R
1
j
K
1
j
x
j
).
The nearest point to p on this ray, which we denote as q
j
,minimizes the distance
kc
j
+d
j
^v
j
pk
2
;
(7.1)
346
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
p
x
1
x
0
R
0
c
0
c
1
R
1
v
0
v
1
7.2 Two-frame structure from motion
347
we use homogeneous coordinates p = (X;Y;Z;W), the resulting set of equations is homo-
geneous and is best solved as a singular value decomposition (SVD) or eigenvalue problem
(looking for the smallestsingular vector or eigenvector). If we set W = 1, wecan use regular
linear least squares, but the resulting system may be singular or poorly conditioned, i.e., if all
of the viewing rays are parallel, as occurs for points far away from the camera.
For this reason, it is generally preferable to parameterize 3D points using homogeneous
coordinates, especially if we know that there are likely to be points at greatly varying dis-
tances from the cameras. Of course, minimizing the set of observations (7.57.6) using non-
linear least squares, as described in (6.14 and6.23), is preferable to usinglinear least squares,
regardless of the representation chosen.
For the case of two observations, it turns out that the location of the point p that exactly
minimizes the true reprojection error (7.57.6) can be computed using the solution of degree
six equations (HartleyandSturm1997). Another problem to watch out for with triangulation
is the issue of chirality, i.e., ensuring that the reconstructed points lie in front of all the
cameras (Hartley1998). While this cannot always be guaranteed, a useful heuristic is to take
the points that lie behind the cameras because their rays are diverging (imagine Figure7.2
wherethe rays were pointing away from each other) and toplace them on the plane at infinity
by setting their W values to 0.
7.2 Two-frame structure from motion
So far in our study of 3D reconstruction, we have always assumed that either the 3D point
positions or the3D camera poses are known inadvance. In this section, we take our firstlook
at structure from motion, which is the simultaneous recovery of 3D structure and pose from
image correspondences.
Consider Figure7.3, which shows a 3D point p being viewed from two cameras whose
relative position can be encoded by a rotation R and a translation t. Since we do not know
anything about the camera positions, without loss of generality, we can set the first camera at
the origin c
0
=0 and at a canonical orientation R
0
=I.
Now notice that the observed location of pointp in the firstimage, p
0
=d
0
^x
0
is mapped
into the second image by the transformation
d
1
^x
1
=p
1
=Rp
0
+t = R(d
0
^x
0
)+ t;
(7.7)
where ^x
j
=K
1
j
x
j
are the (local) ray direction vectors. Taking the cross product of both
sides with t in order to annihilate it on the right handside yields
1
d
1
[t]
^x
1
=d
0
[t]
R^x
0
:
(7.8)
1
Thecross-productoperator []
was introduced in (2.32).
348
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
epipolar plane
p
p
(R,t)
c
0
c
1
epipolar
lines
x
0
e
0
e
1
x
1
l
1
l
0
Figure 7.3 Epipolar geometry: The vectors t = c
1
c
0
,p   c
0
and p   c
1
are co-planar
anddefine the basic epipolar constraint expressed in terms of the pixel measurements x
0
and
x
1
.
Taking the dot product of both sides with ^x
1
yields
d
0
^
x
T
1
([t]
R)
^
x
0
=d
1
^
x
T
1
[t]
^
x
1
=0;
(7.9)
since the right hand side is a triple product with two identical entries. (Another way to say
this is that the cross product matrix [t]
is skew symmetric and returns 0 when pre- and
post-multiplied by the same vector.)
We therefore arrive at the basic epipolar constraint
^x
T
1
E^x
0
=0;
(7.10)
where
E= [t]
R
(7.11)
is called the essential matrix (Longuet-Higgins1981).
An alternative way to derive the epipolar constraint is to notice that in order for the cam-
eras tobe orientedso thattherays ^x
0
and ^x
1
intersect in3Datpoint p, the vectors connecting
the two camera centers c
1
c
0
= R
1
1
tand the rays corresponding to pixels x
0
and x
1
,
namely R
1
j
^x
j
,must be co-planar. This requires that the triple product
(
^
x
0
;R
1
^
x
1
; R
1
t) = (R
^
x
0
;
^
x
1
; t) =
^
x
1
(t  R
^
x
0
)=
^
x
T
1
([t]
R)
^
x
0
=0: (7.12)
Notice that the essential matrix E maps a point ^x
0
in image 0 into a line l
1
= E^x
0
in image 1, since ^x
T
1
l
1
= 0 (Figure7.3). All such lines must pass through the second
epipole e
1
,which is therefore defined as the left singular vector of E witha 0 singular value,
or, equivalently, the projection of the vector t into image 1. The dual (transpose) of these
Documents you may be interested
Documents you may be interested