Image Processing ITodayImage FormationSampling and QuantizationSlide 5What is an image?Images as functionsWhat is a digital image?Image processingPoint ProcessingBasic Point ProcessingNegativeLogPower-law transformationsGamma CorrectionImage EnhancementContrast StrechingImage HistogramsCumulative HistogramsHistogram EqualizationHistogram MatchingMatch-histogram codeNeighborhood Processing (filtering)Programming Assignment #1Image Processing I15-463: Rendering and Image ProcessingAlexei Efros…with most slides shamelessly stolenfrom Steve Seitz and Gonzalez & WoodsTodayImage FormationRange Transformations•Point ProcessingProgramming Assignment #1 OUTReading for this week:•Gonzalez & Woods, Ch. 3•Forsyth & Ponce, Ch. 7Image Formationf(x,y) = reflectance(x,y) * illumination(x,y)Reflectance in [0,1], illumination in [0,inf]Sampling and QuantizationSampling and QuantizationWhat is an image?We can think of an image as a function, f, from R2 to R:•f( x, y ) gives the intensity at position ( x, y ) •Realistically, we expect the image only to be defined over a rectangle, with a finite range:–f: [a,b]x[c,d] [0,1]A color image is just three functions pasted together. We can write this as a “vector-valued” function: ( , )( , ) ( , )( , )r x yf x y g x yb x y� �� �=� �� �� �Images as functionsWhat is a digital image?We usually operate on digital (discrete) images:•Sample the 2D space on a regular grid•Quantize each sample (round to nearest integer)If our samples are apart, we can write this as:f[i ,j] = Quantize{ f(i , j ) }The image can now be represented as a matrix of integer valuesImage processingAn image processing operation typically defines a new image g in terms of an existing image f.We can transform either the range of f.Or the domain of f:What kinds of operations can each perform?Point ProcessingThe simplest kind of range transformations are these independent of position x,y:g = t(f)This is called point processing.What can they do?What’s the form of t?Important: every pixel for himself – spatial information completely lost!Basic Point ProcessingNegativeLogPower-law transformationsGamma CorrectionGamma Measuring Applet: http://www.cs.berkeley.edu/~efros/java/gamma/gamma.htmlImage EnhancementContrast StrechingImage HistogramsCumulative HistogramsHistogram EqualizationHistogram MatchingMatch-histogram codeNeighborhood Processing (filtering)Q: What happens if I reshuffle all pixels within the image?A: It’s histogram won’t change. No point processing will be affected…Need spatial information to capture this.Programming Assignment #1Easy stuff to get you started with Matlab•James will hold tutorial this weekDistance Functions•SSD•Normalized CorrelationBells and Whistles•Point Processing (color?)•Neighborhood Processing•Using your data (3 copies!)•Using your data (other
View Full Document