11.8. A SHAPE OPERATIONS APPLICATION PROGRAM
179
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0
0
0 200
0
0
0 200
0
0
0
0
0
0
0
0
0
0
0
0
0 200
0 200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 200
0 200
0
0
0
0
0
0
0
0
0
0
0
0
0 200
0
0
0 200
0
0
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 11.30: A Square, its Euclidean Distance Measure, and its Medial Axis
Transform (Part 2)
11.8 A Shape Operations Application Pro-
gram
Listing 11.3 shows application program mainsk that ties together all the
routines that manipulate shapes. It can call 14 dierent operations. The
format of mainsk is the same as the other applications presented in this text.
11.9 Conclusions
This chapter discussed shape operations or morphological lters. These tech-
niques help you improve the appearance of segmentation results. They are
also useful for other situations. As with all the image processing operators in
this system, you must experiment. Try the techniques and tools in dierent
combinations until you nd what works for the image or class of images at
hand.
Pdf image extractor online - Select, copy, paste PDF images in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support PDF Image Extraction from a Page, a Region on a Page, and PDF Document
extract image from pdf file; extract jpg pdf
Pdf image extractor online - VB.NET PDF Image Extract Library: Select, copy, paste PDF images in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support PDF Image Extraction from a Page, a Region on a Page, and PDF Document
extract images from pdf; pdf extract images
180
CHAPTER 11. MANIPULATING SHAPES
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
0
0 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
0
0 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
0
0 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
0
0 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
0
0 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
0
0 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
0
0 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
0
0 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
0
0 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
0
0 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0
0
0 200 200 200 200 200
0
0
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0
0
0 200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 11.31: A Rectangle and its Medial Axis Transform
VB.NET TIFF: TIFF Text Extractor SDK; Extract Text Content from
In this online tutorial, we will offer you information on Standalone VB.NET TIFF text extractor SDK that extracts control SDK into VB.NET image application by
extract image from pdf using; extract text from pdf image
VB.NET PowerPoint: Extract & Collect PPT Slide(s) Using VB Sample
demo code using RasterEdge VB.NET PowerPoint extractor library toolkit. provide powerful & profession imaging controls, PDF document, image to pdf files and
how to extract text from pdf image file; extract images from pdf acrobat
11.10. REFERENCES
181
Figure11.32: (Clockwisefrom Upper Left) A, Its Outline, Medial Axis Trans-
form, and Thinning
11.10 References
11.1 \The Image Processing Handbook, Third Edition," John C. Russ, CRC
Press, 1999.
11.2 \Computer Imaging Recipes in C," Harley R. Myler, and Arthur R.
Weeks, Prentice Hall Publishing, Englewood Clis, New Jersey, 1993.
11.3 \Vision in Man and Machine," Martin D. Levine, McGraw-Hill, 1985.
VB.NET Word: Extract Word Pages, DOCX Page Extraction SDK
this VB.NET Word page extractor add-on can be also used to merge / split Word file, add / delete Word page, sort Word page order or insert image into Word page
extract photo from pdf; extract image from pdf in
VB.NET TIFF: TIFF to Text (TXT) Converter SDK; Convert TIFF to
NET developers to interpret and decode TIFF image file. But different from TIFF text extractor add-on powerful & profession imaging controls, PDF document, tiff
how to extract a picture from a pdf; extract pdf pages to jpg
182
CHAPTER 11. MANIPULATING SHAPES
C# Word: How to Extract Text from C# Word in .NET Project
you can rest assured because this Word text extractor preserves both to provide powerful & profession imaging controls, PDF document, image to pdf files and
extract pictures from pdf; how to extract pictures from pdf files
Chapter 12
Boolean and Overlay
Operations
12.1 Introduction
This chapter will discuss Boolean and overlay operations. These operations
are useful for combining images in interesting ways. They are also good for
creating special eects in images. The goal is to combine two images to
produce a third that has features of the two inputs. The Boolean operations
use the functions of Boolean algebra. The overlay operations lay selected
pixels from one image on top of another. These are similar to the image
addition and subtraction of Chapter 8.
12.2 Boolean Operations
The Boolean operations execute the basic functions from Boolean algebra.
Figure 12.1 shows the truth table for these operations. The output of the
AND is one when both inputs are one. The output of the OR is one if either
of the inputs are one. The output of the exclusive or (XOR) is one if one but
not both of the inputs is one. The NAND is the opposite of the AND, the
NOR is opposite of the OR, and the NOT reverses the input.
It is a simple matter to extend Boolean operations for gray scale images.
Replace the 1s in the A and B columns of the truth table with any non-zero
value. Replace the 1s in the output columns with the non-zero value from
the A column. For example, if the A image contains all 200s and the B image
183
184
CHAPTER 12. BOOLEAN AND OVERLAY OPERATIONS
a
b
a AND b
a OR b
a XOR b
a NAND b
a NOR b
NOT a
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
Figure 12.1: Existing Standard TIFF Tags
contains all 100s, the output of A AND B will be all 200s.
Listing 12.1 shows the subroutines that implement the Boolean opera-
tions. Each of the routines (and
image, or
image, xor
image, nand
image,
nor
image, not
image) follows the usual pattern. They combine the input
image arrays using the truth table and return the result. These are simple,
yet powerful routines.
Listing 12.2 shows the boolean program. This program allows the user to
apply any of the Boolean operators to images. It follows the same pattern
as all main programs in this text.
12.3 Applications of Boolean Operations
Let’s look at two applications of the Boolean operations: masking and label-
ing images. Masking places the gray shades of an image on top of a binary
image derived from it. Figure 12.2 shows an aerial image, and Figure 12.3
shows a segmentation of it from Chapter 10. This is a fairly accurate seg-
mentation, but it is dicult to correlate the white shapes to objects in the
image. Is the large rectangle to the left grass or a parking lot? One way of
determining the source of the objects is to mask the original over the seg-
mentation using the AND operation. Figure 12.4 shows the result ofmasking
(ANDing). It is easy to see that the large rectangle is a tennis court, some
of the roads are cement (white), and others are asphalt (gray).
Another use of the Boolean operations is to create and place labels on top
of images. Listing 12.3 shows an image labeling program called ilabel. This
program writes simple 9x7 block letters to an image le. The user calls the
program by giving an output image name, a line and element in the image,
and the text to go in the image. For example,
ilabel a.tif 10 20 adam
places the letters ADAM in theimage a.tifstarting in thetenth row, twentieth
12.3. APPLICATIONS OF BOOLEAN OPERATIONS
185
Figure 12.2: Original Aerial Image
Figure 12.3: Segmentation of Aerial Image (from Chapter 10)
186
CHAPTER 12. BOOLEAN AND OVERLAY OPERATIONS
element. Most of the listing is the arrays dening the block letters, numbers,
and a few punctuation marks. The program itself loops through the letters
in the text and copies each letter’s array into the image array.
Figure 12.4: Segmented Aerial Image Masked with Original
The left side of the image in Figure 12.5 shows the output of the ilabel
program. The words ADAM PHILLIPS are clear enough, but they will
disappear if laid on top of an image. They need a background. The center
section of Figure 12.5 shows the result of dilating the words as in Chapter
11. The right side of Figure 12.5 shows the nal label | black letters on a
white background. The nal label is the result of the exclusive or (XOR) of
the letters and their dilation. The output of the XOR is white only where
one or the other image is white, but not both.
Figure 12.6 is the outcome of labeling. It is the result of ORing the nal
label of Figure 12.5 with the boy image. ORing allows us to see through the
label to the image underneath. It is also possible to label the image using
the greater overlay discussed later. Creating the label, however, is possible
only via the XOR operation.
These are only two possible uses of the Boolean operations. There are
many more, especially when you start combining them. After all, combining
Boolean operations is how people build computers.
12.3. APPLICATIONS OF BOOLEAN OPERATIONS
187
Figure12.5: ilabel Output on Left, Dilation in Center, XOR of Both on Right
Figure 12.6: Labeled Boy Image
188
CHAPTER 12. BOOLEAN AND OVERLAY OPERATIONS
12.4 Overlay Operations
The overlay operations lay select pixels from one image on top of another
and place the output into a third image. This chapter shows ve types of
pixel overlay operations from image A on top of image B. These are
1. overlay non-zero pixels from A onto B,
2. overlay zero pixels from A onto B,
3. overlay pixels from A onto B if they are greater,
4. overlay pixels from A onto B if they are less, and
5. average the pixels from A and B and use this as the output.
Figures 12.7 through 12.12 illustrate these operations. Figure 12.7 shows
two image arrays: A and B. Figure 12.8 shows the result of laying the non-
zero pixels of A on top of B. This looks like image A except for the absence
of the 2x2 area of 0s in the lower right. Figure 12.9 shows the result of laying
the zero pixels of A on top of B. This looks like image B except for the
addition of the 2x2 area of 0s. Figure 12.10 shows the result of overlaying
the pixels in A that are greater than the corresponding pixels in B. Note the
column of 100s to the far right. Figure 12.11 shows the result of overlaying
the pixels in A that are less than the corresponding pixels in B. Note the
predominance of 50s and the 0s. Figure 12.12 shows the result of averaging
images A and B. Figure 12.12 is not easy to perceive or read and is better
illustrated with the images discussed below.
Listing 12.4shows the subroutines that implement the overlay operations.
The following routines follow theusual model: non
zero
overlay, zero
overlay,
greater
overlay, less
overlay, and average
overlay. They combine the input
image arrays and return the result.
12.5 Applications of Overlay Operations
Let’s look at two applications of image overlaying. The rst is the double
exposure. Figure 12.13 shows two images side by side. Figure 12.14 shows
the result of averaging the two together. This resembles a double exposure
image, as it contains both images.
This technique can also apply a pattern or texture to an image. Figure
12.15 shows a leafy texture, and Figure 12.16 shows a house. Figure 12.17 is
the result of averaging the two. It is easy to recognize the house, but parts
of it (notably the roof and door) have a texture or pattern to them.
Documents you may be interested
Documents you may be interested