基础知识储备
采样;就是把一幅连续图像在空间上分割成M×N个网格,每个网格用一亮度值来表示。一个网格称为一个像素。M×N的取值满足采样定理。
量化;就是把采样点上对应的亮度连续变化区间转换为单个特定数码的过程。量化后,图像就被表示成一个整数矩阵。每个像素具有两个属性:位置和灰度。位置由行、列表示。灰度表示该像素位置上亮暗程度的整数。此数字矩阵M×N就作为计算机处理的对象了。灰度级一般为0-255(8bit量化)。
量化示意图(a)为量化过程(b)为量化为8bit
在现实生活中,采集到的图像都需要经过离散化变成数字图像后才能被计算机识别和处理。
二维图像的成像过程
采样又可分为均匀采样和非均匀采样。
图像均匀采样量化——像素灰度值在黑白范围较均匀分布的图像。
图像非均匀采样量化——对图像中像素灰度值频繁出现的灰度值范围,量化间隔取小一些,而对那些像素灰度值极少出现的范围,则量化间隔取大一些。
编程处理
用MATLAB对图像进行采样处理
1 %2.1图像的采样处理 2 f1=imread('C:\Users\Administrator\Desktop\lenagray.jpg'); 3 figure(1); 4 subplot(2,2,1); 5 imshow(f1) 6 title('512*512') 7 f2=f1(1:2:end,1:2:end);%每2位采集1位 8 subplot(2,2,2) 9 imshow(f2) 10 title('256*256') 11 f3=f1(1:4:end,1:4:end);%每4位采集1位 12 subplot(2,2,3) 13 imshow(f3) 14 title('128*128') 15 f4=f1(1:8:end,1:8:end);%每8位采集1位 16 subplot(2,2,4) 17 imshow(f4) 18 title('64*64')
结果截图
用MATLAB对图像进行量化处理
%2.2图像量化 figure(2); f64=histeq(f1,64);%将图像的灰度级数改为64 subplot(2,2,1); imshow(f64) title('64*64') f32=histeq(f2,32);%将图像的灰度级数改为32 subplot(2,2,2); imshow(f32) title('32*32') f16=histeq(f3,16);%将图像的灰度级数改为16 subplot(2,2,3); imshow(f16) title('16*16') f8=histeq(f4,8);%将图像的灰度级数改为8 subplot(2,2,4); imshow(f8) title('8*8')
结果截图