how to convert pdf to word using asp net c# : Annotate pdf file Library software component .net wpf azure mvc cips2ed24-part1910

14.6. MORPHING
219
Figure 14.8: Examples of Image Shearing
two sequences of images. One sequence would warp the circle to the triangle
shape. The second sequence would warp the triangle to the circle shape.
These sequences take care of the transition from one shape to the next.
Figure 14.9 shows this process.
The second step is to blend these two sequences into a third sequence.
The third sequence would be a weighted average of the rst two. This third
sequence would take care of the transition from one gray level to the next.
Placing one image of the third sequence in each frame of a motion picture
lm produces a smooth morphing.
Figure 14.10 illustrates the process. The objective here is to morph a
window to a door. The far left frame of the middle row shows the original
window. The far right of the middle row shows the nal door.
The top row of Figure 14.10 shows the sequence to warping the original
window up to the size and shape of the door. Object warping produced these
by picking a quadrilateral smaller than the image. The output of each step
was an enlarged window.
The bottom row of Figure 14.10 shows the sequence to warping the door
down to the size and shape of the window. Object warping produced these
by picking a quadrilateral larger than the image. The output of each step
was a smaller door.
Annotate pdf file - C# PDF Sticky Note Library: add, delete, update PDF note in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
C#.NET Tutorial for How to Add a Sticky Note Annotation to PDF Page
add comments to pdf in reader; adding comments to pdf file
Annotate pdf file - VB.NET PDF Sticky Note Library: add, delete, update PDF note in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Online VB.NET Tutorial for Adding a Sticky Note Annotation to PDF Page
annotate pdf app android; adding notes to a pdf
220
CHAPTER 14. WARPING AND MORPHING
Figure 14.9: Morphing a Black Circle to a White Pentagon
Figure 14.10: A Morphing Sequence
VB.NET PDF Annotate Library: Draw, edit PDF annotation, markups in
advanced VB.NET PDF editing functions and VB.NET image annotating features, provides developers with a great .NET solution to annotate .pdf file with both text
adding comments to pdf in reader; annotate pdf files ipad
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Also able to uncompress PDF file in VB.NET programs. Offer flexible and royalty-free developing library license for VB.NET programmers to compress PDF file.
annotate pdf google chrome; annotate pdf file
14.7. A WARPING APPLICATION PROGRAM
221
The three frames in the center of the middle row of Figure 14.10 show the
result of a weighted average. An average is the result of adding two images
together and dividing by two. A weighted average is the result of adding
an image to itself several times, adding this result to another image, and
dividing.
The frame closest to the original window is the average of two windows
from the top row and one door from the bottom row. The frame in the center
of the middle row is the average of one window from the top row and one
door from the bottom row. The frame closest to the nal door is the average
of two doors from the bottom row and one window from the top row.
The sequence of frames in the middle row morph the window to the door.
It would look much better had I used a sequence of 3000 warps and averages
instead of 3. The procedure is the same, but the more steps between the
start and the end, the better the eect.
The professional morphing seen on TV and in the movies has hand tun-
ing performed by artists. Those sequences are not as straight forward as
discussed above. Artists take the sequences and manipulate individual pixels
so they look just right. They also adjust the weighted averages using more
complicated algorithms. The results show the tender loving care put into
them.
The .bat le shown in listing 14.3 created the image of Figure 14.10.
The calls to the warp program (described below) created the two warping
sequences. The calls to mainover (chapter 12) performed the weighted aver-
ages. The calls to side (chapter 4) pasted all the small images together to
form the image shown in Figure 14.10.
14.7 A Warping Application Program
Listing 14.3 shows the warp program. This is a standalone program that
performs control point or object warping on images. This program produced
the images shown in this article. warp is a command line driven program
that calls either the warp or object
warp subroutines.
C# PDF Annotate Library: Draw, edit PDF annotation, markups in C#.
C# developers to annotate PDF document in various annotation types in Visual Studio .NET. C# source code for adding or removing annotation from PDF file in .NET
adding comments to a pdf document; annotate pdf ipad app
C# PDF File Split Library: Split, seperate PDF into multiple files
Application. Best and professional adobe PDF file splitting SDK for Visual Studio .NET. outputOps); Divide PDF File into Two Using C#.
add comments to pdf; add notes to pdf preview
222
CHAPTER 14. WARPING AND MORPHING
14.8 Conclusions
This chapter discussed image warping and morphing. Warping bends or
warps objects in images. Morphing is an extension of warping that melts or
morphs one object into another (just like in the commercials). Warping is
an old technique with its roots in the space program of the 1960’s. The ever
increasing power and decreasing price of computers brought these techniques
to Hollywood. They are fun. Experiment with them and turn brick houses
into Jell-O.
14.9 References
14.1 \Digital Image Processing," Kenneth R. Castleman, Prentice-Hall, 1979.
14.2. \Modern Image Processing," Christopher Watkins, Alberto Sadun,
Stephen Marenka, Academic Press, Cambridge, Mass., 1993.
14.3 \Bitmap Image Transformations," Christopher Dean, The C Users Jour-
nal, December 1993, pp. 49-70.
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
Professional VB.NET PDF file merging SDK support Visual Studio .NET. Merge PDF without size limitation. Append one PDF file to the end of another one in VB.NET.
annotate pdf google docs; annotate pdf in browser
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Professional VB.NET PDF file splitting SDK for Visual Studio and .NET framework 2.0. Split PDF file into two or multiple files in ASP.NET webpage online.
android tablet pdf annotation; annotate pdf tablet
Chapter 15
Basic Textures Operations
15.1 Introduction
This chapter will discuss textures and some basictexture operations. Texture
is a characteristic that is dicult to describe, but you know it when you see
it. Humans distinguish many objects in images by their textures. The leaves
on trees and the shingles on a roof may have similar gray levels, but they
have dierent textures. A capable texture operator could segment that image
correctly.
15.2 Textures
Figure 15.1 shows a drawing of dierent textures from a paint program.
Adjectives that describe the textures include dots, lines, random, regular,
horizontal, angled, tiled, woven, rough, smooth, etc. Figure 15.2 shows an
imagecontaining four textures used in the examples later. These textures are
(clockwise starting in the upper left) a fuzzy carpet, a tightly woven straw
mat, random grass, and straw.
One way of describing texture is \things" arranged in a \pattern." Tex-
tures are a function of things and patterns | mathematically, texture =
f(thing, pattern). The thing is a grouping of pixels such as a dot or line.
The pattern is the arrangement of the things such as a random or regular
cluster of dots and horizontal or vertical lines. Regular patterns are usually
man made while random patterns are natural. These ideas about texture all
make sense, but a commonly used model of texture is lacking.
223
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Professional C#.NET PDF SDK for merging PDF file merging in Visual Studio .NET. Append one PDF file to the end of another and save to a single PDF file.
pdf print sticky notes; annotate a pdf document
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Reduce image resources: Since images are usually or large size, images size reducing can help to reduce PDF file size effectively.
pdf annotate; annotate pdf online google docs
224
CHAPTER 15. BASIC TEXTURES OPERATIONS
Figure 15.1: Examples of Textures
Figure 15.2: Four Textures
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
C# File: Split PDF; C# Page: Insert PDF pages; C# Page C# Protect: Add Password to PDF; C# Form: extract value from fields; C# Annotate: PDF Markup &
annotate pdf document; adding annotations to pdf
C# WPF PDF Viewer SDK to annotate PDF document in C#.NET
transparency. Support to create a text box annotation to PDF file. C#.NET WPF PDF Viewer Library: Annotate PDF Document. This part
adding notes to pdf; pdf comments
15.3. EDGE DETECTORS AS TEXTURE OPERATORS
225
What we want is an operator that could characterize the things and pat-
terns that comprise texture. Such an operator would represent a texture by
anumber just as gray levels represent the lightness or darkness of objects.
We could then use the gray level and edge-based segmentation techniques
discussed in earlier chapters. Unfortunately, simple operators that work for
all textures do not exist. There is a collection of operators that work in some
cases. Edge detectors and dierence operators work in certain situations.
The Hurst operator [15.2] produces good results in many images, but has
ahigh computational cost. The common sense comparison approach works
well in many images, but only isolates one texture per image.
One bad trait of texture operators is their computations. Several of them
required many, complex,  oating point calculations. There is no way around
this problem with texture operators. This was an issue in 1993 when I rst
tried to write texture operators. It is not an issue in late 1998 as PCs are
much more powerful.
15.3 Edge Detectors as Texture Operators
Edge detectors can be used as texture operators. This is because a textured
area has many edges compared with a smooth area. Applying an edge de-
tector to a texture produces many strong, bright edges while edge detecting
asmooth area yields nothing. Smoothing the edge detector result gives a
bright area that can be separated from the dark area that lacked edges.
Not all edge detectors work well with textures. The four parts of Figure
15.3 illustrate how the Sobel edge detector (chapter 5) failed to distinguish
two textures. The upper left quarter of the image contains a tightly woven
texture. The upper right quarter contains a random grass texture. Beneath
each texture is the result of the Sobel edge detector. It detected all the edges
in the two distinctly dierent textures. The result, however, is two areas
with similar gray levels.
The range operator is an edge detector that does work well on some
textures. It takes the pixels in an nxn area, sorts them by value, and replaces
the center pixel with the range (the largest pixel value minus the smallest).
Figure 15.4 shows an example of the range operator (chapter 6) applied
to a texture. The upper left quarter is the input image. I placed a small
section of the tightly woven texture of Figure 15.2 into a square of the carpet
texture from Figure 15.2. The upper right quarter of Figure 15.4 shows the
226
CHAPTER 15. BASIC TEXTURES OPERATIONS
Figure 15.3: An Example of How the Sobel Edge Detector Does Not Work
Well with a Texture
result of the range operator applied to the input using a 3x3 area. The range
operator produced dierent gray levels for the dierent textures. The lower
right quarter shows the result of histogram equalization (chapter 4) applied
to the upper right quarter. This is not necessary for segmentation, but itdoes
help highlight the result. The lower left quarter shows the result achieved by
segmenting the range output using simple threshold segmentation (chapter
9).
Three other related \edge detectors" are the variance, sigma, and skew-
ness (chapter 6). The standard deviation is the basis for these operators.
Variance, uses the denition given in [15.1]. That denition of variance takes
an nxn area, sums the squares of the center pixel - each neighbor, and takes
the square root of this sum. Equation (15.1) shows this denition of variance.
variance
Russ
=
r
X
(centerpixel   neighbor)
2
(15.1)
If the center pixel diers from its neighbors, this variance will produce
a large number. This is how it detects edges and produces many edges
in a texture area. Figure 15.5 shows an example of the variance operator
applied to a texture. This image has the same format as Figure 15.4. The
15.3. EDGE DETECTORS AS TEXTURE OPERATORS
227
Figure 15.4: The Result of Applying the Range Edge Detector to a Texture
228
CHAPTER 15. BASIC TEXTURES OPERATIONS
upper left quarter is the input texture and the upper right quarter is the
result of the variance operator. Variance produced two dierent gray levels
for the dierent textures. The histogram equalization result in the lower
right quarter highlights the eect. The lower left corner shows the result of
segmenting the textures using the variance output.
Figure 15.5: The Result ofApplyingthe Variance Edge Detector to a Texture
Adierent, more classical denition of variance is found in [15.3] and
shown in equation (15.2). This denition requires two passes through the
nxn area of the image. The rst pass calculates the mean or average pixel
value of the area. The second pass calculates the variance. This operation
takes more time than the variance dened in equation (15.1).
variance
Levine
=
1
size of area
X
(centerpixel   mean)
2
(15.2)
After calculating the variance from equation (15.2), take the square root
Documents you may be interested
Documents you may be interested