﻿

# c# itext convert pdf to image : Adding a password to a pdf file Library software class asp.net winforms .net ajax cips2ed6-part142

4.4. EQUALIZATION RESULTS
39
For example, if
a= 100
Area
1
=10;000
H
1
(100) = 10
then
p
1
(100) = 10=10;000 = 0:001
Equation 4.3 shows the cumulative-density function (cdf) for the pixel
value a. The cdf is the sum of all the probability density functions up to the
value a.
P
1
(a) =
1
Area
1
a
X
i=0
H
1
(a)
(4.3)
For example,
P
1
(10) = 1=10;000 [H(0) +H(1) + ::: + H(10)]
Equation 4.4 shows the form of the desired histogram equalization func-
tion f(a). H
c
(a) is the histogram of the original image c (the image with
the poor histogram). D
m
is the number of gray levels in the new image b.
D
m
=1=p(a) for all pixel values a in the image b. Note that the image b has
a\ at" histogram
H(0) = H(1) = H(2) = :::
because the probability of each pixel value is now equal | they all occur
the same number of times. So f(a) simply takes the probability density
function for the values in image b and multiplies this by the cumulative
density function of the values in image c. It is important to realize that
histogram equalization reduces the number of gray levels in the image. This
seems to be a loss, but it is not.
f(a) = D
m
1
Area
1
a
X
i=0
H
c
(a)
(4.4)
The algorithm for performing histogram equalization (see Figure 4.6) is
simpler than the equations.
4.4 Equalization Results
Figures 4.7, 4.8, and 4.9 show the result of histogram equalization. The
appearance of some images improves after histogram equalization while it
Adding a password to a pdf file - 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
convert protected pdf to word document; creating password protected pdf
Adding a password to a pdf file - 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
break pdf password online; pdf security password
40
CHAPTER 4. HISTOGRAMS AND EQUALIZATION
1. calculate histogram
loop over i ROWS of input image
loop over j COLS of input image
k = input_image[i][j]
hist[k] = hist[k] + 1
end loop over j
end loop over i
2. calculate the sum of hist
loop over i gray levels
sum = sum + hist[i]
sum_of_hist[i] = sum
end loop over i
3. transform input image to output image
area = area of image (ROWS x COLS)
Dm = number of gray levels in output image
loop over i ROWS
loop over j COLS
k = input_image[i][j]
out_image[i][j] = (Dm/area) x sum_of_hist[k]
end loop over j
end loop over i
Figure 4.6: Histogram Equalization Algorithm
VB.NET PDF Library SDK to view, edit, convert, process PDF file
program. Support adding protection features to PDF file by adding password, digital signatures and redaction feature. Various of
pdf protection remover; protected pdf
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
If you want to read the tutorial of PDF page adding in C# class, we suggest you go to C# Imaging - how to insert a new empty page to PDF file.
4.4. EQUALIZATION RESULTS
41
degrades with other images. For Figure 4.7 (an equalized version of Figure
4.6) the appearance improves. Note the equalized histogram.
Figure 4.7: Equalized Version of Figure 4.5
The aerial photograph, although fuzzy, has much improved contrast. The
dark spots in the lawn areas are trees. If you look closely at Figure 4.7 you
may be able to see these trees. Figure 4.8 shows details from these two
images together with their histograms. The unequalized image on the left of
Figure 4.8 is dark. In the equalized image on the right of Figure 4.8 you can
distinguish the trees and bushes from the grass.
With some photographs the equalized image may appear worse than the
original image. In a properly scanned image, for example, histogram equal-
ization can introduce \noise"into what wereuniform areas of an image. Such
\noise" may not be undesirable | in many cases it re ects subtle texture or
C# PDF Page Insert Library: insert pages into PDF file in C#.net
By using reliable APIs, C# programmers are capable of adding and inserting (empty) PDF page or pages from various file formats, such as PDF, Tiff, Word, Excel
crystal report to pdf with password; pdf owner password
C# PDF insert image Library: insert images into PDF in C#.net, ASP
NET image adding library control for PDF document, you can easily and quickly add an image, picture or logo to any position of specified PDF document file page
42
CHAPTER 4. HISTOGRAMS AND EQUALIZATION
Figure 4.8: Comparing Figures 4.6 and 4.7
detail lost in the more \natural" image.
Figure4.9(segments fromthe housein Figure 4.4)shows howequalization
aects a properly scanned image. The histogram for the unequalized image
on the top stretches across much of the scale. The bricks, windows, and trees
are easy to see. However, in the equalized image on the bottom, the window
and the brick appear too bright. While the equalized image does not appear
as pleasant, it does have better contrast. The darks appear darker and the
lights appear lighter. In this case, however, they are probably too dark and
too light.
Since variations in scanning can signicantly aect the results of image
processing operators, histogram equalization is a prerequisite for further im-
age processing. If you scan an image too bright or too dark, you can remove
objects from an image. The result may \improve" the apparent performance
of processing and lead you to overestimate the eectiveness of an operator.
Consistently pre-processing images with a histogram equalization operation
will ensure consistency in all results.
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
Document Protect. Password: Set File Permissions. Password: Open Document. empty) page to a PDF and adding empty pages pages can be deleted from PDF file as well.
convert password protected pdf to excel; annotate protected pdf
VB.NET PDF File & Page Process Library SDK for vb.net, ASP.NET
Provides you with examples for adding an (empty) page to a PDF and adding empty pages to a PDF from a supported file format, with customized options in VB.NET.
4.4. EQUALIZATION RESULTS
43
Figure 4.9: Equalizing a Properly Scanned Image
C# PDF Library SDK to view, edit, convert, process PDF file for C#
WinFoms project. Support protecting PDF file by adding password and digital signatures with C# sample code in .NET Class. Feel free
pdf password recovery; copy from protected pdf
C# PDF insert text Library: insert text into PDF content in C#.net
C#.NET PDF SDK - Insert Text to PDF Document in C#.NET. Providing C# Demo Code for Adding and Inserting Text to PDF File Page with .NET PDF Library.
44
CHAPTER 4. HISTOGRAMS AND EQUALIZATION
4.5 Implementation
The code in Listing 4.1 implements the histogram operations. The ba-
sic data structure is a 256-element array of unsigned longs. The function
zero
histogram zeros or clears the histogram array. The function calcu-
late
histogram creates the histogram for an image array. It loops through
the image array, takes the pixel value, and increments that element in the
histogram array.
The function perform
histogram
equalization implements the algorithm
shown in Figure 4.6. The rst loop over i calculates the sum
of
harray. The
loops over length and width transforms each pixel in the image to a new value
using the number of gray levels in the new image, the area of the image, and
the sum
of
harray.
The code in Listing 4.2 is the main routine of the histeq program. It calls
the histogram routines of Listing 4.1 to transform an image by equalizing its
histogram. This program produced Figure 4.7 and part of Figure 4.9. Its
structure is like the halftone program of chapter 3 and the vast majority of
programs in this book. It checks the command line, creates arrays, reads
input, call the histogram functions, and writes output.
Listing 4.3 shows the source code for the himage program. This program
reads an image, calculatesits histogram, and drawsthat histogram toanother
image le. This program produced the histograms that appeared with the
images in this chapter. The opening structure of himage is similar to histeq
as it reads the input le and calculates its histogram. The remainder of
himage draws an axis and tick marks in the output le and draws lines to
represent the histogram levels. The code scales the lines to keep them in
the image. The user can specify the size of the histogram image or use the
default values of L and W. The user must specify a width of more than 256
(the number of gray shades). It is best to have the histogram image the same
width as the original image. That allows you to combine the two image with
the side program described next.
4.6 The side Program
Abonus in this chapter is the side program. It combines to images into one
image by either pasting them side by side or on top of one another. The side
program created the images shown in the chapter where the image and its
4.7. CONCLUSIONS
45
histogram are shown together. The himage program created the image of
the histogram, and the side program pasted them together. Listing 4.4 show
the side program. A key to the program is that the two images to be pasted
together must have the correct dimensions. If they are to be combined side
by side, they must have the same height. If they are to be combined top
to bottom, they must have the same width. The program simply reads the
two input images, combines them in a large output image array, and writes
the result to a large output le. The side program is very useful when you
want to show two images at once to highlight dierences and illustrate how
an operator alters an image.
4.7 Conclusions
This chapter has discussed histograms and histogram equalization. His-
tograms show the occurrences of gray shades in an image as a bar graph.
Histogram equalization adjusts the contrast in an image by spreading its his-
togram. This often improves the appearance of an image. Also presented
in this chapter is a program that calculates an images histogram and stores
that as a picture in an image le. Another program presented pastes images
side by side.
4.8 Reference
4.1 \Digital Image Processing," Kenneth R. Castleman, Prentice-Hall, 1979.
46
CHAPTER 4. HISTOGRAMS AND EQUALIZATION
Chapter 5
Basic Edge Detection
5.1 Introduction
Edge detection is one of the fundamental operations in image processing.
Many other operations are based on edge detection and much has been writ-
ten about this subject. This chapter will discuss the subject and explore
some basic techniques. The next chapter will discuss some advanced forms
of edge detection.
5.2 Edge Detection
This chapter introduces edge detection and shows some basic edge detectors.
The next chapter continues with some advanced edge detectors. Detecting
edges is a basic operation in image processing. The edges of items in an
image hold much of the information in the image. The edges tell you where
items are, their size, shape, and something about their texture.
The top part of Figure 5.1 shows the side view of an ideal edge. An edge
is where the gray level of the image moves from an area of low values to high
values or vice versa. The edge itself is at the center of this transition. An
edge detector should return an image with gray levels like those shown in the
lower part of Figure 5.1. The detected edge gives a bright spot at the edge
and dark areas everywhere else. Calculus fans will note the detected edge is
the derivative of the edge. This means it is the slope or rate of change of the
gray levels in the edge. The slope of the edge is always positive or zero, and
it reaches its maximum at the edge. For this reason, edge detection is often
47