image representation, sampling and quantization
TRANSCRIPT
![Page 1: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/1.jpg)
Image representation, sampling andquantization
António R. C. Paiva
ECE 6962 – Fall 2010
![Page 2: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/2.jpg)
Lecture outline
Image representation
Digitalization of images
Changes in resolution
Matlab tutorial
![Page 3: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/3.jpg)
Lecture outline
Image representation
Digitalization of images
Changes in resolution
Matlab tutorial
![Page 4: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/4.jpg)
Image as a function I
• An image is a function of the space.
• Typically, a 2-D projection of the 3-D space is used,but the image can exist in the 3-D space directly.
![Page 5: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/5.jpg)
Image as a function II
• The fact that a 2-D image is a projection of a 3-Dfunction is very important in some applications.
(From Schmidt, Mohr and Bauckhage, IJCV, 2000.)
• This in important in image stitching, for example,where the structure of the projection can be used toconstrain the image transformation from differentview points.
![Page 6: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/6.jpg)
Image as a single-valued function
• The function can be single-valued
f : Rm −→ R, m = 2, 3,
quantifying, for example, intensity.
![Page 7: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/7.jpg)
Image as a multi-valued function
• . . . or, be multi-valued, f : Rm −→ R3,m = 2, 3.The multiple values may correspond to different colorintensities, for example.
Red Green Blue
⇒
![Page 8: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/8.jpg)
2-D vs. 3-D images
![Page 9: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/9.jpg)
Images are analog
• Notice that we defined images as functions in acontinuous domain.
• Images are representations of an analog world.• Hence, as with all digital signal processing,
we need to digitize our images.
![Page 10: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/10.jpg)
Lecture outline
Image representation
Digitalization of images
Changes in resolution
Matlab tutorial
![Page 11: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/11.jpg)
Digitalization
• Digitalization of an analog signal involves twooperations:
I Sampling, andI Quantization.
• Both operations correspond to a discretization of aquantity, but in different domains.
![Page 12: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/12.jpg)
Sampling I
• Sampling corresponds to a discretization of thespace. That is, of the domain of the function, intof : [1, . . . ,N]× [1, . . . ,M] −→ Rm.
![Page 13: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/13.jpg)
Sampling II
• Thus, the image can be seen as matrix,
f =
f (1, 1) f (1, 2) · · · f (1,M)
f (2, 1) f (2, 2) · · · f (2,M)...
... . . . ...f (N, 1) f (N, 2) · · · f (N,M)
.
• The smallest element resulting from the discretizationof the space is called a pixel (picture element).
• For 3-D images, this element is called a voxel(volumetric pixel).
![Page 14: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/14.jpg)
Quantization I
• Quantization corresponds to a discretization of theintensity values. That is, of the co-domain of thefunction.
• After sampling and quantization, we getf : [1, . . . ,N]× [1, . . . ,M] −→ [0, . . . ,L].
![Page 15: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/15.jpg)
Quantization II
• Quantization corresponds to a transformation Q(f )4 levels 8 levels
• Typically, 256 levels (8 bits/pixel) suffices to representthe intensity. For color images, 256 levels are usuallyused for each color intensity.
![Page 16: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/16.jpg)
Digitalization: summary
![Page 17: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/17.jpg)
Lecture outline
Image representation
Digitalization of images
Changes in resolution
Matlab tutorial
![Page 18: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/18.jpg)
Which resolution?
• Digital image implies the discretization of both spatialand intensity values. The notion of resolution is validin either domain.
• Most often it refers to the resolution in sampling.I Extend the principles of multi-rate processing from
standard digital signal processing.
• It also can refer to the number of quantization levels.
![Page 19: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/19.jpg)
Reduction in sampling resolution I
• Two possibilities:I Downsampling
I Decimation
![Page 20: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/20.jpg)
Reduction in sampling resolution II
![Page 21: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/21.jpg)
Increase in sampling resolution
• The main idea is to useinterpolation.
• Common methods are:I Nearest neighborI Bilinear interpolationI Bicubic interpolation
Downsampled Nearest
Bilinear Bicubic
![Page 22: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/22.jpg)
Decrease in quantization levels I
![Page 23: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/23.jpg)
Decrease in quantization levels II
![Page 24: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/24.jpg)
Non-uniform quantization I
• The previous approach considers that all values areequally important and uniformly distributed.
![Page 25: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/25.jpg)
Non-uniform quantization II
• What to do if some values are more important thanothers?
• In general, we can look for quantization levels that“more accurately” represent the data.
• To minimize the mean square error (MSE) we canuse the Max-Lloyd algorithm to find the quantizationlevels with minimum MSE.
![Page 26: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/26.jpg)
Non-uniform quantization III
• Max-Lloyd algorithm:1. Choose initial quantization levels;2. Assign points to a quantization level and reconstruct
image;3. Compute the new quantization levels as the mean of
the value of all points assigned to each quantizationlevel.
4. Go back to 2 until reduction of MSE is minimal.
![Page 27: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/27.jpg)
The “false contour” effect I
• By quantizing the images we introduce discontinuitiesin the image intensities which look like contours.
I in 1-D,
I in 2-D,
![Page 28: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/28.jpg)
The “false contour” effect II
• To mitigate the “false contour” effect we can usedither.
I Basically, we add noise before quantization to createa more natural distribution of the new intensity values.
Original Undithered Dithered
(Images from Wikipedia.)
![Page 29: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/29.jpg)
Lecture outline
Image representation
Digitalization of images
Changes in resolution
Matlab tutorial
![Page 30: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/30.jpg)
Reading images
• Use imread to read an image into Matlab:» img = imread(’peppers.jpg’,’jpg’);» whos
Name Size Bytes Class
img 512x512x3 786432 uint8
I Format is: A = IMREAD(FILENAME,FMT).Check the help, help imread, for details.
I Note that data class is uint8.Convert to double with img = double(img);.This is necessary for arithmetic operations.
![Page 31: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/31.jpg)
Displaying images I
• With Image Processing toolbox:use imshow to display the image.» imshow(img);» imshow(img(:,:,1));
% Shows only the red component of the image
I The image must be in uint8 or, if double, normalizedfrom 0 to 1.
![Page 32: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/32.jpg)
Displaying images II
• Without the Image Processing toolbox:use image to display the image.» image(img);
I The image must have 3 planes.So, for grayscale images do,» image(repmat(gray_img, [1 1 3]));
![Page 33: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/33.jpg)
Saving images
• Use imwrite to save an image from Matlab:» imwrite(img,’peppers2.jpg’,’jpg’);» imwrite(img(:,:,1),’peppersR.jpg’,’jpg’);
% Saves only the red component of the image
I Format is: IMWRITE(A,FILENAME,FMT).Check the help, help imwrite, for details.
I The image should be in uint8 or,if double, normalized from 0 to 1.
![Page 34: Image representation, sampling and quantization](https://reader033.vdocuments.mx/reader033/viewer/2022050717/587faec91a28abc9688b4723/html5/thumbnails/34.jpg)
Reading
• Sections 2.4 and 2.5 of the textbook.