histEq
performs the histogram equalization of an image.
The function equalizes the histogram of the input image using the following
algorithm:
Calculate the histogram of the image.
Normalize the histogram so that the sum of histogram bins is 255.
Compute the integral of the histogram.
Transform the image using the integral of the histogram as a look-up table.
Arguments
- image
An 8-bit (8U)
Image
object to transform.- target
The location where the results should be stored. It can take 3 values:
- "new":
a new
Image
object is created and the results are stored inside (the default).- "self":
the results are stored back into
image
(faster but destructive).- An
Image
object: the results are stored in another existing
Image
object. This is fast and will not replace the content ofimage
but will replace that oftarget
. Note that iftarget
does not have the same dimensions, number of channels, and bit depth asimage
, nothing will be stored.
Value
If target="new"
, the function returns an Image
object. If target="self"
, the function returns nothing and modifies
image
in place. If target
is an Image
object,
the function returns nothing and modifies that Image
object in
place.
Author
Simon Garnier, garnier@njit.edu
Examples
balloon <- image(system.file("sample_img/balloon1.png", package = "Rvision"))
balloon_eq <- histEq(balloon)