สจพ
This presentation is the property of its rightful owner.
Sponsored Links
1 / 41

สจพ PowerPoint PPT Presentation


  • 89 Views
  • Uploaded on
  • Presentation posted in: General

สจพ. 2.3 Histogram-based Operations. What's a histogram? The Histogram shows the total tonal distribution in the image – global quality. It's a bar-chart of the count of pixels of every tone of gray that occurs in the image.

Download Presentation

สจพ

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


3925091

สจพ

2.3 Histogram-based Operations

  • What's a histogram?

  • The Histogram shows the total tonal distribution in the image – global quality.

  • It's a bar-chart of the count of pixels of every tone of gray that occurs in the image.

  • It helps us analyze, and more importantly, correct the contrast of the image.

DI&SP

MTCT


3925091

#pixel

7 6 5 4 3 2 1 0

0 1 2 3 4 5

intensity


Histogram

Histogram

  • Histogram

    • A simple bar graph that stands for pixel intensities.

      • The pixel intensities are plotted along the x-axis and the number of occurrences for each intensity are plotted along the y-axis.

      • Provide information about contrast and overall intensity distribution of an image


3925091

สจพ

Dark image

Normal image

Bright image

DI&SP

MTCT


3925091

สจพ

High Contrast image

Low Contrast image

DI&SP

MTCT


Histogram1

Histogram


3925091

Original Image

Original Image - 40

Original Image + 40


3925091

Original Image

Original Image * 1.2

Original Image / 1.2


Histogram2

Histogram

  • Histogram in Color Image

RGB


3925091

สจพ

hi = histogram of gray level i

DI&SP

MTCT


3925091

  • The histogram barchart shows at a glance the relative image tone distribution over the entire range.

  • In this image, we have a very high count of pixels that are near, but not at, the white end.


3925091

  • We also have many that are near, but not at, the black end.

  • Our image does not totally fill the possible range from darkest to lightest tones.

  • Our image could have more contrast.


2 3 1 histogram equalization

2.3.1 Histogram Equalization

  • Histogram Equalization

    • (Goal) to obtain a uniform histogram for the output image

      • Mapping of gray level r into gray level s s.t. the distribution of gray level s is uniform.

      • Spreading: the peaks and valleys will be shifted (due to approximation in digitized space)


2 3 1 histogram equalization1

2.3.1 Histogram Equalization

  • Histogram Equalization Steps

    • Compute histogram.

    • Calculate normalized sum of histogram

    • Transform input image to output image


Ex he

Ex. HE

  • Image of 16-level intensity values

Its corresponding histogram


1 compute histogram

1) Compute histogram


2 accum histogram

2) Accum. histogram


2 accum histogram1

2) Accum. histogram


3 transform input image to output image

3) Transform input image to output image


Result intensity values

Result intensity values

Its corresponding histogram


Histogram equalization

Histogram Equalization

Fig. 2.8 (a) Original image; (b) histogram of original image; (c) histogram equalized image; (d) histogram of equalized image.


Histogram equalization1

Histogram Equalization

  • The effects of H.E.

    • H.E. stretches contrast (expand the range of gray levels) for gray levels near histogram maxima

    • Compresses contrast in areas with gray levels near histogram minima.

    • Contrast is expanded for the most of the image pixels => H.E. usually improves the detectability of many image features.


Histogram equalization2

Histogram Equalization

  • The effects of H.E.

    • The resulting histogram is not flat

      • nothing in the discrete approximation of the continuous result previously derived says that it should be flat.

    • Similar effect of enhancement could be achieved by manual contrast stretching approach

      • But, the advantage of H.E is fully automatic.


Histogram equalization3

Histogram Equalization

// histogram

for( idx = 0; idx < IpixelValue.length; idx++ ) {    r = ( IpixelValue[idx] & 0x00FF0000 ) >> 16;    g = ( IpixelValue[idx] & 0x0000FF00 ) >> 8;    b = ( IpixelValue[idx] & 0x000000FF );    red_pixel_value[r]++;    green_pixel_value[g]++;    blue_pixel_value[b]++;}


Histogram equalization4

Histogram Equalization

  • Calculate normalized sum of histogram// rednormalized sum.double scale_factor = 255.0 / IpixelValue.length;for( idx=0; idx < 256; idx++) {    sum += red_pixel_value[idx];    red_Nsum[idx] = (int)((sum * scale_factor) + 0.5);}

  • 1 * (7/16) = 0.43

  • 3 * (7/16) = 1.31

  • . . .


Histogram equalization5

Histogram Equalization

  • Transform input image to output image// LUT inputfor( idx = 0; idx < imageBuffer.getWidth() * imageBuffer.getHeight(); idx++)    OpixelValue[idx] = 0xFF000000 | (red_Nsum[r[idx]] << 16) | (green_Nsum[g[idx]] << 8) | (blue_Nsum[b[idx]]);


3925091

Original Image

Histogram Equalize

Image

Equalization

(256 Level)


Histogram equalization6

Histogram Equalization


Histogram equalization7

Histogram Equalization

Equalized Image

Original Image


Histogram equalization8

Original Image

Equalized Image

Histogram Equalization


Histogram equalization9

Saturation adjustment function

Saturation image

Saturation histogram

Input / Output

Histogram Equalization


Histogram equalization10

Image

Histogram equalized intensity

Histogram Equalization


Histogram equalization11

Original image

Each R, G, B image is histogram equalized

Histogram equalized intensity

Histogram Equalization


3925091

  • /********************************************************

  • * Func: histogram_equalize

  • * Desc: histogram equalize an input image and write it out Params: buffer - pointer to image in memory * number_of_pixels - total number of pixels in image ********************************************************/

  • void histogram_equalize(image_ptr buffer, unsigned long number_of_pixels)

  • {

  • unsigned long histogram[256]; /* image histogram */

  • unsigned long sum_hist[256]; /* sum of histogram elements */


3925091

  • float scale_factor; /* normalized scale factor */

  • unsigned long i; /* index variable */

  • unsigned long sum; /* variable used to increment sum of hist */

  • /* clear histogram to 0 */

  • for(i=0; i<256; i++)

  • histogram[i]=0;

  • /* calculate histogram */

  • for(i=0; i<number_of_pixels; i++)

  • histogram[buffer[i]]++;


3925091

  • /* calculate normalized sum of hist */

  • sum = 0;

  • scale_factor = 255.0 / number_of_pixels;

  • for(i=0; i<256; i++)

  • {

  • sum += histogram[i];

  • sum_hist[i] = (sum * scale_factor) + 0.5;

  • }

  • /* transform image using new sum_hist as a LUT */

  • for(i=0; i<number_of_pixels; i++)

  • buffer[i] = sum_hist[buffer[i]];

  • }


  • Login