Image processing and computer vision Chapter 6: Histogram equalization and color models Historgram, color v.4e 1.

Slides:



Advertisements
Similar presentations
Point Processing Histograms. Histogram Equalization Histogram equalization is a powerful point processing enhancement technique that seeks to optimize.
Advertisements

Laboratory of Image Processing Pier Luigi Mazzeo
Grey Level Enhancement Contrast stretching Linear mapping Non-linear mapping Efficient implementation of mapping algorithms Design of classes to support.
Chapter 3 Image Enhancement in the Spatial Domain.
Color & Light, Digitalization, Storage. Vision Rods work at low light levels and do not see color –That is, their response depends only on how many photons,
Histogram Specification
HISTOGRAM TRANSFORMATION IN IMAGE PROCESSING AND ITS APPLICATIONS Attila Kuba University of Szeged.
Histogram Processing The histogram of a digital image with gray levels from 0 to L-1 is a discrete function h(rk)=nk, where: rk is the kth gray level nk.
Computer Vision Chapter 6 Color.
Intensity Transformations
Image Processing IB Paper 8 – Part A Ognjen Arandjelović Ognjen Arandjelović
Digital Image Processing
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.
HISTOGRAM TRANSFORMATION IN IMAGE PROCESSING SHINTA P TEKNIK INFORMATIKA STMIK MDP 2011.
Digital Image Processing & Pattern Analysis (CSCE 563) Intensity Transformations Prof. Amr Goneid Department of Computer Science & Engineering The American.
CS324e - Elements of Graphics and Visualization Color Histograms.
© 2002 by Yu Hen Hu 1 ECE533 Digital Image Processing Color Imaging.
Images and colour Colour - colours - colour spaces - colour models Raster data - image representations - single and multi-band (multi-channel) images -
Tutorial # 9 Nov. 21, Segmentation  Isolating a region/regions of interest in an image  Useful for:  Collect more meaningful data from an image.
CS559-Computer Graphics Copyright Stephen Chenney Color Recap The physical description of color is as a spectrum: the intensity of light at each wavelength.
9/14/04© University of Wisconsin, CS559 Spring 2004 Last Time Intensity perception – the importance of ratios Dynamic Range – what it means and some of.
Digital Image Processing, 3rd ed. © 1992–2008 R. C. Gonzalez & R. E. Woods Gonzalez & Woods Chapter 3 Intensity Transformations.
Mestrado em Ciência de Computadores Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos VC 14/15 – TP3 Digital Images Miguel Tavares Coimbra.
1 Color Processing Introduction Color models Color image processing.
Image Processing Lecture 2 - Gaurav Gupta - Shobhit Niranjan.
1 © 2010 Cengage Learning Engineering. All Rights Reserved. 1 Introduction to Digital Image Processing with MATLAB ® Asia Edition McAndrew ‧ Wang ‧ Tseng.
Manipulating contrast/point operations. Examples of point operations: Threshold (demo) Threshold (demo) Invert (demo) Invert (demo) Out[x,y] = max – In[x,y]
Remote Sensing and Image Processing: 2 Dr. Hassan J. Eghbali.
Digital Image Processing Contrast Enhancement: Part I
Digital Image Processing Lecture 4: Image Enhancement: Point Processing Prof. Charlene Tsai.
1 Remote Sensing and Image Processing: 2 Dr. Mathias (Mat) Disney UCL Geography Office: 301, 3rd Floor, Chandler House Tel:
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
September 17, 2013Computer Vision Lecture 5: Image Filtering 1ColorRGB HSI.
Digital Image Processing Part 1 Introduction. The eye.
Intensity Transformations (Histogram Processing)
Digital Image Processing (Digitaalinen kuvankäsittely) Exercise 2
CS654: Digital Image Analysis Lecture 30: Color Model Conversion.
DIGITAL IMAGE. Basic Image Concepts An image is a spatial representation of an object An image can be thought of as a function with resulting values of.
Image Processing Ch2: Digital image Fundamentals Prepared by: Tahani Khatib.
Chapter 1: Image processing and computer vision Introduction
Digital Image Processing Part 2 Contrast processing.
Introduction to JPEG m Akram Ben Ahmed
Digital Image Processing
Lecture 02 Point Based Image Processing Lecture 02 Point Based Image Processing Mata kuliah: T Computer Vision Tahun: 2010.
Digital Image Processing Lecture 4: Image Enhancement: Point Processing January 13, 2004 Prof. Charlene Tsai.
Digital Image Processing Image Enhancement in Spatial Domain
Digital Image Processing, 2nd ed. © 2002 R. C. Gonzalez & R. E. Woods Chapter 3 Image Enhancement in the Spatial Domain Chapter.
Color Models Light property Color models.
CMSC5711 Image processing and computer vision
Initial Display Alternatives and Scientific Visualization
Lecture Six Figures from Gonzalez and Woods, Digital Image Processing, Second Edition, Copyright 2002.
- photometric aspects of image formation gray level images
Miguel Tavares Coimbra
1-Introduction (Computing the image histogram).
Image Enhancement.
CMSC5711 Revision (1) (v.7.b) revised
Computer Vision Lecture 4: Color
Digital Image Processing
Image Processing – Contrast Enhancement
CMSC5711 Image processing and computer vision
Image Enhancement in the Spatial Domain
Chapter 1: Image processing and computer vision Introduction
Lecture Five Figures from Gonzalez and Woods, Digital Image Processing, Second edition, Prentice-Hall,2002.
Image processing and computer vision
Digital Image Processing
Digital Image Processing
Intensity Transformations and Spatial Filtering
Miguel Tavares Coimbra
Histogram The histogram of an image is a plot of the gray _levels values versus the number of pixels at that value. A histogram appears as a graph with.
Revision 4 CSMSC5711 Revision 4: CSMC5711 v.9a.
Presentation transcript:

Image processing and computer vision Chapter 6: Histogram equalization and color models Historgram, color v.4e 1

Introduction | Histogram equalization |Color Models Overview What is Histogram equalization? – Recalculate the picture gray levels to make the distribution more equalized – Used widely in image editing tools and computer vision algorithms – Can also be applied to color images Ref: Intensity transformation :ch3 of Gonzalez ed.3 ch3.2 page 122. Historgram, color v.4e 2 Week 5 begins Ref: Digital image processing, R.C. González, R.E. Woods edition3. ch3 of Gonzalez ed.3 ch3.2 page It can be found at

Introduction | Histogram equalization |Color Models Why ? :Histogram equalization makes the picture look better. Eample:Histogram h(r k )=n k – n k = number of pixels in the image that have grade level r k. – Since total number of pixels=M*N – K=0,1,2,..L-1 gray level (up to you, e.g. 8-bit  256 levels; 16-bit  levels) – A normalized histogram Historgram, color v.4e 3 Bright image Normalized Count (value =0  1) P(r k )=n k /MN Grad level(0-255) r k N colum ns M rows Each pixel has a gray level r k. P(r k )

Introduction | Histogram equalization |Color Models Example: Normalized histogram An image of 9 pixels (M=3, N=3) K=0,1,2,..,L-1=255. L=256 levels Historgram, color v.4e 4 3/9 2/9 1/9 Normalized Count P(r k )=n k /MN Normalized histogram Grad level(0-255) rk levelcount

Introduction | Histogram equalization |Color Models CMSC ch6 Histogram Exercise 1: Normalized histogram An image of 5x4 pixels (M=?__, N=?___) K=0,1,2,..,L-1=255. L=256 levels Sketch the histogram (??) Historgram, color v.4e Normalized Count P(r k )=n k /MN Normalized histogram (plot it) Grad level(0-255) rk N columns M rows levelcount 2? 7? 45? 100? 120? 200?

Introduction | Histogram equalization |Color Models Exercise 2 : In each histogram (a) Identify the gray levels that have not been used. (b) Which gray level is the highest? Historgram, color v.4e 6 Bright image Low contrast image Histogram1 Pixels are concentrated at too high grade levels Pixels are concentrated at too low grade levels, Distribution is too narrow. Both images are not ideal: too bright or too dark. To fix it, use histogram equalization Answer:? Histogram2

Introduction | Histogram equalization |Color Models Histogram equalization: Motivation A mapping s=T(r) is needed, so that Probabilities of all pixel levels in the ‘s’ domain is a constant. Change the scale from ‘r’ to ‘s’ domain using the mapping s=T(r). Histogram quantization procedure: E.g. pixels of the gray level r k (say r k =0.75, for pixel levels are normalized from 0 to 1) in the original image may need to be changed to 0.82 in the normalized image.. etc. So that Ps(s k =0.1)=Ps(s k =0.82)=Ps(s k =0.95)... = Ps(s k =all values)=a_constant. They are the same. But because of digitization, some errors may exit Historgram, color v.4e 7 SkSk rkrk 1 1 r s k =T(r k ) 0,0 s Input gray values (to be normalized) Output (normalized) gray values

Introduction | Histogram equalization |Color Models Effect of histogram equalization Input: The picture is poorly shot. Most pixel gray levels are located in a small range. Output: Use histogram transform to map the pixels in ‘r’ domain to ‘s’ domain. So in the ‘s’ domain, each s gray level has a similar number of pixels. Historgram, color v.4e 8 Input: Low contrast image Output: High contrast image S domain r domain

Introduction | Histogram equalization |Color Models Histogram equalization: The main problem is to choose a monotonic increasing relation T(r) Historgram, color v.4e 9 A monotonic increasing relation is needed s k =T(r k ) rkrk L-1=T(L-1) L-1 r T(r) 0

Introduction | Histogram equalization |Color Models Objective of histogram equalization We want to find T(r) so that Ps(s) is a flat line. Historgram, color v.4e 10 sksk rkrk L-1 r T(r) 0 Objective: To find the Relation s=T(r) Pr(r) r Ps(s)=a constant s L-1 Equalized distribution Input random distribution The original image The probability of these levels are lower) The probability of these levels are higher The probability of all levels are the same In Ps(s) s=T(r)

Introduction | Histogram equalization |Color Models How to find S=T(s)? Assume we know, We want to prove that p s (s) is a constant, then T(s) is what we are looking for. Historgram, color v.4e 11

Introduction | Histogram equalization |Color Models Historgram, color v.4e 12 Exercise 3 A numerical example, fill in the blanks

Introduction | Histogram equalization |Color Models Exercise 4: Based on (1) we want to prove p s (s)= constant Historgram, color v.4e 13

Introduction | Histogram equalization |Color Models Discrete form for practical use From the continuous form (1) to discrete form Historgram, color v.4e 14

Introduction | Histogram equalization |Color Models How to do the mapping? Having found the relationship Transform the original image to obtain a equalized one by the Look-up table T(r). For (x=0;x<N-1;x++) //For all pixels in the image {For (y=0;y<M-1;y++) // { r k =source_image (x,y); newImage(x,y) = T(r k ); //use the lookup table } Historgram, color v.4e 15 sksk rkrk L-1 r T(r) 0 Look up table

Introduction | Histogram equalization |Color Models Historgram, color v.4e 16 Exercise 5 (a) A numerical exercise, fill in the blanks (b) when r k =source_image(x,y)=4, newimage(x,y) will become ?__. (c) What is the relation of the variables : Total, M,N and n k ? (d) What is the “histogram back projection" of a pixel having pixel level 2? (d) What is the “histogram back projection" of a pixel having pixel level 4?

Introduction | Histogram equalization |Color Models Histogram equalization Most pictures are in color, having multiple color channels. We need to equalize color pictures Then, how to represent color images? Historgram, color v.4e 17

Introduction | Histogram equalization |Color Models Color models Cartesian-coordinate representation – RGB (Red, Green, Blue) Cylindrical-coordinate representation – HSV (Hue, saturation, value) – HSL (Hue, saturation, Light) – etc Historgram, color v.4e 18 HSV RGB

Introduction | Histogram equalization |Color Models From RGB to HSV or HSL RGB=red, green, blue (Cartesian- coordinate representation) not relevant to our perception) So change RGB to cylindrical- coordinate representations, there are 3 choices: – HSV (Hue, saturation, value) – HSL (Hue, saturation, Light) – HSI (Hue, saturation, Intensity) Historgram, color v.4e 19

Introduction | Histogram equalization |Color Models Hue 色調 “the degree to which a stimulus can be described as similar to or different from stimuli that are described as red, green, blue, and yellow,” The same numerical value for ‘Hue’ in HSV and HSL representations of the same picture Encoded in degree Historgram, color v.4e 20 Hue

Introduction | Histogram equalization |Color Models Cylindrical geometry of Hue (0-360 o ) Historgram, color v.4e o Red Primary 120 o Green Primary 240 o Blue Primary Mixing Red/Green Mixing Green/Blue Mixing Blue/Red Wrap round

Introduction | Histogram equalization |Color Models Lightness 亮度 : 3 different methods to encode brightness: Intensity (I), Value (V), Light (L) Given RGB raw (each channel levels) pixels of a picture. Normalize it first, e.g. each channel is 8-bit. R=R raw /255; G=G raw /255; B=B raw /255; Historgram, color v.4e 22

Introduction | Histogram equalization |Color Models Saturation 色彩飽和度 Saturation: “Saturation is the colorfulness of a color relative to its own brightness” from wiki/Colorfulness wiki/Colorfulness Not the same numerical values for HSV and HSL representations of the same picture Historgram, color v.4e 23 HSV HSL

Introduction | Histogram equalization |Color Models Different saturation (s) values (range 0-1) Historgram, color v.4e 24 S=1 =0.75 =0.5 =0.25 More water Less water

Introduction | Histogram equalization |Color Models Saturation Calculation Historgram, color v.4e HSL HSV 25

Introduction | Histogram equalization |Color Models Exercise 6: From RGB (3x8-bit) to HSV max=max_value(R,G,B) min=min_value(R,G,B) if R = max, H1 = (G-B)/(max-min) if G = max, H1 = 2 + (B-R)/(max-min) if B = max, H1 = 4 + (R-G)/(max-min) H = H1 * 60 if H < 0, H = H S=(max-min)/max V=max Historgram, color v.4e 26 Hue (0-> 360 o )

Introduction | Histogram equalization |Color Models Exercise 7 RGB=(18,200,130) What are the values in HSV,HSL,HSI? Answer: Historgram, color v.4e 27

Introduction | Histogram equalization |Color Models Color histogram equalization Change the RGB representation to HSV Do histogram equalization for the V channel. The other two channels (H,S) remain unchanged. Put back the equalized HSV image back to RGB Historgram, color v.4e 28

Introduction | Histogram equalization |Color Models Programs and demos Histogram in OpenCV: Calculate Histogram: ghlight=calchist#calcHist ghlight=calchist#calcHist – Convert color space: ge_transformations.html?highlight=cvtcolor#cvtColor – Histogram equalization ghlight=equalizehist#equalizeHist Historgram, color v.4e 29

Introduction | Histogram equalization |Color Models Programming Exercise A programming exercise with OpenCV to histogram equalize a color image – Given an RGB color image, convert it to HSV color space, compute its histogram on the V channel – Do histogram equalization for the V channel and generate the equalized RGB image. Historgram, color v.4e 30

Historgram, color v.4e 31 Summary Studied gray level histograms Learned histogram equalization Learned color models and equalization of color images

Historgram, color v.4e 32 Reference Digital image processing, R.C. González, R.E. Woods edition3. ch3 of Gonzalez ed.3 ch3.2 page It can be found at ization 04 intensity_image _transformation_historgram v.17a

Historgram, color v.4e 33 Appendix

Historgram, color v.4e 34 ANSWER1: Exercise 1: Normalized histogram An image of 5x4 pixels (M=?__5, N=?___4) K=0,1,2,..,L-1=255. L=256 levels Sketch the histogram Normalized Count P(r k )=n k /MN Normalized histogram(plot it) Grad level(0-255) rk N columns M rows levelcount

Historgram, color v.4e 35 Answer2: Exercise 2 : In each histogram (a) Identify the gray levels that have not been used. (b) Which gray level is the highest? Bright image Low contrast image Histogram1 Pixels are concentrated at too high grade levels Pixels are concentrated at too low grade levels, Distribution is too narrow. Both images are not ideal: too bright or too dark. To fix it, use histogram equalization Answer: (a)Histogram 1: 0- >130 Histogram 2: 0- >90, 140  255 (a)Histogram 1, around255. Histogram 2 around 100 Histogram2

Historgram, color v.4e 36 Answer3a: Ex3 A numerical exercise 36

Historgram, color v.4e 37 Answer 3b:Matlab : Exercise 4: Ma %ex3 %note index is shifted because matrix cannot have zero index n(1)= 790 n(2)= 1023 n(3)= 850 n(4)= 656 n(5)= 329 n(6)= 245 n(7)= 122 n(8)= 81 M =64 N =64 L =8 for j=1:L p(j)=n(j) temp=0 for k=1:j temp=n(k)+temp end s(j)=((L-1)/(M*N))*temp end n s Round(s) s = n = s = Roudn s=

Historgram, color v.4e 38 Answer4: Exercise 4: Based on (1) we want to prove p s (s)= constant

Historgram, color v.4e 39 Answer5: Ex 5 (a) A numerical exercise, fill in the blanks (b) when r k =source_image(x,y)=4, newimage(x,y) will become ?_6_. (c) What is the relation of the variables : Total, M,N and n k ? Answer: Total=M*N=Sum of all n k=0,1,..,Total Answer (d, e) In a certain image, the "histogram back projection of a gray level " means the probability of a pixel having that gray level. So "histogram back projection” is the same as pr (rk). Say, in this image the probability a pixel having pixel level rk=2 is or a pixel having pixel level rk=4 is That means in this image, the "histogram back projection" of a pixel having pixel level 2 is or the "histogram back projection" of a pixel having pixel level 2 is

Historgram, color v.4e 40 Answer 6:Exercise 6: From RGB (3x8-bit) to HSV (revised) max=max_value(R,G,B) min=min_value(R,G,B) if R = max, H1 = (G-B)/(max-min) if G = max, H1 = 2 + (B-R)/(max-min) if B = max, H1 = 4 + (R-G)/(max-min) H = H1 * 60 V=max/255 if H < 0, H = H s=(max-min)/max Hue (0-> 360 o )

Historgram, color v.4e 41 Answer7 for ex7 RGB=(18,200,130). Can normalize it first RGB=(18,200,130)/255. What are the values in HSV? Answer: (for HSV on R=18/255, G=200/255, B=130/255), max=200/255, m=18/255, since green G=max H1=2+(B-R)/(max-min), H1= H1=2+(130-18)/(200-18)=2+(112/182)=2.615, need not to show 255 since they cancel each other in numerator and denominator H=H1*60=156.9  S=(max-min)/max=(200-18)/200=0.91 V=max/255=0.78 HSL, HIS, see formulas in note