cv 431 lec04 histograms
TRANSCRIPT
![Page 1: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/1.jpg)
Roger S. Gaborski 1
Introduction to Computer Vision
Lecture 4Dr. Roger S. Gaborski
![Page 2: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/2.jpg)
Roger S. Gaborski 2
HW#2 Due 02/13
![Page 3: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/3.jpg)
Roger S. Gaborski 3
In Class Exercise Review1. Given the following MATLAB code:>> image1 = rand([3])image1 = 0.9500 0.6555 0.0318 0.7431 0.1712 0.2769 0.3922 0.7060 0.0462 >> image2 = imadjust(image1, [ .1,.75],[.2, .6]) Carefully draw the transformation map specified by the imadjust statement. Label the x and y axis.
![Page 4: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/4.jpg)
4Roger S. Gaborski
Chapter 3 www.prenhall.com/gonzalezwoodseddins
Brighter Output (gamma<1) Darker Output (gamma>1)
Gamma specifies the shape of the curve
Characteristics:• gamma >1 : all pixels become darker• gamma <1 : all pixels become brighter• gamma =1 : linear transform
![Page 5: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/5.jpg)
5Roger S. Gaborski
image1 =
0.9500 0.6555 0.0318 0.7431 0.1712 0.2769 0.3922 0.7060 0.0462 >> image2 = imadjust(image1, [ .1,.75],[.2, .6])
image2 =
0.6000 0.5418 0.2000 0.5958 0.2438 0.3089 0.3798 0.5729 0.2000
![Page 6: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/6.jpg)
Roger S. Gaborski 6
Example0
.1
2
.3
.4
.
5
.6
.7
.8
.9
1.0
OU
TPU
T
0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1.0INPUT
![Page 7: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/7.jpg)
Roger S. Gaborski 7
image2 = imadjust(image1, [ .1,.75],[.2, .6],1)0
.1
2
.3
.4
.
5
.6
.7
.8
.9
1.0
OU
TPU
T
0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1.0INPUT
![Page 8: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/8.jpg)
Roger S. Gaborski 8
image2 = imadjust(image1, [ .1,.75],[.2, .6],1)0
.1
.2
.3
.4
.
5
.6
.7
.8
.9
1.0
OU
TPU
T
0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1.0INPUT
![Page 9: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/9.jpg)
9
Gray Scale Ramp Image
Roger S. Gaborski
Minimum gray value = .01Maximum gray value = 1.0
![Page 10: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/10.jpg)
10Roger S. Gaborski
![Page 11: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/11.jpg)
11
Ramp Image
Roger S. Gaborski
image_ramp = zeros(100); for i = 1:100 image_ramp(:,i) = i*.01;end fprintf('minimum gray value = %d, \n', min(image_ramp(:)));fprintf('maximun gray value = %d, \n', max(image_ramp(:)));figure, plot(image_ramp(50,:)), xlabel('pixel position'), ylabel('pixel value') title('values')pause
figure, imshow(image_ramp),title('ramp intensity image')pause
![Page 12: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/12.jpg)
12
Map .01 to .5 and 1.0 to .75
Roger S. Gaborski
![Page 13: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/13.jpg)
13Roger S. Gaborski
disp('Use imadjust to map to .50 to .75');
image1 = imadjust(image_ramp,[.01, 1.0],[.5, 0.75]); %map to .5 to .75
fprintf('minimum gray value = %d, \n', min(image1(:)));fprintf('maximun gray value = %d, \n', max(image1(:)));
figure, plot(image1(50,:)), xlabel('pixel position'), ylabel('pixel value') title('values')axis([0,100,0,1])Grid
pause figure, imshow(image1, [0,1]);
pause
![Page 14: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/14.jpg)
14
Map .01 to .5 and 1.0 to .75
Roger S. Gaborski
![Page 15: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/15.jpg)
15
Map values in range <=.25 to .35 and >=.50 to .65');
Roger S. Gaborski
![Page 16: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/16.jpg)
16
Map values in range <=.25 to .35 and >=.50 to .65');
Roger S. Gaborski
disp('Use imadjust to map values in range <=.25 to .35 and >=.50 to .65');image2 = imadjust(image_ramp,[.25, .50],[.35, 0.65]);fprintf('minimum gray value = %d, \n', min(image2(:)));fprintf('maximun gray value = %d, \n', max(image2(:)));figure, plot(image2(50,:)), xlabel('pixel position'), ylabel('pixel value') title('values')axis([0,100,0,1])grid pause figure, imshow(image2, [0,1]);
![Page 17: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/17.jpg)
17
Map values in range <=.25 to .35 and >=.50 to .65');
Roger S. Gaborski
![Page 18: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/18.jpg)
18
Contrast Stretching Transformation• Creates an image with higher contrast than the input
image:
– r: intensities of input; – s: intensities of output;– m: threshold point (see graph) ; – E: controls slope.
Roger S. Gaborski
1( )1 ( )E
s T r mr
![Page 19: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/19.jpg)
19Roger S. Gaborski
Chapter 3 www.prenhall.com/gonzalezwoodseddins
E controls the slope of the function
![Page 20: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/20.jpg)
Roger S. Gaborski 20
1( )1 ( )E
s T r mr
Input(r)
Output(s)
![Page 21: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/21.jpg)
Introduction to Computer Vision
Lecture 4Dr. Roger S. Gaborski
![Page 22: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/22.jpg)
22Roger S. Gaborski
117 83 59 59 68 77 84 94 82 67 62 70 83 86 85 81 71 65 77 89 86 82 76 67 72 90 97 86 66 54 68 104 121 107 85 46 58 89 138 165 137 91 38 80 147 200 211 187 138 40 80 149 197 202 187 146 56 76 114 159 181 160 113
An image shows the spatialdistribution of gray level values
We can summary this informationby only retaining the distributionif gray level values:
value count
1 0
40 8
…
…
104 32
181 45
255 0
PARTIAL IMAGE INFO:
Intensity image is simplya matrix of numbers
![Page 23: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/23.jpg)
23
Image Histogram
Roger S. Gaborski
Plot of Pixel Count as a Function of Gray Level Value
20 40 60 80 100 120 140 160 180 200 2200
0.5
1
1.5
2
2.5
3
Gray Level Value
Pixel Count
![Page 24: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/24.jpg)
24
Histogram
• Histogram consists of– Peaks: high concentration of gray level values– Valleys: low concentration– Flat regions
Roger S. Gaborski
![Page 25: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/25.jpg)
25
Formally, Image Histograms
Histogram:• Digital image• L possible intensity levels in range [0,G]• Defined: h(rk) = nk
– Where rk is the kth intensity level in the interval [0,G] and nk is the number of pixels in the image whose level is rk .
– G: uint8 255 uint16 65535
double 1.0
Roger S. Gaborski
![Page 26: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/26.jpg)
26
Notation
• L levels in range [0, G]• For example:• 0, 1, 2, 3, 4, in this case G = 4, L = 5
– Since we cannot have an index of zero,• In this example, index of:
Index 1 maps to gray level 02 maps to 13 maps to 24 maps to 35 maps to 4
Roger S. Gaborski
![Page 27: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/27.jpg)
27
Normalized Histogram
• Normalized histogram is obtained by dividing elements of h(rk) by the total number of pixels in the image (n):
for k = 1, 2,…, L
p(rk) is an estimate of the probability of occurrence of intensity level rk
Roger S. Gaborski
( )( ) ,k kk
h r np rn n
![Page 28: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/28.jpg)
28
MATLAB Histogram
• h = imhist( f, b )– h is the histogram, h(rk) – f is the input image– b is the number of bins (default is 256)
• Normalized histogram
Roger S. Gaborski
( , )( )
imhist f bpnumel f
![Page 29: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/29.jpg)
29
Color and Gray Scale Images
Roger S. Gaborski
![Page 30: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/30.jpg)
30
Background: Gray Image
Roger S. Gaborski
>> I = imread('Flags.jpg');>> figure, imshow(I) % uint8
>> Im = im2double(I); % convert to double>> Igray = (Im(:,:,1)+Im(:,:,2)+Im(:,:,3))/3;>> figure, imshow(Igray)
There is also the rgb2gray function that resultsin a slightly different image
![Page 31: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/31.jpg)
31
Gray Scale Histogram
Roger S. Gaborski
![Page 32: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/32.jpg)
32
Plots
• bar(horz, v, width)– v is row vector
• points to be plotted– horz is a vector same dimension as v
• increments of horizontal scale• omitted axis divided in units 0 to length(v)
– width number in [0 1]• 1 bars touch• 0 vertical lines• 0.8 default
Roger S. Gaborski
![Page 33: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/33.jpg)
33Roger S. Gaborski
p= imhist(Igray)/numel(Igray);>> h1 = p(1:10:256);>> horz = (1:10:256);>> figure, bar(horz,h1)
Review other examplesin text and in MATLABdocumentation
![Page 34: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/34.jpg)
34Roger S. Gaborski
Chapter 3 www.prenhall.com/gonzalezwoodseddins
![Page 35: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/35.jpg)
35
Color and Gray Scale ImagesRecall from Previous Slide
Roger S. Gaborski
![Page 36: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/36.jpg)
Gray Scale Histogram
Roger S. Gaborski 36
![Page 37: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/37.jpg)
Normalized Gray Scale Histogram
Roger S. Gaborski 37
>> p= imhist(Igray)/numel(Igray);>> figure, plot(p)
![Page 38: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/38.jpg)
Normalized Gray Scale Histogram
Roger S. Gaborski 38
imhist(Igray)/numel(Igray); imhist(Igray,32)/numel(Igray)
256 bins 32 bins
![Page 39: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/39.jpg)
Normalized Gray Scale Histogram
Roger S. Gaborski 39
>> p= imhist(Igray)/numel(Igray);>> figure, plot(p)
Gray level values
prob
abili
ty
![Page 40: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/40.jpg)
Roger S. Gaborski 40
0 50 100 150 200 250 3000
0.005
0.01
0.015
0.02
0.025
0.03
0 50 100 150 200 250 3000
0.01
0.02
0.03
0.04
0.05
0.06
0 50 100 150 200 250 3000
0.01
0.02
0.03
0.04
0.05
0.06
Original Dark Light
![Page 41: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/41.jpg)
Contract enhancement
• How could we transform the pixel values of an image so that they occupy the whole range of values between 0 and 255?
Roger S. Gaborski 41
![Page 42: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/42.jpg)
Gray Scale Transformation
• How could we transform the pixel values of an image so that they occupy the whole range of values between 0 and 255?
• If they were uniformly distributed between 0 and x we could multiply all the gray level values by 255/x
• BUT – what if they are not uniformly distributed??
Roger S. Gaborski 42
![Page 43: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/43.jpg)
Cumulative Distribution Function
Roger S. Gaborski 43
Histogram CDF
![Page 44: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/44.jpg)
Histogram Equalization(HE)
• HE generates an image with equally likely intensity values• Transformation function: Cumulative Distribution
Function (CDF)• The intensity values in the output image cover the full
range, [0 1]• The resulting image has higher dynamic range• The values in the normalized histogram are approximately
the probability of occurrence of those values
Roger S. Gaborski 44
![Page 45: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/45.jpg)
Histogram Equalization• Let pr(rj), j = 1, 2, … , L denote the histogram associated with
intensity levels of a given image
• Values in normalized histogram are approximately equal to the probability of occurrence of each intensity level in image
• Equalization transformation is:
Roger S. Gaborski 45
k = 1,2,…,Lsk is intensity valueof output rk is input value
Sum of probability up to k value
1 1
( ) ( )k k
jk k r j
j j
ns T r p r
n
![Page 46: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/46.jpg)
Histogram Equalization Example
• g = histeq(f, nlev) where f is the original image and nlev number of intensity levels in output image
Roger S. Gaborski 46
![Page 47: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/47.jpg)
Roger S. Gaborski 47
Original ImageINPUT
![Page 48: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/48.jpg)
Transformation
Roger S. Gaborski 48
Input Gray Level Value
x255
Out
put G
ray
Leve
l Val
ue
![Page 49: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/49.jpg)
Roger S. Gaborski 49
OUTPUT
Equalization of Original Image
![Page 50: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/50.jpg)
Roger S. Gaborski 50
histogram Equalization of Light Image
![Page 51: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/51.jpg)
Roger S. Gaborski 51
histogram Equalization of Dark Image
![Page 52: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/52.jpg)
52
Simple Histogram Equalization Example
Roger S. Gaborski
![Page 53: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/53.jpg)
Histogram Equalization
Roger S. Gaborski 53
Input Image Output Image
![Page 54: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/54.jpg)
Adaptive Equalization
• g = adapthisteq(f, parameters..)• Contrast-limited adaptive histogram equalization• Process small regions of the image (tiles) individually• Can limit contrast in uniform areas to avoid noise
amplification
Roger S. Gaborski 54
![Page 55: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/55.jpg)
55Roger S. Gaborski
>> help adapthisteq adapthisteq Contrast-limited Adaptive Histogram Equalization (CLAHE). adapthisteq enhances the contrast of images by transforming the values in the intensity image I. Unlike HISTEQ, it operates on small data regions (tiles), rather than the entire image. Each tile's contrast is enhanced, so that the histogram of the output region approximately matches the specified histogram. The neighboring tiles are then combined using bilinear interpolation in order to eliminate artificially induced boundaries. The contrast, especially in homogeneous areas, can be limited in order to avoid amplifying the noise which might be present in the image.
J = adapthisteq(I) Performs CLAHE on the intensity image I. J = adapthisteq(I,PARAM1,VAL1,PARAM2,VAL2...) sets various parameters. Parameter names can be abbreviated, and case does not matter. Each string parameter is followed by a value as indicated below: 'NumTiles' Two-element vector of positive integers: [M N]. [M N] specifies the number of tile rows and columns. Both M and N must be at least 2. The total number of image tiles is equal to M*N. Default: [8 8].
![Page 56: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/56.jpg)
Adaptive Histogram Equalization
Roger S. Gaborski 56
Grayscale Adaptive Histogram EqualizedGrayscale Histogram Equalized
Default, 8x8 tiles
![Page 57: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/57.jpg)
Adaptive Equalization
Roger S. Gaborski 57
Grayscale Adaptive Histogram Equalized
Number of Tiles: 24x24
Grayscale Adaptive Histogram Equalized
Number of Tiles: 24x24, ClipLimit = .05
![Page 58: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/58.jpg)
Roger S. Gaborski 58
Chapter 3 www.prenhall.com/gonzalezwoodseddins
![Page 59: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/59.jpg)
Roger S. Gaborski 59
Chapter 3 www.prenhall.com/gonzalezwoodseddins
![Page 60: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/60.jpg)
Create a ‘color image’
Roger S. Gaborski 60
>> red = rand(5)
red =
0.0294 0.0193 0.3662 0.7202 0.0302 0.7845 0.3955 0.2206 0.4711 0.2949 0.7529 0.1159 0.6078 0.9778 0.5959 0.1586 0.1674 0.5524 0.9295 0.1066 0.7643 0.6908 0.3261 0.5889 0.1359
>> green = rand(5)
green =
0.2269 0.5605 0.6191 0.0493 0.1666 0.0706 0.4051 0.3297 0.7513 0.6484 0.9421 0.0034 0.8243 0.7023 0.8097 0.8079 0.5757 0.6696 0.9658 0.8976 0.0143 0.3176 0.6564 0.1361 0.0754
>> blue = rand(5)
blue =
0.6518 0.0803 0.8697 0.6260 0.9642 0.5554 0.2037 0.8774 0.5705 0.6043 0.8113 0.8481 0.5199 0.0962 0.8689 0.5952 0.2817 0.6278 0.7716 0.8588 0.5810 0.9290 0.2000 0.1248 0.7606
First create three color planes of data
![Page 61: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/61.jpg)
Roger S. Gaborski 61
>> colorIm(:,:,1)=red;>> colorIm(:,:,2)=green;>> colorIm(:,:,3)=blue;>> colorIm
figure imshow(colorIm, 'InitialMagnification', 'fit')
colorIm(:,:,1) =
0.0294 0.0193 0.3662 0.7202 0.0302 0.7845 0.3955 0.2206 0.4711 0.2949 0.7529 0.1159 0.6078 0.9778 0.5959 0.1586 0.1674 0.5524 0.9295 0.1066 0.7643 0.6908 0.3261 0.5889 0.1359
colorIm(:,:,2) =
0.2269 0.5605 0.6191 0.0493 0.1666 0.0706 0.4051 0.3297 0.7513 0.6484 0.9421 0.0034 0.8243 0.7023 0.8097 0.8079 0.5757 0.6696 0.9658 0.8976 0.0143 0.3176 0.6564 0.1361 0.0754
colorIm(:,:,3) =
0.6518 0.0803 0.8697 0.6260 0.9642 0.5554 0.2037 0.8774 0.5705 0.6043 0.8113 0.8481 0.5199 0.0962 0.8689 0.5952 0.2817 0.6278 0.7716 0.8588 0.5810 0.9290 0.2000 0.1248 0.7606
![Page 62: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/62.jpg)
colorIm
Roger S. Gaborski 62
colorIm(1,1,: )
colorIm(4,4,: )
![Page 63: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/63.jpg)
Roger S. Gaborski 63
colorIm(:,:,1) =
0.0294 0.0193 0.3662 0.7202 0.0302 0.7845 0.3955 0.2206 0.4711 0.2949 0.7529 0.1159 0.6078 0.9778 0.5959 0.1586 0.1674 0.5524 0.9295 0.1066 0.7643 0.6908 0.3261 0.5889 0.1359
colorIm(:,:,2) =
0.2269 0.5605 0.6191 0.0493 0.1666 0.0706 0.4051 0.3297 0.7513 0.6484 0.9421 0.0034 0.8243 0.7023 0.8097 0.8079 0.5757 0.6696 0.9658 0.8976 0.0143 0.3176 0.6564 0.1361 0.0754
colorIm(:,:,3) =
0.6518 0.0803 0.8697 0.6260 0.9642 0.5554 0.2037 0.8774 0.5705 0.6043 0.8113 0.8481 0.5199 0.0962 0.8689 0.5952 0.2817 0.6278 0.7716 0.8588 0.5810 0.9290 0.2000 0.1248 0.7606
![Page 64: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/64.jpg)
• What are two methods to convert from a color image to a gray scale image?
Roger S. Gaborski 64
![Page 65: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/65.jpg)
RECALL
• What are two methods to convert from a color image to a gray scale image?– Average red, green and blue pixels
Roger S. Gaborski 65
![Page 66: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/66.jpg)
Average
• For example:
Roger S. Gaborski 66
>> colorImAverage = ( colorIm(:,:,1) + colorIm(:,:,2) + colorIm(:,:,3) )/3
colorImAverage =
0.3027 0.2200 0.6183 0.4651 0.3870 0.4701 0.3348 0.4759 0.5976 0.5159 0.8354 0.3224 0.6507 0.5921 0.7582 0.5206 0.3416 0.6166 0.8890 0.6210 0.4532 0.6458 0.3942 0.2833 0.3240
>> figure, imshow(colorImAverage, 'InitialMagnification', 'fit')
![Page 67: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/67.jpg)
Gray scale version of color image
Roger S. Gaborski 67
.5976
.5921
![Page 68: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/68.jpg)
Color and Gray scale Images
Roger S. Gaborski 68
![Page 69: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/69.jpg)
Color and Gray scale Images
Roger S. Gaborski 69
Conversion to gray scale results in a loss of information
![Page 70: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/70.jpg)
• What are two methods to convert from a color image to a gray scale image?– Average red, green and blue pixels– Matlab’s rgb2gray function
Roger S. Gaborski 70
![Page 71: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/71.jpg)
MATLAB’s rgb2gray Function
Roger S. Gaborski 71
>> colorIm_rgb2gray = rgb2gray(colorIm)
colorIm_rgb2gray =
0.2163 0.3439 0.5721 0.3156 0.2168 0.3393 0.3792 0.3596 0.6469 0.5377 0.8706 0.1333 0.7249 0.7155 0.7525 0.5895 0.4202 0.6298 0.9328 0.6567 0.3031 0.4989 0.5056 0.2702 0.1716
![Page 72: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/72.jpg)
colorIm and rgb2gray(colorIm)
Roger S. Gaborski 72
![Page 73: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/73.jpg)
How does rgb2gray work?
Roger S. Gaborski 73
rgb2gray converts RGB values to grayscale values by forming a weighted sum of the R, G, and B components:
Gray = 0.2989 * R + 0.5870 * G + 0.1140 * B
![Page 74: CV 431 Lec04 Histograms](https://reader036.vdocuments.mx/reader036/viewer/2022062412/577ccd2f1a28ab9e788bb9ab/html5/thumbnails/74.jpg)
Color and Gray Scale Images
Roger S. Gaborski 74