﻿

c# pdf reader table : Best pdf editor delete pages application control cloud html azure asp.net class SzeliskiBook_20100903_draft14-part586

3.2 Linear ﬁltering
119
(a)
(b)
(c)
Figure 3.15 Second-order steerable ﬁlter (Freeman1992)
c
1992IEEE: (a) original image
of Einstein; (b) orientation map computed from the second-order orientedenergy; (c) original
image with oriented structures enhanced.
which has certain nice scale-space properties (Witkin1983;Witkin,Terzopoulos,andKass
1986). Theﬁve-pointLaplacianisjustacompactapproximationtothismoresophisticated
ﬁlter.
Likewise, the Sobel operator is a simple approximation to a directional or oriented ﬁlter,
which can obtained by smoothing with a Gaussian (or some other ﬁlter) and then taking a
directional derivative r
^u
=
@
@
^u
,which is obtained by taking the dot product between the
gradient ﬁeld r and a unit direction ^u = (cos;sin),
^u  r(G f) = r
^u
(G  f) = (r
^u
G)  f:
(3.27)
The smoothed directional derivative ﬁlter,
G
^u
=uG
x
+vG
y
=u
@G
@x
+v
@G
@y
;
(3.28)
where ^u = (u;v), is an example of a steerable ﬁlter, since the value of an image convolved
with G
^u
can be computed by ﬁrst convolving with the pair of ﬁlters (G
x
;G
y
) and then
steering the ﬁlter (potentially locally) by multiplying this gradient ﬁeld with a unit vector ^u
(FreemanandAdelson1991). The advantage of this approach is thata whole family of ﬁlters
can be evaluated with very little cost.
How about steeringa directionalsecond derivative ﬁlter r
^u
r
^u
G
^u
,which is the result
of taking a (smoothed) directional derivative and then taking the directionalderivative again?
For example, G
xx
is the second directional derivative inthe x direction.
At ﬁrst glance, it would appear that the steering trick will not work, since for every di-
rection ^u, we need to compute a different ﬁrst directional derivative. Somewhat surprisingly,
Best pdf editor delete pages - remove PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provides Users with Mature Document Manipulating Function for Deleting PDF Pages
delete page on pdf; delete page from pdf file online
Best pdf editor delete pages - 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
cut pages out of pdf online; delete pages from pdf file online
120
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(a)
(b)
(c)
(d)
Figure 3.16 Fourth-order steerable ﬁlter (FreemanandAdelson1991)  c 1991 IEEE: (a)
testimage containingbars (lines) andstepedges at differentorientations; (b) averageoriented
energy; (c) dominant orientation; (d) oriented energy as a function of angle (polar plot).
tosteer any order of derivative witharelatively smallnumber of basis functions. For example,
only three basis functions are required for the second-order directional derivative,
G
^u^u
=u
2
G
xx
+2uvG
xy
+v
2
G
yy
:
(3.29)
Furthermore, eachof the basis ﬁlters, while not itself necessarily separable, can be computed
using a linear combination of a small number of separable ﬁlters (FreemanandAdelson
1991).
This remarkable result makes it possible to construct directional derivative ﬁlters of in-
creasingly greater directional selectivity, i.e., ﬁlters that only respond to edges that have
strong local consistency in orientation (Figure3.15). Furthermore, higher order steerable
ﬁlters can respond to potentially more than a single edge orientation at a given location, and
they can respond to both bar edges (thin lines) and the classic step edges (Figure3.16). In
order to do this, however, full Hilbert transform pairs need to be used for second-order and
higher ﬁlters, as described in (FreemanandAdelson1991).
Steerable ﬁlters are often used to construct both feature descriptors (Section4.1.3) and
edge detectors (Section4.2). While the ﬁlters developed byFreemanandAdelson (1991)
are best suited for detecting linear (edge-like) structures, more recent work byKoethe(2003)
shows how a combined 2  2 boundary tensor can be used to encode both edge and junction
(“corner”) features. Exercise3.12 has you implement suchsteerable ﬁlters andapply them to
ﬁnding both edge and corner features.
Summed area table (integral image)
If an image isgoingtobe repeatedly convolved withdifferentbox ﬁlters (andespecially ﬁlters
of different sizes at different locations), you can precompute the summed area table (Crow
C# PDF Print Library: Print PDF documents in C#.net, ASP.NET
WPF Viewer & Editor. WPF: View PDF. WPF: Annotate Fill-in Field Data. Field: Insert, Delete, Update Field. A best PDF printer control for Visual Studio .NET and
delete page pdf; delete pdf pages in reader
C# HTML5 PDF Viewer SDK to view, annotate, create and convert PDF
A best HTML5 PDF viewer control for PDF Document reading on ASP.NET web based application An advanced PDF editor enable C# users to edit PDF text, image
delete page on pdf file; delete pages in pdf reader
3.2 Linear ﬁltering
121
3
2
7
2
3
3
5 12 14 17
3
5 12 14 17
1
5
1
3
4
11 19 24 31
4 11 19 24 31
5
1
3
5
1
9
17
28 38 46
9 17 28 38 46
4
3
2
1
6
13 24 37 48 62
13 24 37 48 62
2
4
1
4
8
15 30 44 59 81
15 30 44 59 81
(a)  S = 24
(b)  s = 28
(c)  S = 24
Figure 3.17 Summedarea tables: (a) original image; (b) summedarea table;(c) computation
of area sum. Each value in the summed area table s(i;j) (red) is computed recursively from
its three adjacent (blue) neighbors (3.31). Area sums S (green) are computed by combining
the four values at the rectangle corners (purple) (3.32). Positive values are shownin bold and
negative values in italics.
1984),whichisjusttherunningsumofallthepixelvaluesfromtheorigin,
s(i;j) =
Xi
k=0
j
X
l=0
f(k;l):
(3.30)
This can be efﬁciently computed using a recursive (raster-scan) algorithm,
s(i;j) = s(i  1;j) + s(i;j   1)   s(i   1;j   1) + f(i;j):
(3.31)
The image s(i;j) is also often called an integral image (see Figure3.17) and can actually be
computed using only two additions per pixel if separate row sums are used (ViolaandJones
2004). Toﬁndthesummedarea(integral)insidearectangle[i
0
;i
1
] [j
0
;j
1
], we simply
combine four samples from the summed area table,
S(i
0
:::i
1
;j
0
:::j
1
)=
i
1
X
i=i
0
j
1
X
j=j
0
s(i
1
;j
1
)  s(i
1
;j
0
1)   s(i
0
1;j
1
)+ s(i
0
1;j
0
1):
(3.32)
Apotential disadvantage of summedarea tables is that they require logM + logN extra bits
in the accumulation image compared to the original image, where M and N are the image
width and height. Extensions of summed area tables can also be used to approximate other
convolution kernels (Wolberg(1990, Section 6.5.2) contains a review).
In computer vision, summed area tables have been used in face detection (Violaand
Jones 2004)tocomputesimplemulti-scalelow-levelfeatures.Suchfeatures,whichconsistof
adjacentrectangles of positive and negativevalues, are also knownas boxlets (Simard,Bottou,
C# PDF Convert to Images SDK: Convert PDF to png, gif images in C#
Best PDF converter SDK for Visual Studio .NET for converting PDF to image in C#.NET application. Converter control easy to create thumbnails from PDF pages.
delete page in pdf file; delete pages of pdf online
C# WPF PDF Viewer SDK to convert and export PDF document to other
WPF Viewer & Editor. WPF: View PDF. WPF: Annotate PDF. Fill-in Field Data. Field: Insert, Delete, Update Field. Best PDF Viewer control as well as a powerful .NET
delete a page from a pdf; cut pages out of pdf
122
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
Haffner etal. 1998).Inprinciple,summedareatablescouldalsobeusedtocomputethesums
in the sum of squared differences (SSD) stereo and motion algorithms (Section11.4). In
practice, separable moving average ﬁlters are usually preferred (Kanade,Yoshida,Odaetal.
1996),unlessmanydifferentwindowshapesandsizesarebeingconsidered(Veksler 2003).
Recursive ﬁltering
The incremental formula (3.31) for the summed area is an example of a recursive ﬁlter, i.e.,
one whose values depends on previous ﬁlter outputs. In the signal processing literature, such
ﬁlters are knownas inﬁnite impulse response (IIR), since the outputof the ﬁlter toan impulse
(single non-zero value) goes on forever. For example, for a summed area table, an impulse
generates an inﬁnite rectangle of 1s below and tothe right of the impulse. The ﬁlters we have
previously studied in this chapter, which involve the image with a ﬁnite extent kernel, are
known as ﬁnite impulse response (FIR).
Two-dimensionalIIR ﬁlters and recursive formulas are sometimes used to compute quan-
tities that involve large area interactions, such as two-dimensional distance functions (Sec-
tion3.3.3) and connected components (Section3.3.4).
More commonly, however, IIR ﬁlters are used inside one-dimensional separable ﬁltering
stages to compute large-extent smoothing kernels, such as efﬁcient approximations to Gaus-
sians and edge ﬁlters (Deriche1990;Nielsen,Florack,andDeriche1997). Pyramid-based
algorithms(Section3.5) canalsobeusedtoperform suchlarge-areasmoothingcomputations.
3.3 More neighborhood operators
As we have just seen, linear ﬁlters can perform a wide variety of image transformations.
However non-linear ﬁlters, suchas edge-preserving median or bilateralﬁlters, cansometimes
perform even better. Other examples of neighborhood operators include morphological oper-
ators that operate on binary images, as well as semi-global operators that compute distance
transforms and ﬁnd connected components in binary images (Figure3.11f–h).
3.3.1 Non-linear ﬁltering
The ﬁlters we have looked at so far have all been linear, i.e., their response to a sum of two
signals is the same as the sum of the individual responses. This is equivalent to saying that
each output pixel is a weighted summation of some number of input pixels (3.19). Linear
ﬁlters are easier to compose and are amenable to frequency response analysis (Section3.4).
In many cases, however, better performance can be obtained by using a non-linear com-
bination of neighboring pixels. Consider for example the image in Figure3.18e, where the
C# PDF Text Add Library: add, delete, edit PDF text in C#.net, ASP
WPF Viewer & Editor. WPF: View PDF. WPF: Annotate Fill-in Field Data. Field: Insert, Delete, Update Field. A best PDF annotation SDK control for Visual Studio .NET
delete pages from a pdf; delete page numbers in pdf
C# PDF Form Data Read Library: extract form data from PDF in C#.
A best PDF document SDK library enable users abilities to read and extract PDF form data in Visual C#.NET WinForm and ASP.NET WebForm applications.
acrobat remove pages from pdf; cut pages from pdf reader
3.3 More neighborhood operators
123
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
Figure 3.18 Medianand bilateralﬁltering: (a) original image withGaussian noise;(b) Gaus-
sian ﬁltered; (c) median ﬁltered; (d) bilaterallyﬁltered; (e) original image with shot noise; (f)
Gaussian ﬁltered;(g) medianﬁltered; (h) bilaterally ﬁltered. Note that the bilateral ﬁlter fails
to remove the shot noise because the noisy pixels are too different from their neighbors.
.
2
1
0
1
2
1
2
1
2
4
1
2
1
2
4
2
0.1 0.3 0.4 0.3 0.1
0.0 0.0 0.0 0.0 0.2
2
1
3
5
8
2
1
3
5
8
1
0.3 0.6 0.8 0.6 0.3
0.0 0.0 0.0 0.4 0.8
1
3
7
6
9
1
3
7
6
9
0
0.4 0.8 1.0 0.8 0.4
0.0 0.0 1.0 0.8 0.4
3
4
8
6
7
3
4
8
6
7
1
0.3 0.6 0.8 0.6 0.3
0.0 0.2 0.8 0.8 1.0
4
5
7
8
9
4
5
7
8
9
2
0.1 0.3 0.4 0.3 0.1
0.2 0.4 1.0 0.8 0.4
(a) median = 4
(b)
α
-mean= 4.6
(c) domain filter
(d) range filter
Figure 3.19 Median and bilateral ﬁltering: (a) medianpixel (green); (b) selected -trimmed
mean pixels; (c) domain ﬁlter (numbers along edge are pixel distances); (d) range ﬁlter.
C# PDF Text Box Edit Library: add, delete, update PDF text box in
with .NET PDF Library. A best PDF annotator for Visual Studio .NET supports to add text box to PDF file in Visual C#.NET project.
delete pdf pages online; delete pages pdf document
C# PDF Markup Drawing Library: add, delete, edit PDF markups in C#
in C# Program. A best PDF annotator control for Visual Studio .NET support to markup PDF with various annotations in C#.NET class.
delete a page from a pdf without acrobat; delete pdf pages
124
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
noise, rather than being Gaussian, is shot noise, i.e., it occasionally has very large values. In
this case, regular blurring with a Gaussian ﬁlter fails to remove the noisy pixels and instead
turns them into softer (but still visible) spots (Figure3.18f).
Median ﬁltering
Abetter ﬁlter to use in this case is the median ﬁlter, which selects the median value from each
pixel’s neighborhood (Figure3.19a). Median values canbe computedin expected linear time
using a randomized select algorithm (Cormen2001) and incremental variants have also been
developed byTomasiandManduchi(1998) andBovik(2000, Section 3.2). Since the shot
noise value usually lies well outside the true values in the neighborhood, the median ﬁlter is
able to ﬁlter away such bad pixels (Figure3.18c).
One downside of the median ﬁlter, in addition to its moderate computational cost, is that
since it selects only one input pixel value to replace each output pixel, it is not as efﬁcient at
averaging away regular Gaussian noise (Huber1981;Hampel,Ronchetti,Rousseeuwetal.
1986; Stewart 1999). Abetterchoicemaybethe-trimmedmean(Lee and Redner 1990)
(Crane1997, p. 109), which averages together all of the pixels except for the  fraction that
are the smallest andthe largest (Figure3.19b).
Another possibility is to compute a weighted median, in which each pixel is used a num-
ber of times depending on its distance from the center. This turns out to be equivalent to
minimizing the weighted objective function
X
k;l
w(k;l)jf(i + k;j + l)   g(i;j)j
p
;
(3.33)
whereg(i;j) is the desired output valueand p = 1 for the weightedmedian. Thevalue p = 2
is the usual weighted mean, which is equivalent tocorrelation (3.12) after normalizing by the
sum of the weights (Bovik2000, Section 3.2) (HaralickandShapiro1992, Section 7.2.6).
The weighted mean also has deep connections to other methods in robust statistics (see Ap-
pendixB.3), such as inﬂuence functions (Huber1981;Hampel,Ronchetti,Rousseeuwetal.
1986).
Non-linear smoothing has another, perhaps even more important property, especially
since shot noise is rare in today’s cameras. Such ﬁltering is more edge preserving, i.e., it
has less tendency to soften edges while ﬁltering away high-frequency noise.
Consider the noisy image in Figure3.18a. In order to remove most of the noise, the
Gaussian ﬁlter is forced tosmoothaway high-frequency detail, which is mostnoticeable near
strong edges. Median ﬁltering does better but, as mentioned before, does not do as good
ajob at smoothing away from discontinuities. See (TomasiandManduchi1998) for some
additional references to edge-preserving smoothing techniques.
C# PDF Text Highlight Library: add, delete, update PDF text
Best PDF document reader SDK control that can highlight PDF text in Visual C# .NET framework C#.NET Demo Code: Highlight Text in Consecutive PDF Pages.
delete pages from a pdf file; delete pages on pdf online
C# PDF Field Edit Library: insert, delete, update pdf form field
application. Free online C# source codes provide best ways to create PDF forms and delete PDF forms in C#.NET framework project. A
copy pages from pdf to new pdf; delete pages from a pdf reader
3.3 More neighborhood operators
125
While we could tryto use the -trimmed mean or weightedmedian, these techniques still
have a tendency to round sharp corners, since the majority of pixels in the smoothing area
come from the background distribution.
Bilateral ﬁltering
What if we were to combinetheideaof a weighted ﬁlter kernelwith a better versionof outlier
rejection? What if instead of rejecting a ﬁxed percentage , we simply reject (in a soft way)
pixels whose values differ too much from the central pixel value? This is the essentialidea in
bilateral ﬁltering, which was ﬁrst popularized in the computer vision community byTomasi
and Manduchi(1998). Chen, Paris, and Durand(2007)and Paris, Kornprobst, Tumblin et al.
(2008) cite similar earlier work (AurichandWeule1995;SmithandBrady1997) as well as
the wealth of subsequent applications in computer vision and computational photography.
In the bilateral ﬁlter, the output pixel value depends on a weighted combination of neigh-
boring pixel values
g(i;j) =
P
k;l
f(k;l)w(i;j;k;l)
P
k;l
w(i;j;k;l)
:
(3.34)
Theweightingcoefﬁcientw(i;j;k;l) dependsonthe productofa domainkernel(Figure3.19c),
d(i;j;k;l) = exp
(i  k)
2
+(j   l)
2
2
2
d
;
(3.35)
and a data-dependent range kernel (Figure3.19d),
r(i;j;k;l) = exp
kf(i;j)   f(k;l)k
2
22
r
:
(3.36)
When multiplied together, these yield the data-dependent bilateral weight function
w(i;j;k;l) = exp
(i  k)
2
+(j   l)
2
2
2
d
kf(i;j)   f(k;l)k
2
22
r
:
(3.37)
Figure3.20 shows an exampleof the bilateral ﬁltering of a noisy step edge. Note how the do-
mainkernelis the usual Gaussian, the range kernel measures appearance (intensity) similarity
to the center pixel, andthe bilateral ﬁlter kernel is a product of these two.
Notice that the range ﬁlter (3.36) uses the vector distance between the center and the
neighboring pixel. This is important in color images, since an edge in any one of the color
bands signals a change in material and hence the need to downweight a pixel’s inﬂuence.
5
5
Tomasi and Manduchi(1998)showthatusingthevectordistance(asopposedtoﬁlteringeachcolorband
separately)reduces colorfringing effects. They also recommend taking the colordifferencein themoreperceptually
uniform CIELAB colorspace (seeSection2.3.2).
126
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(a)
(b)
(c)
(d)
(e)
(f)
Figure 3.20 Bilateral ﬁltering (DurandandDorsey2002)
c
2002 ACM: (a) noisy step
edge input; (b) domain ﬁlter (Gaussian); (c) range ﬁlter (similarity to center pixel value); (d)
bilateral ﬁlter; (e) ﬁltered step edge output; (f) 3D distance between pixels.
Since bilateral ﬁltering is quite slow compared to regular separable ﬁltering, a number
of acceleration techniques have been developed (DurandandDorsey2002;ParisandDurand
2006;Chen, Paris, and Durand 2007;Paris, Kornprobst, Tumblin et al. 2008).Unfortunately,
these techniques tend to use more memory than regular ﬁltering and are hence not directly
applicable to ﬁltering full-color images.
Iterated adaptive smoothing and anisotropic diffusion
Bilateral (and other) ﬁlters can also be applied in aniterative fashion, especiallyif anappear-
ance more like a “cartoon” is desired (TomasiandManduchi1998). When iterated ﬁltering
is applied, a much smaller neighborhood can often be used.
Consider, for example, usingonly the four nearest neighbors, i.e., restricting jk ij+jl
jj  1 in (3.34). Observe that
d(i;j;k;l) = exp
(i  k)2 + (j   l)2
22
d
(3.38)
=
(
1;
jk   ij + jl   jj = 0;
= e
1=2
2
d
; jk   ij + jl   jj = 1:
(3.39)
3.3 More neighborhood operators
127
We can thus re-write (3.34) as
f
(t+1)
(i;j) =
f
(t)
(i;j) + 
P
k;l
f
(t)
(k;l)r(i;j;k;l)
1+ 
P
k;l
r(i;j;k;l)
(3.40)
=
f
(t)
(i;j) +
1+ R
X
k;l
r(i;j;k;l)[f
(t)
(k;l)   f
(t)
(i;j)];
where R =
P
(k;l)
r(i;j;k;l), (k;l) are the N
4
neighbors of (i;j), and we have made the
iterative nature of the ﬁltering explicit.
AsBarash(2002) notes, (3.40) is the same as the discrete anisotropic diffusion equation
ﬁrst proposed byPeronaandMalik (1990b).6 Since its original introduction, anisotropic dif-
fusionhas beenextended andapplied to a wide range of problems (Nielsen,Florack,andDe-
riche 1997; Black, Sapiro, Marimont et al. 1998; Weickert, ter Haar Romeny, and Viergever
ing techniques (Saint-Marc,Chen,andMedioni1991;Barash2002;BarashandComaniciu
2004)aswellasBayesianregularizationwithanon-linearsmoothnesstermthatcanbede-
rived from image statistics (Scharr,Black,andHaussecker2003).
In its general form, the range kernel r(i;j;k;l) = r(kf(i;j) f(k;l)k), which is usually
called the gain or edge-stopping function, or diffusion coefﬁcient, can be any monotonically
increasing function with r
0
(x) ! 0 as x ! 1. Black,Sapiro,Marimontetal.(1998) show
how anisotropic diffusion is equivalent to minimizing a robust penalty function on the image
gradients, which we discuss in Sections3.7.1 and3.7.2). Scharr, Black, andHaussecker
(2003) show how the edge-stopping function can be derived in a principled manner from
local image statistics. They also extend the diffusion neighborhood from N
4
to N
8
,which
allows them to create a diffusion operator that is both rotationally invariant and incorporates
information about the eigenvalues of the local structure tensor.
Note that, without a bias term towards the originalimage, anisotropic diffusion and itera-
tive adaptive smoothing converge to a constant image. Unless a small number of iterations is
used (e.g., for speed), it is usually preferable to formulate the smoothing problem as a joint
minimization of a smoothness term and a data ﬁdelity term, as discussed in Sections3.7.1
and3.7.2 and byScharr, Black,andHaussecker(2003), which introduce such a bias in a
principled manner.
3.3.2 Morphology
While non-linear ﬁlters are often used to enhance grayscale and color images, they are also
used extensively to process binary images. Such images often occur after a thresholding
6
The1=(1+R) factoris not presentin anisotropicdiffusion but becomes negligible as ! 0.