c# pdf reader table : Delete pages from pdf acrobat application SDK tool html wpf web page online SzeliskiBook_20100903_draft26-part599

4.2 Edges
239
Figure 4.31 Human boundary detection (Martin,Fowlkes,andMalik2004)  c 2004 IEEE.
Thedarkness of the edges corresponds tohowmany human subjects marked anobjectbound-
ary at that location.
intensity variation.3 Think of an image as a height field. On such a surface, edges occur
at locations of steep slopes, or equivalently, in regions of closely packed contour lines (on a
topographic map).
Amathematical way to define the slope and direction of a surface is through its gradient,
J(x) = rI(x) = (
@I
@x
;
@I
@y
)(x):
(4.19)
The local gradient vector J points in the directionof steepest ascent inthe intensityfunction.
Its magnitude is an indication of the slope or strength of the variation, while its orientation
points in a direction perpendicular to the local contour.
Unfortunately, takingimage derivatives accentuates high frequencies andhence amplifies
noise, since the proportion of noise to signal is larger at high frequencies. It is therefore
prudent to smooth the image with a low-pass filter prior to computing the gradient. Because
we would like the response of our edge detector to be independent of orientation, a circularly
symmetric smoothing filter is desirable. As we saw in Section3.2, the Gaussian is the only
separable circularly symmetric filter and so it is used in most edge detection algorithms.
Canny(1986)discussesalternativefiltersandanumberofresearcherreviewalternativeedge
detection algorithms and compare their performance (Davis1975;NalwaandBinford1986;
Nalwa1987;Deriche1987; Freeman and Adelson1991;Nalwa 1993; Heath, Sarkar, Sanocki
et al. 1998; Crane 1997; Ritter andWilson 2000; Bowyer, Kranenburg, and Dougherty 2001;
Arbel´aez, Maire, Fowlkes et al. 2010).
Because differentiation is a linear operation, it commutes with other linear filtering oper-
3
Wedeferthetopicofedge detection in color images.
Delete pages from pdf acrobat - 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 word; delete pages in pdf reader
Delete pages from pdf acrobat - 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
reader extract pages from pdf; delete pages from pdf acrobat
240
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
ations. The gradient of the smoothed image cantherefore be written as
J
(x) = r[G
(x) I(x)] = [rG
](x) I(x);
(4.20)
i.e., we can convolve the image with the horizontal and vertical derivatives of the Gaussian
kernel function,
rG
(x) = (
@G
@x
;
@G
@y
)(x) = [ x   y]
1
3
exp
x
2
+y
2
22
(4.21)
(The parameter  indicates the width of the Gaussian.) This is the same computation that
is performed by Freeman and Adelson’s (1991) first-order steerable filter, which we already
covered in Section3.2.3.
For many applications, however, we wish to thin such a continuous gradient image to
only return isolated edges, i.e., as single pixels at discrete locations along the edge contours.
This can be achieved by looking for maxima in the edge strength (gradient magnitude) in a
direction perpendicular to the edge orientation, i.e., along the gradient direction.
Finding this maximum corresponds to taking a directional derivative of the strength field
in the direction of the gradient and then looking for zero crossings. The desired directional
derivative is equivalent to the dot product between a second gradient operator and the results
of the first,
S
(x) = r  J
(x) = [r
2
G
](x) I(x)]:
(4.22)
The gradient operator dot product with the gradient is called the Laplacian. The convolution
kernel
r
2
G
(x) =
1
3
x
2
+y
2
22
exp
x
2
+y
2
22
(4.23)
is therefore called the Laplacian of Gaussian (LoG) kernel (MarrandHildreth1980). This
kernel can be split into two separable parts,
r
2
G
(x) =
1
3
x
2
22
G
(x)G
(y) +
1
3
y
2
22
G
(y)G
(x)
(4.24)
(Wiejak,Buxton,andBuxton1985), which allows for a much more efficient implementation
using separable filtering (Section3.2.1).
In practice, it is quite common to replace the Laplacian of Gaussian convolution with a
Difference of Gaussian (DoG) computation, since the kernel shapes are qualitatively similar
(Figure3.35). This is especiallyconvenientifa “Laplacianpyramid”(Section3.5) has already
been computed.4
4RecallthatBurtandAdelson’s(1983a)“Laplacianpyramid”actuallycomputeddifferencesofGaussian-filtered
levels.
.NET PDF Document Viewing, Annotation, Conversion & Processing
Redact text content, images, whole pages from PDF file. Annotate & Comment. Edit, update, delete PDF annotations from PDF file. Print.
cut pages out of pdf; delete pages out of a pdf
C# PDF Converter Library SDK to convert PDF to other file formats
manipulate & convert standard PDF documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat.
delete page numbers in pdf; delete page from pdf document
4.2 Edges
241
In fact, it is not strictly necessary to take differences between adjacent levels when com-
puting the edge field. Think about what a zero crossing in a “generalized” difference of
Gaussians image represents. The finer (smaller kernel) Gaussian is a noise-reduced version
of the original image. The coarser (larger kernel) Gaussian is an estimate of the average in-
tensity over a larger region. Thus, whenever the DoG image changes sign, this corresponds
to the (slightly blurred) image going from relatively darker to relatively lighter, as compared
to the average intensity in that neighborhood.
Once we have computed the sign function S(x), we must find its zero crossings and
convert these into edge elements (edgels). Aneasy way todetect and represent zero crossings
is to look for adjacent pixel locations x
i
and x
j
where the sign changes value, i.e., [S(x
i
)>
0] 6= [S(x
j
)> 0].
The sub-pixel location of this crossing canbe obtained bycomputing the “x-intercept” of
the “line” connecting S(x
i
)and S(x
j
),
x
z
=
x
i
S(x
j
)  x
j
S(x
i
)
S(x
j
)  S(x
i
)
:
(4.25)
The orientation and strength of such edgels can be obtained by linearly interpolating the
gradient values computedon the original pixel grid.
An alternative edgel representation can be obtained by linking adjacent edgels on the
dual grid to form edgels that live inside each square formed by four adjacent pixels in the
original pixel grid.
5
The (potential) advantage of this representation is that the edgels now
live on a grid offset by half a pixel from the original pixel grid and are thus easier to store
and access. As before, the orientations and strengths of the edges can be computed by
interpolating the gradient field or estimating these values from the difference of Gaussian
image (see Exercise4.7).
In applications where the accuracyof the edge orientationis more important, higher-order
steerable filters canbe used (FreemanandAdelson1991) (see Section3.2.3). Suchfilters are
more selectivefor moreelongated edges andalsohave thepossibilityof better modeling curve
intersections because they canrepresent multipleorientations at the samepixel (Figure3.16).
Their disadvantage is that they are more expensive to compute and the directional derivative
of the edge strengthdoes not have a simple closed form solution.
6
C# powerpoint - PowerPoint Conversion & Rendering in C#.NET
documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. PowerPoint to PDF Conversion.
cut pages from pdf preview; delete blank pages in pdf files
C# Word - Word Conversion in C#.NET
Word documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Word to PDF Conversion.
delete page in pdf; delete pages from pdf file online
242
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(a)
(b)
(c)
(d)
(e)
(f)
Figure 4.32 Scale selection for edge detection (ElderandZucker1998)  c 1998 IEEE:
(a) original image; (b–c) Canny/Deriche edge detector tuned to the finer (mannequin) and
coarser (shadow) scales; (d) minimum reliable scale for gradient estimation; (e) minimum
reliable scale for second derivative estimation; (f) final detected edges.
Scale selection and blur estimation
As we mentioned before, the derivative, Laplacian, and Difference of Gaussian filters (4.20
4.23)allrequiretheselectionofaspatialscaleparameter. Ifweareonlyinterestedin
detecting sharp edges, the width of the filter can be determined from image noise characteris-
tics (Canny1986;ElderandZucker1998). However, if we want to detect edges that occur at
different resolutions (Figures4.32b–c), a scale-space approach that detects and then selects
edges at different scales may be necessary (Witkin1983;Lindeberg1994,1998a;Nielsen,
Florack, and Deriche 1997).
Elder and Zucker(1998)presentaprincipledapproachtosolvingthisproblem. Given
aknown image noise level, their technique computes, for every pixel, the minimum scale
at which an edge can be reliably detected (Figure4.32d). Their approach first computes
Thisalgorithmisa2Dversionofthe3Dmarchingcubesisosurfaceextractionalgorithm(LorensenandCline
1987).
Infact,theedgeorientationcanhavea180ambiguityfor“baredges”,whichmakesthecomputationofzero
crossings in the derivativemoretricky.
C# Windows Viewer - Image and Document Conversion & Rendering in
standard image and document in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Convert to PDF.
delete pages from a pdf reader; acrobat export pages from pdf
C# Excel - Excel Conversion & Rendering in C#.NET
Excel documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Excel to PDF Conversion.
delete page from pdf online; delete page pdf file
4.2 Edges
243
gradients densely over an image by selecting among gradient estimates computed at different
scales, based on their gradient magnitudes. It then performs a similar estimate of minimum
scale for directed secondderivatives and uses zero crossings of this latter quantity to robustly
select edges (Figures4.32e–f). As an optional final step, the blur width of each edge can
be computed from the distance between extrema in the second derivative response minus the
width of the Gaussian filter.
Color edge detection
While most edge detection techniques have been developed for grayscale images, color im-
ages canprovideadditionalinformation. For example, noticeableedges betweeniso-luminant
colors (colorsthathavethe same luminance) are useful cues butfailtobedetectedby grayscale
edge operators.
One simple approach is to combine the outputs of grayscale detectors run on each color
band separately.
7
However, some care must be taken. For example, if we simply sum up
the gradients in each of the color bands, the signed gradients may actually cancel each other!
(Consider, for example a pure red-to-green edge.) We could also detect edges independently
in each band and then take the union of these, but this might lead to thickened or doubled
edges that are hard to link.
Abetter approach is to compute the oriented energy in each band (MorroneandBurr
1988; Perona and Malik 1990a),e.g., usingasecond-ordersteerablefilter(Section3.2.3)
(FreemanandAdelson1991), and then sum up the orientation-weighted energies and find
their joint best orientation. Unfortunately, the directional derivative of this energy may not
have a closed form solution (as in the case of signed first-order steerable filters), so a simple
zero crossing-based strategy cannot be used. However, the technique described byElderand
Zucker(1998)canbeusedtocomputethesezerocrossingsnumericallyinstead.
An alternative approach is to estimate local color statistics in regions around each pixel
(RuzonandTomasi2001;Martin,Fowlkes,andMalik2004). This has the advantage that
more sophisticated techniques (e.g., 3D color histograms) can be used to compare regional
statistics and that additional measures, such as texture, can also be considered. Figure4.33
shows the output of such detectors.
Of course, many other approaches have been developed for detecting color edges, dating
back to early work byNevatia(1977).RuzonandTomasi(2001) andGevers,vandeWeijer,
and Stokman(2006)providegoodreviewsoftheseapproaches,whichincludeideassuchas
fusing outputs from multiple channels, using multidimensional gradients, and vector-based
7
InsteadofusingtherawRGBspace,amoreperceptually uniformcolorspacesuchasL*a*b*(seeSection2.3.2)
can beused instead. Whentrying tomatchhumanperformance(Martin,Fowlkes,andMalik2004),thismakessense.
However,in termsofthephysics oftheunderlying imageformation and sensing,it may bea questionablestrategy.
VB.NET PDF: How to Create Watermark on PDF Document within
Watermark Creator, users need no external application plugin, like Adobe Acrobat. VB example code to create graphics watermark on multiple PDF pages within the
acrobat extract pages from pdf; delete pages on pdf
VB.NET PowerPoint: VB Code to Draw and Create Annotation on PPT
as a kind of compensation for limitations (other documents are compatible, including PDF, TIFF, MS on slide with no more plug-ins needed like Acrobat or Adobe
delete a page from a pdf; delete pages from pdf in reader
244
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
methods.
Combining edge feature cues
If the goal of edge detection is to match human boundary detection performance (Bowyer,
Kranenburg, and Dougherty2001;Martin, Fowlkes, andMalik2004;Arbel´aez, Maire, Fowlkes
et al. 2010),asopposedtosimplyfindingstablefeaturesformatching,evenbetterdetectors
can be constructed by combining multiple low-level cues such as brightness, color, and tex-
ture.
Martin, Fowlkes, and Malik(2004)describeasystemthatcombinesbrightness,color,and
texture edges to produce state-of-the-art performance on a database of hand-segmented natu-
ral color images (Martin,Fowlkes,Taletal.2001). First, they construct and train
8
separate
oriented half-disc detectors for measuring significant differences in brightness (luminance),
color (a* and b* channels, summed responses), and texture (un-normalized filter bank re-
sponses from the work ofMalik, Belongie, Leungetal. (2001)). Some of the responses
are then sharpened using a soft non-maximal suppression technique. Finally, the outputs of
the three detectors are combined using a variety of machine-learning techniques, from which
logistic regression is found to have the best tradeoff between speed, space and accuracy .
The resulting system (see Figure4.33 for some examples) is shown to outperform previously
developed techniques. Maire,Arbelaez,Fowlkesetal.(2008) improve on these results by
combining the detector based on local appearance with a spectral (segmentation-based) de-
tector (BelongieandMalik1998). In more recent work, Arbel´aez,Maire, Fowlkesetal.
(2010) build a hierarchical segmentation on top of this edge detector using a variant of the
watershed algorithm.
4.2.2 Edge linking
While isolated edges can be useful for a variety of applications, such as line detection (Sec-
tion4.3) and sparse stereo matching (Section11.2), they become even more useful when
linked into continuous contours.
If the edges have been detected using zero crossings of some function, linking them up
is straightforward, since adjacent edgels share common endpoints. Linking the edgels into
chains involves picking up an unlinked edgel and following its neighbors in both directions.
Either a sorted list of edgels (sorted first by x coordinates and then by y coordinates, for
example) or a 2D array can be used to accelerate the neighbor finding. If edges were not
detected using zero crossings, finding the continuation of an edgel can be tricky. In this
case, comparing the orientation (and, optionally, phase) of adjacent edgels can be used for
8
Thetraining uses 200 labeled imagesand testing is performed on a different set of 100 images.
4.2 Edges
245
Figure 4.33 Combined brightness, color, texture boundary detector (Martin,Fowlkes,and
Malik 2004)
c
2004 IEEE. Successive rows show the outputs of the brightness gradient
(BG), color gradient (CG), texture gradient (TG), and combined (BG+CG+TG) detectors.
The final row shows human-labeled boundaries derived from a database of hand-segmented
images (Martin,Fowlkes,Taletal.2001).
246
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
N   0
N   0
W
6
NE  
1
7
NW
SW  
5
Figure 4.34 Chain code representation of a grid-aligned linked edge chain. The code is
represented as a series of direction codes, e.g, 0 1 0 7 6 5, which can further be compressed
using predictive and run-length coding.
disambiguation. Ideas from connected component computation can also sometimes be used
to make the edge linking process even faster (see Exercise4.8).
Once the edgels have been linked into chains, we can apply an optional thresholding
with hysteresis to remove low-strength contour segments (Canny1986). The basic idea of
hysteresis is to set two different thresholds and allow a curve being tracked above the higher
threshold to dip in strengthdown to the lower threshold.
Linked edgel lists can be encoded more compactly using a variety of alternative repre-
sentations. A chain code encodes a list of connected points lying on an N
8
grid using a
three-bit code corresponding to the eight cardinal directions (N, NE, E, SE, S, SW, W, NW)
between a point and its successor (Figure4.34). While this representation is more compact
than the original edgel list (especially if predictive variable-length coding is used), it is not
very suitable for further processing.
Amore usefulrepresentation is the arc length parameterizationof a contour, x(s), where
sdenotes the arc length along a curve. Consider the linked set of edgels shown in Fig-
ure4.35a. We start at one point (the dot at (1:0;0:5) in Figure4.35a) and plot it at coordinate
s= 0 (Figure4.35b). The next point at (2:0;0:5) gets plotted at s = 1, and the next point
at (2:5;1:0) gets plotted at s = 1:7071, i.e., we increment s by the length of each edge seg-
ment. The resulting plot can be resampled on a regular (say, integral) s grid before further
processing.
Theadvantageof thearc-length parameterization is that it makes matchingandprocessing
(e.g., smoothing) operations much easier. Consider the two curves describing similar shapes
shown in Figure4.36. To compare the curves, we first subtract the average values x
0
=
R
s
x(s) from each descriptor. Next, we rescale each descriptor so that s goes from 0 to 1
instead of 0 to S, i.e., we divide x(s) by S. Finally, we take the Fourier transform of each
4.2 Edges
247
0
1
2
3
4
0
1
2
3
4
x
y
0
1
2
3
4
0 1 2 3 4 5 6 7 8 9 10 11
s
.
x
y
(a)
(b)
Figure 4.35 Arc-length parameterization of a contour: (a) discrete points along the contour
are first transcribed as (b) (x;y) pairs alongthe arc lengths. This curve can then be regularly
re-sampled or converted into alternative (e.g., Fourier) representations.
t
x(s)
κ
s=0=1
x
0
s=0=1
x
0
Figure 4.36 Matching two contours using their arc-length parameterization. If both curves
are normalized to unit length, s 2 [0;1] and centered around their centroid x
0
, they will
have the same descriptor up to an overall “temporal” shift (due to different starting points for
s= 0) and a phase (x-y) shift (due to rotation).
248
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(a)
(b)
Figure 4.37 Curve smoothingwith a Gaussian kernel(Lowe1988)
c
1998IEEE: (a) with-
out a shrinkage correction term; (b) with a shrinkage correction term.
Figure 4.38 Changing the character of a curve without affecting its sweep (Finkelsteinand
Salesin1994) c 1994ACM:higherfrequencywaveletscanbereplacedwithexemplarsfrom
astyle library to effect different local appearances.
normalized descriptor, treating each x = (x;y) value as a complex number. If the original
curves are the same (up to an unknown scale and rotation), the resulting Fourier transforms
should differ only by a scale change in magnitude plus a constant complex phase shift, due
to rotation, and a linear phase shift in the domain, due to different starting points for s (see
Exercise4.9).
Arc-length parameterization can also be used to smooth curves in order to remove digiti-
zation noise. However, if we just apply a regular smoothing filter, the curve tends to shrink
onitself (Figure4.37a).Lowe(1989) andTaubin(1995) describe techniques thatcompensate
for this shrinkage by adding an offset term based on second derivative estimates or a larger
smoothing kernel (Figure4.37b). An alternative approach, based on selectively modifying
different frequencies in a wavelet decomposition, is presented byFinkelsteinandSalesin
(1994). In addition to controlling shrinkage without affecting its “sweep”, wavelets allow the
“character” of a curve to be interactively modified, as shown in Figure4.38.
The evolution of curves as they are smoothed and simplifiedis related to “grassfire” (dis-
Documents you may be interested
Documents you may be interested