convert pdf page to image c# itextsharp : Add password to pdf without acrobat control Library system web page asp.net azure console cips2ed7-part153

5.2. EDGE DETECTION
49
-1 0 1
1 1 1
-1 -1 -1
0 1 0
-1 0 1
0 0 0
-1 8 -1
-1 0 1
-1 0 1
-1 -1 -1
-1 -1 -1
0 -1 0
Figure 5.2: Masks Used by Faler for Edge Detection
transition point in the edge. Convolving [-1 0 1] with a line performs a type
of dierentiation or edge detection.
The number of masks used for edge detection is almost limitless. Re-
searchers have used dierent techniques to derive masks and then experi-
mented with them to discover more masks. Figure 5.3 shows four masks used
in the source code and examples in this chapter. The rst three masks are
the Kirsch, Prewitt, and Sobel masks as given in Levine’s text [5.2] (there are
dierent masks bearing the same name in the literature) [5.3]. The fourth
mask, the \quick" mask, is one I \created" while working on this process
(there is no doubt that someone else created this mask before me).
The Kirsch, Prewitt, and Sobel masks are \compass gradient" or direc-
tional edge detectors. This means that each of the eight masks detects an
edge in one direction. Given a pixel, there are eight directions to travel to
aneighboring pixel (above, below, left, right, upper left, upper right, lower
left, and lower right). Therefore, there are eight possible directions for an
edge. The directional edge detectors can detect an edge in only one of the
eight directions. To detect only left to right edges, use only one of the eight
masks. To detect all of the edges, perform convolution over an image eight
times using each of the eight masks. The \quick mask" is so named because
it can detect edges in all eight directions in one convolution. This has obvious
speed advantages. There are, however, occasions when detecting one type of
edge is desired, so use a directional mask for those occasions.
There are two basic principles for each edge detector mask. The rst
is that the numbers in the mask sum to zero. If a 3 x 3 area of an image
contains a constant value (such as all ones), then there are no edges in that
area. The result of convolving that area with a mask should be zero. If the
numbers in the mask sum to zero, convolving the mask with a constant area
will result in the correct answer of zero. The second basic principle is that
the mask should approximate dierentiation or amplify the slope of the edge.
The simple example [-1 0 1] given earlier showed how to amplify the slope of
the edge. The rst Kirsch, Prewitt, and Sobel masks use this idea to amplify
Add password to pdf without acrobat - C# PDF Password Library: add, remove, edit PDF file password in C#.net, ASP.NET, MVC, WinForms, WPF
Help to Improve the Security of Your PDF Document by Setting Password
pdf password encryption; pdf password recovery
Add password to pdf without acrobat - VB.NET PDF Password Library: add, remove, edit PDF file password in vb.net, ASP.NET, MVC, WinForms, WPF
Help to Improve the Security of Your PDF Document by Setting Password
pdf security password; add password to pdf without acrobat
50
CHAPTER 5. BASIC EDGE DETECTION
Kirsch
Prewitt
Sobel
Quick mask
5 5 5
1 1 1
1 2 1
-1 0 -1
-3 0 -3
1 -2 1
0 0 0
0 4 0
-3 -3 -3
-1 -1 -1
-1 -2 -1
-1 0 -1
-3 5 5
1 1 1
2 1 0
-3 0 5
1 -2 -1
1 0 -1
-3 -3 -3
1 -1 -1
0 -2 -2
-3 -3 5
1 1 -1
1 0 -1
-3 0 5
1 -2 -1
2 0 -2
-3 -3 5
1 1 -1
1 0 -1
-3 -3 -3
1 -1 -1
0 -1 -2
-3 0 5
1 -2 -1
1 0 -1
-3 5 5
1 1 1
2 1 0
-3 -3 -3
-1 -1 -1
-1 -2 -1
-3 0 -3
1 -2 1
0 0 0
5 5 5
1 1 1
1 2 1
-3 -3 -3
-1 -1 1
-2 -1 0
5 0 -3
-1 -2 1
-1 0 1
5 5 -3
1 1 1
0 1 2
5 -3 -3
-1 1 1
-1 0 1
5 0 -3
-1 -2 1
-2 0 2
5 -3 -3
-1 1 1
-1 0 1
5 5 -3
1 1 1
0 1 2
5 0 -3
-1 -2 1
-1 0 1
-3 -3 -3
-1 -1 1
-2 -1 0
Figure 5.3: Masks for Edge Detection
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.
pdf file password; convert pdf password protected to word online
C# Windows Viewer - Image and Document Conversion & Rendering in
image and document in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Convert to PDF.
change password on pdf document; pdf passwords
5.3. IMPLEMENTING EDGE DETECTORS
51
an edge ramping up from the bottom of an image area to the top.
5.3 Implementing Edge Detectors
Listing 5.1 shows source code that will implement the four edge detectors
shown in Figure 5.3. The rst section of code declares the masks shown in
Figure 5.3. The functions detect
edges and perform
convolution implement
the Kirsch, Prewitt, and Sobel edge detectors. The detect
edges function
calls perform
convolution to detect the edges. Next, it \xes" the edges of
the output image (more on this later) and writes it to the output image le.
The function perform
convolution does the convolution operation eight
times (oncefor each direction)to detect all the edges. First, it calls setup
masks
to copy the correct masks. The parameter detect
type determines which
masks to use. The convention is type 1=Prewitt, 2=Kirsch, and 3=Sobel.
The function perform
convolution clears the output image, sets several max-
imum values, and does the convolution eight times over the entire image
array. At each point, the code checks to see if the result of convolution is
greater than the maximum allowable value or less than zero, and corrects for
these cases.
After convolution, there is the option of thresholding the output of edge
detection. Edge detectors produce results that vary from zero to the maxi-
mum gray level value. This variation shows the strength of an edge. An edge
that changes from 10 to 200 will be stronger than one that changes from 10
to 50. The output of convolution will indicate this strength. It is often desir-
able to threshold the output so strong edges will appear relatively bright (or
dark) and weak edges will not appear at all. This lowers the amount of noise
in the edge detector output and yields a better picture of the edges. The
detect
edges and perform
convolution functions pass a threshold parameter.
If threshold == 1, perform
convolution goes through the output image and
sets any pixel above thehigh parameter to the maximum and any pixel below
the high parameter to zero.
The quick
edge function performs edge detection using the single 3 x 3
quick
mask. Itperforms convolution overtheimage array usingthequick
mask.
It thresholds the output image if requested, and xes the edges of the out-
put image. All these operations are the same as in the detect
edges and
perform
convolution functions.
Several short utility functions make up the remainder of Listing 5.1. The
C# powerpoint - PowerPoint Conversion & Rendering in C#.NET
in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. PowerPoint to PDF Conversion.
create copy protected pdf; copy protecting 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.
change password on pdf file; pdf open password
52
CHAPTER 5. BASIC EDGE DETECTION
setup
masks function copies the desired type of mask (Kirsch, Prewitt, or So-
bel) into the mask arrays for the perform
convolution function. The x
edges
function corrects the output image after convolution (x
edges is shown in
this listing, but resides in source code le utility.c). Convolving a 3 x 3 mask
over an image array does not process the pixels along on the outer edge of
the image. The result is a blank line around the image array. The x
edges
function goes around the edge of the image array and copies valid values out
to the edge. This removes the distracting lines.
Theseedgedetectors arecalled by themain routine ofthe medge program.
The medge program ties these and the edge detectors described in the next
chapter into one convenient program. That program is presented in the next
chapter.
5.4 Results
Let’s close with examples of the edge detectors in action. Figure 5.4 shows
a house image. Figure 5.5 shows the result of applying the Kirsch edge
detector masks. Figure 5.6 shows the result of the Prewitt masks and Figure
5.7 shows the result of the Sobel masks. Figures 5.5, 5.6, and 5.7 are outputs
that were thresholded. Edge values above a threshold of 33 were set to 255
and all others were set to zero. This gives a clear picture of edges and non-
edges. Figure 5.8 shows the result of applying the Sobel masks and not
thresholding the result. If you look closely, you can see some variations in
gray level indicating some edges are stronger than others. Figure 5.9 shows
the result of applying the quick mask. The results of the quick mask are as
good as the other masks, and it operates in one-eighth the time.
5.5 Conclusion
This chapter discussed basic edge detection. The next chapter continues the
discussion of edge detection. There are many creative methods of detect-
ing edges in images. The next chapter discusses the homogeneity operator,
the dierence operator, contrast-based edge detection, and edge ltering by
varying the size of the convolution mask.
JPEG to PDF Converter | Convert JPEG to PDF, Convert PDF to JPEG
image files to PDF directly without the software high speed; Get a compressed PDF file after Support Password protection to protect users' privacy; Developed as
add password to pdf preview; add password to pdf reader
C# Excel - Excel Conversion & Rendering in C#.NET
documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Excel to PDF Conversion.
convert password protected pdf to excel; add copy protection pdf
5.5. CONCLUSION
53
Figure 5.4: The House Image
Figure 5.5: The Result of the Kirsch Masks
TIFF to PDF Converter | Convert TIFF to PDF, Convert PDF to TIFF
PDF to TIFF Converter can protect PDF files with password. use and upgrade; Easy to convert multi-page PDF files to multi-page TIFF files without losing any
reader save pdf with password; adding a password to a pdf
GIF to PDF Converter | Convert GIF to PDF, Convert PDF to GIF
and convert PDF files to GIF images with high quality. It can be functioned as an integrated component without the use of external applications & Adobe Acrobat
pdf user password; convert password protected pdf to normal pdf online
54
CHAPTER 5. BASIC EDGE DETECTION
Figure 5.6: The Result of the Prewitt Masks
Figure 5.7: The Result of the Sobel Masks
5.5. CONCLUSION
55
Figure 5.8: The Result of the Sobel Masks Without Thresholding
Figure 5.9: The Result of the Quick Mask
56
CHAPTER 5. BASIC EDGE DETECTION
5.6 References
5.1 \Image Manipulation By Convolution," Wesley Faler, The C Users Jour-
nal, Vol. 8, No. 8, August 1990, pp. 95-99.
5.2 \Vision in Man and Machine," Martin D. Levine, McGraw-Hill, 1985.
5.3 \Digital Image Processing," Kenneth R. Castleman, Prentice-Hall, 1979.
Chapter 6
Advanced Edge Detection
6.1 Introduction
There are many dierent methods of edge detection. Chapter 5 discussed
some basic techniques. This chapter discusses some unusual and advanced
ideas and presents four edge detectors. The rst two do not use the convo-
lution operation | they use only subtraction. The third edge detector can
vary the level of detail of the edges it will detect. The fourth edge detector
will detect edges in unevenly lit images. Finally, an edge detector is used to
enhance the appearance of an original image. Figure 6.1 shows the original
image used by all the operators.
Figure 6.1: Original House Image
57
58
CHAPTER 6. ADVANCED EDGE DETECTION
6.2 Homogeneity Operator
The rst edge detector is the homogeneity operator [6.1] which uses subtrac-
tion to nd an edge. Figure 6.2 shows an example of this operator. The
operator subtracts each of the pixels next to the center of a 3x3 area from
the center pixel. The result is the maximum of the absolute value of these
subtractions. Subtraction in a homogeneous region (one that is a solid gray
level) produces zero and indicates an absence of edges. A region containing
sharp edges, such as area 2 of Figure 6.2, has a large maximum.
The rst section of Listing 6.1 shows the homogeneity function. This
function is similar in form to the edge detectors discussed in Chapter 5. In
the loop over rows and cols, the code performs the subtraction and nds
the maximum absolute value of the subtractions. The homogeneity operator
requires thresholding (which you can specify). A perfectly homogeneous 3x3
area is rare in an image. If you do not threshold, the result looks like a faded
copy of the original. Thresholding at 30 to 50 for a 256 gray level image gives
good results.
Figure 6.3 shows the result of the homogeneity operator. This operator
gives a good rendition of the edges in the original house image. This is a
quick operator that performs only subtraction | eight operations per pixel
|and no multiplication.
6.3 Dierence Operator
The next edge detector is the dierence operator, another simple operator
that uses subtraction. Recall that edge detection is often called image dier-
entiation (detecting the slope of the gray levels in the image). The dierence
operator performs dierentiation by calculating the dierences between the
pixels that surround the center of a 3x3 area.
Figure 6.4 shows an example of the dierence operator. The dierence
operator nds the absolute value of the dierences between opposite pixels,
the upper left minus lower right, upper right minus lower left, left minus
right, and top minus bottom. The result is the maximum absolute value.
The results shown in Figure 6.4 are similar but not exactly equal to those
from the homogeneity operator in Figure 6.2.
The second part of Listing 6.1 shows the dierence
edge function, which
is similar to the homogeneity function. The dierence
edge function loops
Documents you may be interested
Documents you may be interested