实验截图:
- 图像灰度级阶梯
实验代码:
img1 = imread('erciyuan.jpg');
img2 = rgb2gray(img1);
for i=0:7
img = (uint8(img2/(2^i)))*(2^i); %灰度级逐渐递减的过程
subplot(2,4,i+1),
imshow(img,[]);
title( [ ' ',num2str(2^(8-i)),'级灰度图像']); %设置title
end
结果分析:
- 图像灰度级数变化的原理其实就是将256级的灰度色阶以2的幂次方进行减小量化,也就是把图像的灰度级由每隔1(256灰度级),降低到每隔2(128灰度级)、每隔4(64灰度级),直到每隔128(2灰度级)。
- 当图像的采样点数一定时,采用不同的灰度级数,图像的质量不同。一般来说,图像的灰度级数越多,图像的质量越好;级数越少,质量越差。灰度级减少的极端情况就是二值图像。
- 所以这个实验的简单思路就是,首先使用 uint8函数使图片img变成整型,对于uint8(img)/factor这个过程,先把数据类型变成8位整型,然后除以2^ factor,我们就可以得到间隔为2^factor的整型数据。
- 这里设置title时我还学到了使用num2str函数,由于2^(8-i)是一个整型,没法直接应用在title中,因为title要求的是字符串类型,所以需要类型转换函数。