c# pdf reader table : Add and delete pages in pdf control software system azure winforms windows console SzeliskiBook_20100903_draft27-part600

4.2 Edges
249
(a)
(b)
(c)
(d)
(e)
(f)
Figure 4.39 Imageeditingin the contour domain(ElderandGoldberg2001)
c
2001 IEEE:
(a) and (d) original images; (b) and (e) extracted edges (edges to be deleted are marked in
white); (c) and (f) reconstructed edited images.
tance) transforms and region skeletons (Section3.3.3) (TekandKimia2003), andcanbe used
torecognize objects basedontheir contour shape (SebastianandKimia2005). Morelocalde-
scriptors of curve shape such as shape contexts (Belongie,Malik,andPuzicha2002) can also
be used for recognition and are potentially more robust to missing parts due to occlusions.
The field of contour detection and linking continues to evolve rapidly and now includes
techniques for global contour grouping, boundary completion, andjunction detection (Maire,
Arbelaez, Fowlkes et al. 2008),aswellasgroupingcontoursintolikelyregions(Arbel´aez,
Maire, Fowlkes et al. 2010)andwide-baselinecorrespondence(Meltzer and Soatto 2008).
4.2.3 Application: Edge editing and enhancement
While edges can serve as components for object recognition or features for matching, they
can alsobe used directly for image editing.
In fact, if the edge magnitude and blur estimate are kept along with each edge, a visually
similar image can be reconstructed from this information (Elder1999). Based on this princi-
ple,ElderandGoldberg(2001) propose a system for “image editing in the contour domain”.
Their system allows users to selectively remove edges corresponding to unwanted features
such as specularities, shadows, or distracting visual elements. After reconstructing the image
from the remaining edges, the undesirable visual features have been removed (Figure4.39).
Add and delete pages in pdf - remove PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provides Users with Mature Document Manipulating Function for Deleting PDF Pages
delete pages of pdf preview; delete pages in pdf
Add and delete pages in pdf - 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
add and delete pages in pdf online; delete pages pdf files
250
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(a)
(b)
(c)
Figure 4.40 Approximating a curve (shown in black) as a polyline or B-spline: (a) original
curve and apolylineapproximationshowninred;(b) successive approximation by recursively
finding points furthestawayfrom the current approximation; (c) smooth interpolating spline,
shown in dark blue, fit to the polyline vertices.
Another potential application is to enhance perceptually salient edges while simplifying
the underlyingimage to producea cartoon-like or “pen-and-ink”stylizedimage (DeCarloand
Santella 2002).ThisapplicationisdiscussedinmoredetailinSection10.5.2.
4.3 Lines
While edges and general curves are suitable for describing the contours of natural objects,
the man-made world is full of straight lines. Detecting and matching these lines can be
useful in a variety of applications, including architectural modeling, pose estimationin urban
environments, and the analysis of printed document layouts.
In this section, we present some techniques for extracting piecewise linear descriptions
from thecurvescomputedintheprevioussection. Webeginwithsomealgorithms for approx-
imating a curve as a piecewise-linear polyline. We then describe the Hough transform, which
can be used to group edgels into line segments even across gaps and occlusions. Finally, we
describe how 3D lines with common vanishing points can be grouped together. These van-
ishing points can be used to calibrate a camera and to determine its orientation relative to a
rectahedral scene, as described in Section6.3.2.
4.3.1 Successive approximation
Aswesaw in Section4.2.2, describing acurveas aseries of 2D locations x
i
=x(s
i
)provides
ageneral representation suitable for matching and further processing. In many applications,
however, it is preferable to approximate such a curve with a simpler representation, e.g., as a
piecewise-linear polyline or as a B-spline curve (Farin1996), as shown in Figure4.40.
Many techniques have been developed over the years to perform this approximation,
whichisalsoknownasline simplification. Oneof the oldest, andsimplest, is the oneproposed
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# Read: PDF Text Extract; C# Read: PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image
delete pages from a pdf online; cut pages from pdf file
C# PDF Page Insert Library: insert pages into PDF file in C#.net
processing control SDK, you can create & add new PDF rotate PDF document page, how to delete PDF page using NET, how to reorganize PDF document pages and how
add remove pages from pdf; delete pages from pdf document
4.3 Lines
251
θ
i
r
i
θ
(x
i
,y
i
)
0
360
0
r
max
r
-r
max
x
y
(a)
(b)
Figure 4.41 Original Houghtransform: (a) each point votes for a complete family of poten-
tial lines r
i
() = x
i
cos  + y
i
sin ; (b) each pencil of lines sweeps out a sinusoid in (r;);
their intersection provides the desired line equation.
byRamer(1972) andDouglasandPeucker(1973), who recursively subdivide the curve at
the point furthestaway from the line joining the two endpoints (or the currentcoarsepolyline
approximation), as shown in Figure4.40.HershbergerandSnoeyink(1992) provide a more
efficient implementation and alsocite some of the other related work inthis area.
Once the line simplification has been computed, it can be used to approximate the orig-
inal curve. If a smoother representation or visualization is desired, either approximating or
interpolating splines or curves can be used (Sections3.5.1 and5.1.1) (SzeliskiandIto1986;
Bartels, Beatty, and Barsky 1987; Farin 1996),asshowninFigure4.40c.
4.3.2 Hough transforms
While curve approximation with polylines can often lead to successful line extraction, lines
intherealworld are sometimes broken up intodisconnected components or made up of many
collinear line segments. In many cases, it is desirable to group such collinear segments into
extended lines. At a further processing stage (described in Section4.3.3), we can then group
such lines into collections with common vanishing points.
The Hough transform, named after its original inventor (Hough1962), is a well-known
technique for having edges “vote” for plausible line locations (DudaandHart1972;Ballard
1981;Illingworth and Kittler 1988).Initsoriginalformulation(Figure4.41),eachedgepoint
votes for allpossible lines passing through it, and lines corresponding to high accumulator or
bin values are examined for potential line fits.9 Unless the points on a line are truly punctate,
abetter approach (in my experience) is to use the local orientation information at each edgel
to vote for a single accumulator cell (Figure4.42), as described below. A hybrid strategy,
TheHoughtransformcanalsobegeneralized tolook forothergeometricfeaturessuchascircles(Ballard
1981),butwedonotcoversuchextensionsinthisbook.
C# PDF insert image Library: insert images into PDF in C#.net, ASP
C#.NET PDF SDK - Add Image to PDF Page in C#.NET. How to Insert & Add Image, Picture or Logo on PDF Page Using C#.NET. Add Image to PDF Page Using C#.NET.
copy pages from pdf into new pdf; delete pages from pdf acrobat reader
VB.NET PDF Password Library: add, remove, edit PDF file password
passwordSetting.IsAssemble = True ' Add password to PDF file. These two demos will help you to delete password for an encrypted PDF file.
delete page in pdf reader; delete pdf pages
252
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
θ
i
r
i
θ
(x
i
,y
i
)
0
360
0
r
max
r
-r
max
x
y
(a)
(b)
Figure 4.42 Oriented Hough transform: (a) an edgel re-parameterized in polar (r;) coor-
dinates, with ^n
i
=(cos 
i
;sin 
i
)andr
i
=^n
i
x
i
;(b) (r;) accumulator array, showing the
votes for the three edgels marked in red, green, and blue.
y
x
d
θ
n
l
^
Figure 4.43 2D line equation expressed in terms of the normal ^n and distance to the origin
d.
where each edgel votes for a number of possible orientation or location pairs centered around
the estimate orientation, may be desirable in some cases.
Before we can vote for line hypotheses, we must first choose a suitable representation.
Figure4.43 (copied from Figure2.2a) shows the normal-distance (^n;d) parameterization for
aline. Since lines are madeupof edge segments, we adoptthe conventionthat the linenormal
^n points in the same direction (i.e., has the same sign) as the image gradient J(x) = rI(x)
(4.19). To obtain a minimal two-parameter representation for lines, we convert the normal
vector into an angle
= tan
1
n
y
=n
x
;
(4.26)
as shown in Figure4.43. The range of possible (;d) values is [ 180
;180
] [ 
p
2;
p
2],
assumingthatweareusingnormalized pixel coordinates(2.61) thatliein[ 1;1]. Thenumber
of bins to usealong each axis depends ontheaccuracyof the positionandorientation estimate
available at each edgel and the expected line density, andis bestsetexperimentallywith some
test runs on sample imagery.
Giventheline parameterization, the Houghtransformproceedsas shownin Algorithm4.2.
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Able to add and insert one or multiple pages to existing adobe PDF document in VB.NET. Add and Insert Multiple PDF Pages to PDF Document Using VB.
add and remove pages from a pdf; delete a page from a pdf file
C# PDF Sticky Note Library: add, delete, update PDF note in C#.net
C#.NET PDF SDK - Add Sticky Note to PDF Page in C#.NET. Able to add notes to PDF using C# source code in Visual Studio .NET framework.
delete page on pdf reader; delete blank pages from pdf file
4.3 Lines
253
procedure Hough(f(x;y;)g):
1. Clear the accumulator array.
2. For each detected edgel at location (x;y) and orientation  = tan
1
n
y
=n
x
,
compute the value of
d= xn
x
+y n
y
and increment the accumulator corresponding to (;d).
3. Find the peaks in the accumulator corresponding to lines.
4. Optionally re-fit the lines to the constituent edgels.
Algorithm 4.2 Outline of a Hough transform algorithm based on oriented edge segments.
Note that the original formulation of the Hough transform, which assumed no knowledge of
the edgel orientation , has an additional loop inside Step 2 that iterates over all possible
values of  and increments a whole series of accumulators.
There are a lot of details in getting the Hough transform to work well, but these are
best worked out by writing an implementation and testing it out on sample data. Exercise
4.12describessomeofthesestepsinmoredetail,includingusingedgesegmentlengthsor
strengths during the voting process, keeping a list of constituent edgels in the accumulator
array for easier post-processing, and optionally combining edges of different “polarity” into
the same line segments.
An alternative to the 2D polar (;d) representation for lines is to use the full 3D m =
(^n;d) line equation, projected onto the unit sphere. While the sphere can be parameterized
using spherical coordinates (2.8),
m^ = (cos cos;sin  cos ;sin );
(4.27)
this does not uniformly sample the sphere and still requires the use of trigonometry.
Analternativerepresentationcanbe obtainedbyusing acube map, i.e., projectingmonto
the face of a unit cube (Figure4.44a). To compute the cube map coordinate of a 3D vector
m, first find the largest (absolute value) component of m, i.e., m =  max(jn
x
j;jn
y
j;jdj),
and use this to select one of the six cube faces. Divide the remaining two coordinates by m
and use these as indices into the cube face. While this avoids the use of trigonometry, it does
require some decision logic.
One advantage of using the cube map, first pointed out byTuytelaars, VanGool, and
Proesmans(1997),isthatallofthelinespassingthroughapointcorrespondtolinesegments
VB.NET PDF insert image library: insert images into PDF in vb.net
with this sample VB.NET code to add an image to textMgr.SelectChar(page, cursor) ' Delete a selected As String = Program.RootPath + "\\" output.pdf" doc.Save
delete pdf pages in preview; delete pages from a pdf document
C# PDF Password Library: add, remove, edit PDF file password in C#
passwordSetting.IsAssemble = true; // Add password to PDF file. These C# demos will help you to delete password for an encrypted PDF file.
delete page in pdf online; add and delete pages in pdf
254
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
)
(a)
(b)
Figure 4.44 Cubemaprepresentationfor line equationsandvanishingpoints: (a) a cubemap
surrounding the unit sphere; (b) projecting the half-cube onto three subspaces (Tuytelaars,
Van Gool, and Proesmans 1997) c 1997IEEE.
on the cube faces, which is useful if the original (full voting) variant of the Hough transform
is being used. In their work, they represent the line equation as ax + b + y = 0, which
does not treat the x and y axes symmetrically. Note that if we restrict d  0 by ignoring the
polarity of the edge orientation (gradient sign), we can use a half-cube instead, which can be
representedusing only three cube faces, as shown in Figure4.44b (Tuytelaars,VanGool,and
Proesmans 1997).
RANSAC-based line detection. AnotheralternativetotheHoughtransformistheRAN-
dom SAmple Consensus (RANSAC) algorithm described in more detail in Section6.1.4. In
brief, RANSAC randomly chooses pairs of edgels to form a line hypothesis and then tests
how many other edgels fall onto this line. (If the edge orientations are accurate enough, a
single edgel can produce this hypothesis.) Lines with sufficiently large numbers of inliers
(matching edgels) are then selected as the desired line segments.
Anadvantage of RANSAC is that noaccumulator array is neededandsothealgorithm can
be more space efficient and potentially less prone to the choice of bin size. The disadvantage
is that many more hypotheses may need to be generated and tested than those obtained by
finding peaks in the accumulator array.
In general, there is no clear consensus on which line estimation technique performs best.
It is therefore a good idea to think carefully about the problem at hand and to implement
several approaches (successive approximation, Hough, and RANSAC) to determine the one
that works best for your application.
4.3.3 Vanishing points
In many scenes, structurally important lines have the same vanishing point because they are
parallel in3D. Examples of such lines are horizontal and vertical building edges, zebra cross-
ings, railway tracks, the edges of furniture such as tables and dressers, and of course, the
ubiquitous calibration pattern (Figure4.45). Finding the vanishing points common to such
4.3 Lines
255
(a)
(b)
(c)
Figure 4.45 Real-world vanishing points: (a) architecture (Sinha,Steedly,Szeliskietal.
2008),(b)furniture(Miˇcuˇs`ık, Wildenauer, and Koˇseck´a 2008)
c
2008 IEEE, and (c) cali-
bration patterns (Zhang2000).
line sets can help refine their position in the image and, in certain cases, help determine the
intrinsic and extrinsic orientation of the camera (Section6.3.2).
Over the years, a large number of techniques have been developed for finding vanishing
points, including(QuanandMohr1989;CollinsandWeiss1990;Brillaut-O’Mahoney1991;
McLean and Kotturi 1995; Becker and Bove 1995; Shufelt 1999; Tuytelaars, Van Gool, and
Proesmans 1997; Schaffalitzky and Zisserman 2000; Antone and Teller 2002; Rother 2002;
Koˇseck´a and Zhang 2005; Pflugfelder 2008; Tardif 2009)—seesomeofthemorerecentpa-
pers for additional references. In this section, we present a simple Hough technique based
on having line pairs vote for potential vanishing point locations, followed by a robust least
squares fitting stage. For alternative approaches, please see some of the more recent papers
listed above.
The firststagein my vanishing pointdetection algorithm uses a Houghtransform toaccu-
mulate votes for likelyvanishing point candidates. As with line fitting, one possible approach
is to have each line vote for all possible vanishing point directions, either using a cube map
(Tuytelaars,VanGool,andProesmans1997;AntoneandTeller2002) or a Gaussian sphere
(CollinsandWeiss1990), optionally using knowledge about the uncertainty in the vanish-
ing point location to perform a weighted vote (CollinsandWeiss1990;Brillaut-O’Mahoney
1991; Shufelt 1999).Mypreferredapproachistousepairsofdetectedlinesegmentstoform
candidate vanishing point locations. Let m^
i
and m^
j
be the (unit norm) line equations for a
pair of line segments and l
i
and l
j
be their corresponding segment lengths. The location of
the corresponding vanishing point hypothesis can be computed as
v
ij
=m^
i
m^
j
(4.28)
and the corresponding weight set to
w
ij
=kv
ij
kl
i
l
j
:
(4.29)
256
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
p
i1
p
i0
v
m
i
^
d
1
A
Figure 4.46 Triple product of the line segments endpoints p
i0
and p
i1
and the vanishing
pointv. The area A is proportionalto the perpendicular distance d
1
and the distance between
the other endpoint p
i0
and the vanishing point.
This has the desirable effect of downweighting (near-)collinear line segments and short line
segments. The Hough space itself can either be represented usingsphericalcoordinates (4.27)
or as a cube map (Figure4.44a).
Once theHoughaccumulator spacehas beenpopulated, peaks canbe detectedin amanner
similar to that previously discussed for line detection. Given a set of candidate line segments
that voted for a vanishing point, which can optionally be kept as a list at each Hough accu-
mulator cell, I then use a robust least squares fit toestimate a more accurate location for each
vanishing point.
Consider the relationship between the two line segment endpoints fp
i0
;p
i1
gandthe van-
ishingpointv, as shown in Figure4.46. The area A of the triangle given by these threepoints,
which is the magnitude of their triple product
A
i
=j(p
i0
p
i1
) vj;
(4.30)
is proportional to the perpendicular distance d
1
between each endpoint and the line through
vand the other endpoint, as well as the distance between p
i0
and v. Assuming that the
accuracy of a fitted line segment is proportional to its endpoint accuracy (Exercise4.13), this
therefore serves as an optimal metric for how well a vanishing point fits a set of extracted
lines (Leibowitz(2001, Section 3.6.1) andPflugfelder(2008, Section 2.1.1.3)). Arobustified
least squares estimate (AppendixB.3) for the vanishing point can therefore be written as
E=
X
i
(A
i
)= v
T
X
i
w
i
(A
i
)m
i
m
T
i
!
v= v
T
Mv;
(4.31)
where m
i
= p
i0
p
i1
is the segment line equation weighted by its length l
i
, and w
i
=
0
(A
i
)=A
i
is the influence of each robustified (reweighted) measurement on the final error
(AppendixB.3). Notice how this metric is closely related to the original formula for the pair-
wise weighted Hough transform accumulation step. The final desiredvaluefor v is computed
as the least eigenvector of M.
4.4 Additional reading
257
While the technique described above proceeds in two discrete stages, better results may
be obtained by alternating between assigning lines to vanishing points and refitting the van-
ishing point locations (AntoneandTeller2002;Koˇseck´aandZhang2005;Pflugfelder2008).
The results of detecting individualvanishing points can also bemade more robustbysimulta-
neouslysearching for pairs or triplets of mutually orthogonal vanishing points (Shufelt1999;
Antone and Teller 2002; Rother 2002; Sinha, Steedly, Szeliski et al. 2008).Someresultsof
such vanishing point detection algorithms can be seen in Figure4.45.
4.3.4 Application: Rectangle detection
Once sets of mutually orthogonal vanishing points have been detected, it now becomes pos-
sible to search for 3D rectangular structures in the image (Figure4.47). Over the last decade,
avariety of techniques have been developed to find such rectangles, primarily focused on
architectural scenes (Koˇseck´aandZhang2005;HanandZhu2005;ShawandBarnes2006;
Miˇcuˇs`ık, Wildenauer, andKoˇseck´a2008;Schindler, Krishnamurthy, Lublinermanetal. 2008).
After detecting orthogonal vanishing directions, Ko
ˇ
seck
´
aand Zhang(2005)refinethe
fitted line equations, search for corners near line intersections, and then verify rectangle hy-
potheses by rectifying the corresponding patches and looking for a preponderance of hori-
zontal and vertical edges (Figures4.47a–b). In follow-on work,Mi
ˇ
cu
ˇ
s
`
ık, Wildenauer, and
Koˇseck´a(2008)useaMarkovrandomfield(MRF)todisambiguatebetweenpotentiallyover-
lapping rectangle hypotheses. They also use a plane sweep algorithm to match rectangles
between different views (Figures4.47d–f).
Adifferent approachis proposed byHanandZhu(2005), whouse a grammar of potential
rectangle shapes and nesting structures (between rectangles and vanishing points) to infer the
most likely assignment of line segments to rectangles (Figure4.47c).
4.4 Additional reading
One of the seminal papers on feature detection, description, and matching is byLowe(2004).
Comprehensive surveys and evaluations of such techniques have been made bySchmid,
Mohr, and Bauckhage(2000); Mikolajczyk and Schmid(2005); Mikolajczyk, Tuytelaars,
Schmid et al.(2005); Tuytelaars and Mikolajczyk(2007)while Shi and Tomasi(1994)and
Triggs(2004)alsoprovidenicereviews.
In the area of feature detectors (Mikolajczyk,Tuytelaars,Schmidetal.2005), inaddition
tosuch classic approaches as F¨orstner–Harris (F¨orstner1986;HarrisandStephens1988) and
difference of Gaussians (Lindeberg1993,1998b;Lowe2004), maximally stable extremal re-
gions (MSERs) are widely used for applications that require affine invariance (Matas,Chum,
258
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(a)
(b)
(c)
(d)
(e)
(f)
Figure 4.47 Rectangle detection: (a) indoor corridor and (b) building exterior withgrouped
facades (Koˇseck´aandZhang2005)
c
2005 Elsevier; (c) grammar-based recognition (Han
and Zhu 2005) c    2005IEEE; ; (d–f)rectanglematching usinga planesweepalgorithm
(Mi
ˇ
cu
ˇ
s
`
ık, Wildenauer, and Ko
ˇ
seck
´
a2008)
c
2008 IEEE.
Urban et al. 2004; Nist´er and Stew´enius 2008). Morerecentinterestpointdetectors s are
discussed byXiaoandShah(2003);Koethe(2003);CarneiroandJepson(2005);Kenney,
Zuliani, and Manjunath(2005); Bay, Tuytelaars, and Van Gool(2006); Platel, Balmachnova,
Florack et al.(2006); Rosten and Drummond(2006), aswellastechniquesbasedonline
matching (Zoghlami,Faugeras,andDeriche1997;Bartoli,Coquerelle,andSturm2004) and
region detection(Kadir,Zisserman,andBrady2004;Matas,Chum,Urbanetal.2004;Tuyte-
laars and Van Gool 2004; Corso and Hager 2005).
Avariety of local feature descriptors (and matching heuristics) are surveyed and com-
pared byMikolajczykandSchmid(2005). More recent publications in this area include
those byvandeWeijerandSchmid (2006);Abdel-HakimandFarag(2006);Winderand
Brown(2007); Hua, Brown, and Winder(2007).Techniquesforefficientlymatchingfeatures
include k-d trees (BeisandLowe1999;Lowe2004;MujaandLowe2009), pyramid match-
ing kernels (GraumanandDarrell2005), metric (vocabulary) trees (Nist´erandStew´enius
2006), andavarietyofmulti-dimensionalhashingtechniques(Shakhnarovich, Viola, and
Darrell 2003; Torralba, Weiss, andFergus 2008; Weiss, Torralba, and Fergus 2008; Kulis and
Documents you may be interested
Documents you may be interested