实验要求
本实验后面的图像给出了用点模式近似表示的10 个灰度级。每一个灰度级用一个3 x 3 的黑白点模式表示。用黑点全部填充的3 x 3 区域近似表示灰度级为0 的黑色灰度级,全部填充白点的3 x 3 模式近似表示灰度级为9 的白色灰度级。其它的点模式表示这二者之间的灰度级。基于这样的点模式的灰度级打印方案称为半色调技术。亦即输入图像中的每一个像素将对应于打印图像中的3 x 3 个像素, 这样在水平和垂直方向上的空间分辨率将减少为原始图像的33%。实验中原始图像尺度分辨率是否减小依赖于输入图像的尺寸,如下面(a)中所述。
(a) 编写一个使用上述点模式的半色调技术打印灰度图像的程序。要求程序可以对输入图像的尺度(尺寸)进行调整,以便使打印图像不超出A4 纸(21.6 x 27.9 cm)的打印区域;要求程序在打印输出以前将输入图像的灰度级范围变换到半色调的整个灰度范围。
(b) 编写一个生成尺寸为256 x 256 大小的渐变测试图像的程序。输出图像第1 列像素灰度为0,第2 列像素灰度为1,以此类推,最后1 列像素灰度为255。使用(a)中编写的灰度图像打印程序打印该图。
(c) 使用(a)中编写的灰度图像打印程序打印课本图2.22(a)到(c)。打印结果是否符合课本图2.23 给出的结论? 并给出解释。
技术论述
1、 半色调技术
本实验采用点模式的半色调技术对图像进行打印和显示,下图给出了用点模式近似表示的10 个灰度级。每一个灰度级用一个 3 x 3 的黑白点模式表示。用黑点全部填充的 3 x 3 区域近似表示灰度级为 0 的黑色灰度级,全部填充白点的 3 x 3 模式近似表示灰度级为9 的白色灰度级。其它的点模式表示这二者之间的灰度级。基于这样的点模式的灰度级打印方案称为半色调技术。这样的话,输入图像中的每一个像素将对应于打印图像中的 3 x 3 个像素,在水平和垂直方向上的空间分辨率也将减少为原始图像的33%。
2、 图像缩放
函数imresize可实现图像的缩放,以使输入图像符合实验要求。其调用格式为:
函数说明:返回的图像B的长宽是图像A的长宽的m倍,即缩放图像。 m大于1,则放大图像; m小于1,缩小图像。
在改变图像尺寸时所使用算法有:最近邻插值算法“nearest”、双线性插值算法“bilinear”、双三次插值算法“bicubic”。本实验所用的算法为“nearest”最近邻插值算法。
实验结果
实验程序
% 主函数
img_change = creat_change(); % 生成渐变测试图像
ht_change = halftoning(img_change); % 半色调打印
figure;imshow(