slide1
Download
Skip this Video
Download Presentation
สจพ

Loading in 2 Seconds...

play fullscreen
1 / 41

สจพ - PowerPoint PPT Presentation


  • 170 Views
  • Uploaded on

สจพ. 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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'สจพ' - laird


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
slide1
สจพ

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

slide2
#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
slide4
สจพ

Dark image

Normal image

Bright image

DI&SP

MTCT

slide5
สจพ

High Contrast image

Low Contrast image

DI&SP

MTCT

slide10
Original Image

Original Image - 40

Original Image + 40

slide11
Original Image

Original Image * 1.2

Original Image / 1.2

histogram2
Histogram
  • Histogram in Color Image

RGB

slide13
สจพ

hi = histogram of gray level i

DI&SP

MTCT

slide14
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.
slide15
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

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]]);
slide30
Original Image

Histogram Equalize

Image

Equalization

(256 Level)

histogram equalization7
Histogram Equalization

Equalized Image

Original Image

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
slide39
/********************************************************
  • * 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 */
slide40
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
  • histogram[buffer[i]]++;
slide41
/* 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
  • buffer[i] = sum_hist[buffer[i]];
  • }
ad