Image ProcessingWhat is a Digital Image?Limitations on Digital ImagesImage ProcessingDigital Image Processing: Very Similar to AnalogDigital Image Processing: Account for LimitationsDigital Image Processing: Inherently new OperationsDigital Image ProcessingAdjusting BrightnessAdjusting ContrastDigression: Perception of IntensityModeling Nonlinear Intensity ResponseCamerasCRT ResponseCCD CamerasDigital Image ProcessingBasic Operation: ConvolutionConvolution with a Triangle FilterConvolution with a Triangle FilterConvolution with a Triangle FilterConvolution with a Triangle FilterConvolution with a Gaussian FilterLinear FilteringLinear FilteringLinear FilteringLinear FilteringLinear FilteringBlurEdge DetectionSharpenEmbossNon-Linear FilteringDigital Image ProcessingQuantizationUniform QuantizationUniform QuantizationReducing Effects of QuantizationDitheringRandom DitherRandom DitherOrdered DitherOrdered DitherOrdered DitherError Diffusion DitherError Diffusion DitherReducing Effects of QuantizationClassical HalftoningClassical HalftoningDigital Halftone PatternsDigital Image ProcessingDigital Image ProcessingSampling and ReconstructionSampling and ReconstructionSampling and ReconstructionSampling TheorySampling TheorySampling TheorySampling TheorySampling TheorySampling TheorySampling TheorySampling TheorySpectral AnalysisFourier TransformFourier TransformSampling TheoremImage ProcessingImage ProcessingSampling TheoremAliasingSpatial AliasingSpatial AliasingTemporal AliasingTemporal AliasingTemporal AliasingTemporal AliasingAntialiasingImage ProcessingImage ProcessingImage ProcessingImage ProcessingImage ProcessingImage ProcessingImage ProcessingImage ProcessingIdeal Bandlimiting FilterPractical Image ProcessingScalingSummaryImage ProcessingCOS 426What is a Digital Image?A digital image is a discrete array of samplesrepresenting a continuous 2D functionContinuous function Discrete samplesLimitations on Digital Images• Spatial discretization• Quantized intensity• Approximate color (RGB)• (Temporally discretized frames for digital video)Image Processing• Changing intensity/color Linear: scale, offset, etc. Nonlinear: gamma, saturation, etc. Add random noise• Filtering over neighborhoods Blur Detect edges Sharpen Emboss Median• Moving image locations Scale Rotate Warp• Combining images Composite MorphDigital Image Processing:Very Similar to Analog• Changing intensity/color Linear: scale, offset, etc. Nonlinear: gamma, saturation, etc. Add random noise• Filtering over neighborhoods Blur Detect edges Sharpen Emboss Median• Moving image locations Scale Rotate Warp• Combining images Composite MorphDigital Image Processing:Account for Limitations• Changing intensity/color Linear: scale, offset, etc. Nonlinear: gamma, saturation, etc. Add random noise• Filtering over neighborhoods Blur Detect edges Sharpen Emboss Median• Moving image locations Scale Rotate Warp• Combining images Composite MorphDigital Image Processing:Inherently new Operations• Changing intensity/color Linear: scale, offset, etc. Nonlinear: gamma, saturation, etc. Add random noise• Filtering over neighborhoods Blur Detect edges Sharpen Emboss Median• Moving image locations Scale Rotate Warp• Combining images Composite Morph• Quantization• Spatial / intensity tradeoff DitheringDigital Image Processing• Changing intensity/color Linear: scale, offset, etc. Nonlinear: gamma, saturation, etc. Add random noise• Filtering over neighborhoods Blur Detect edges Sharpen Emboss Median• Moving image locations Scale Rotate Warp• Combining images Composite Morph• Quantization• Spatial / intensity tradeoff DitheringAdjusting Brightness• Simply scale pixel componentso Must clamp to range (e.g., 0 to 1) Original BrighterNote: this is “contrast” on your monitor!“Brightness” adjusts black level (offset)Adjusting Contrast• Compute mean luminance L for all pixelso luminance = 0.30*r + 0.59*g + 0.11*b• Scale deviation from L for each pixel componento Must clamp to range (e.g., 0 to 1)Original More ContrastLDigression: Perception of Intensity• Perception of intensity is nonlinearAmount of lightPerceivedbrightnessModeling Nonlinear Intensity Response• Brightness (B) usually modeled as a logarithm or power law of intensity (I)• Exact curve varies with ambient light,adaptation of eye3/1logIBIkB==IBCameras• Original cameras based on Vidicon obey power law for Voltage (V) vs. Intensity (I):45.0≈=γγIVCRT Response• Power law for Intensity (I) vs.applied voltage (V)• Vidicon + CRT = almost linear!• Other displays (e.g. LCDs) contain electronics to emulate this law5.2≈=γγVICCD Cameras• Camera gamma codified in NTSC standard• CCDs have linear response to incident light•Electronics to apply required power law• So, pictures from most cameras (including digital still cameras) will have γ = 0.45 sRGB standard: partly-linear, partly power-law curve well approximated by γ = 1 / 2.2Digital Image Processing• Changing intensity/color Linear: scale, offset, etc. Nonlinear: gamma, saturation, etc. Add random noise• Filtering over neighborhoods Blur Detect edges Sharpen Emboss Median• Moving image locations Scale Rotate Warp• Combining images Composite Morph• Quantization• Spatial / intensity tradeoff DitheringBasic Operation: ConvolutionOutput value is weighted sum of values in neighborhood of input image Pattern of weights is the “filter” or “kernel”InputFilterOutputConvolution with a Triangle FilterInput OutputFilter0.50.250.25Convolution with a Triangle FilterInput OutputFilter0.50.250.25Convolution with a Triangle FilterWhat if the filter runs off the end?Input OutputFilter0.50.250.25Convolution with a Triangle FilterCommon option: normalize the filterInput Output0.67Modified Filter0.33Convolution with a Gaussian FilterInput OutputFigure 2.4 WolbergFilterLinear Filtering2D Convolutiono Each output pixel is a linear combination of input pixels in neighborhood with weights prescribed by a filterInput ImageFilterOutput ImageLinear Filtering2D Convolutiono Each output pixel is a linear combination of input pixels in neighborhood with weights prescribed by a filterInput ImageFilterOutput ImageLinear
View Full Document