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

3.2 Linear filtering
119
(a)
(b)
(c)
Figure 3.15 Second-order steerable filter (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). Thefive-pointLaplacianisjustacompactapproximationtothismoresophisticated
filter.
Likewise, the Sobel operator is a simple approximation to a directional or oriented filter,
which can obtained by smoothing with a Gaussian (or some other filter) and then taking a
directional derivative r
^u
=
@
@
^u
,which is obtained by taking the dot product between the
gradient field 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 filter,
G
^u
=uG
x
+vG
y
=u
@G
@x
+v
@G
@y
;
(3.28)
where ^u = (u;v), is an example of a steerable filter, since the value of an image convolved
with G
^u
can be computed by first convolving with the pair of filters (G
x
;G
y
) and then
steering the filter (potentially locally) by multiplying this gradient field with a unit vector ^u
(FreemanandAdelson1991). The advantage of this approach is thata whole family of filters
can be evaluated with very little cost.
How about steeringa directionalsecond derivative filter 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 first glance, it would appear that the steering trick will not work, since for every di-
rection ^u, we need to compute a different first directional derivative. Somewhat surprisingly,
Freeman and Adelson(1991)showedthat,fordirectionalGaussianderivatives,itispossible
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 filter (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 filters, while not itself necessarily separable, can be computed
using a linear combination of a small number of separable filters (FreemanandAdelson
1991).
This remarkable result makes it possible to construct directional derivative filters of in-
creasingly greater directional selectivity, i.e., filters that only respond to edges that have
strong local consistency in orientation (Figure3.15). Furthermore, higher order steerable
filters 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 filters, as described in (FreemanandAdelson1991).
Steerable filters are often used to construct both feature descriptors (Section4.1.3) and
edge detectors (Section4.2). While the filters 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 filters andapply them to
finding both edge and corner features.
Summed area table (integral image)
If an image isgoingtobe repeatedly convolved withdifferentbox filters (andespecially filters
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 filtering
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 efficiently 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). Tofindthesummedarea(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 filters are usually preferred (Kanade,Yoshida,Odaetal.
1996),unlessmanydifferentwindowshapesandsizesarebeingconsidered(Veksler 2003).
Recursive filtering
The incremental formula (3.31) for the summed area is an example of a recursive filter, i.e.,
one whose values depends on previous filter outputs. In the signal processing literature, such
filters are knownas infinite impulse response (IIR), since the outputof the filter toan impulse
(single non-zero value) goes on forever. For example, for a summed area table, an impulse
generates an infinite rectangle of 1s below and tothe right of the impulse. The filters we have
previously studied in this chapter, which involve the image with a finite extent kernel, are
known as finite impulse response (FIR).
Two-dimensionalIIR filters 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 filters are used inside one-dimensional separable filtering
stages to compute large-extent smoothing kernels, such as efficient approximations to Gaus-
sians and edge filters (Deriche1990;Nielsen,Florack,andDeriche1997). Pyramid-based
algorithms(Section3.5) canalsobeusedtoperform suchlarge-areasmoothingcomputations.
3.3 More neighborhood operators
As we have just seen, linear filters can perform a wide variety of image transformations.
However non-linear filters, suchas edge-preserving median or bilateralfilters, 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 find connected components in binary images (Figure3.11f–h).
3.3.1 Non-linear filtering
The filters 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
filters 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 bilateralfiltering: (a) original image withGaussian noise;(b) Gaus-
sian filtered; (c) median filtered; (d) bilaterallyfiltered; (e) original image with shot noise; (f)
Gaussian filtered;(g) medianfiltered; (h) bilaterally filtered. Note that the bilateral filter 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 filtering: (a) medianpixel (green); (b) selected -trimmed
mean pixels; (c) domain filter (numbers along edge are pixel distances); (d) range filter.
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 filter fails to remove the noisy pixels and instead
turns them into softer (but still visible) spots (Figure3.18f).
Median filtering
Abetter filter to use in this case is the median filter, 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 filter is
able to filter away such bad pixels (Figure3.18c).
One downside of the median filter, 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 efficient 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 influence 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 filtering is more edge preserving, i.e., it
has less tendency to soften edges while filtering away high-frequency noise.
Consider the noisy image in Figure3.18a. In order to remove most of the noise, the
Gaussian filter is forced tosmoothaway high-frequency detail, which is mostnoticeable near
strong edges. Median filtering 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 filtering
What if we were to combinetheideaof a weighted filter kernelwith a better versionof outlier
rejection? What if instead of rejecting a fixed 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 filtering, which was first 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 filter, 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)
Theweightingcoefficientw(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 filtering 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 filter kernel is a product of these two.
Notice that the range filter (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 influence.
5
5
Tomasi and Manduchi(1998)showthatusingthevectordistance(asopposedtofilteringeachcolorband
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 filtering (DurandandDorsey2002)
c
 2002 ACM: (a) noisy step
edge input; (b) domain filter (Gaussian); (c) range filter (similarity to center pixel value); (d)
bilateral filter; (e) filtered step edge output; (f) 3D distance between pixels.
Since bilateral filtering is quite slow compared to regular separable filtering, 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 filtering and are hence not directly
applicable to filtering full-color images.
Iterated adaptive smoothing and anisotropic diffusion
Bilateral (and other) filters can also be applied in aniterative fashion, especiallyif anappear-
ance more like a “cartoon” is desired (TomasiandManduchi1998). When iterated filtering
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 filtering explicit.
AsBarash(2002) notes, (3.40) is the same as the discrete anisotropic diffusion equation
first 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
1998; Weickert 1998).Ithasalsobeenshowntobecloselyrelatedtootheradaptivesmooth-
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 coefficient, 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 fidelity 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 filters 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.
128
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(a)
(b)
(c)
(d)
(e)
(f)
Figure 3.21 Binary image morphology: (a) original image; (b) dilation; (c) erosion; (d)
majority; (e) opening; (f) closing. The structuring element for all examples is a 5 5 square.
The effects of majority are a subtle rounding of sharp corners. Opening fails to eliminate the
dot, since it is not wide enough.
operation,
(f;t) =
(
1 if f  t;
0 else;
(3.41)
e.g., convertinga scanned grayscale document intoa binary image for further processing such
as optical character recognition.
The most common binary image operations are called morphological operations, since
they change the shape of the underlying binary objects (RitterandWilson2000, Chapter 7).
To perform such an operation, we first convolve the binary image with a binary structuring
element and then select a binary output value depending on the thresholded result of the
convolution. (This is not the usual way in which these operations are described, but I find it
anice simple way to unify the processes.) The structuring element can be any shape, from
asimple 3  3 box filter, to more complicated disc structures. It can even correspond to a
particular shape that is being sought for in the image.
Figure3.21 shows a close-up of the convolution of a binary image f with a 3  3 struc-
turing element s andthe resulting images for the operations described below. Let
c= f   s
(3.42)
bethe integer-valuedcount of thenumber of 1sinside eachstructuring elementas itis scanned
over the image and S be the size of the structuring element (number of pixels). The standard
operations used in binary morphology include:
 dilation: dilate(f;s) = (c;1);
 erosion: erode(f;s) = (c;S);
 majority: maj(f;s) = (c;S=2);
 opening: open(f;s) = dilate(erode(f;s);s);
Documents you may be interested
Documents you may be interested