基于半色调技术的图像打印程序(Image Printing Program Based on Halftoning)

摘   要:本实验采用半色调技术对图像进行打印和显示。使用实验后面所给出了用点模式近似表示的0到9,10个灰度级来表示一张图片。每一个灰度级用一个3*3的黑白点模式表示。用3*3全黑点近似表示灰度级为0的黑色灰度级,3*3全白点近似表示灰度级为9的白色灰度级。其它的点模式表示这二者之间的灰度级。由于用3*3个像素点代替原来一个像素点,因此在有限的打印面积上需要考虑图像尺寸的大小,故需要对输入图像进行预处理。在此基础上,编写一个生成尺寸为256*256大小的灰度渐变测试图像的程序。输出图像第1列像素灰度为0,第2列像素灰度为1,以此类推,最后1列像素灰度为255,并将这张图片作为半色调技术的打印素材。本实验的输出图像可以在A4纸上打印而不会超出区域,该实验是在MATLAB R2014a平台上实现。


一、实验原理

1.半色调打印技术

      本实验采用半色调技术对图像进行打印和显示。使用实验后面所给出了用点模式近似表示的10个灰度级来表示一张图片。每一个灰度级用一个3*3的黑白点模式表示。用3*3全黑点近似表示灰度级为0的黑色灰度级,3*3全白点近似表示灰度级为9的白色灰度级。因此,我构建一个三位矩阵来表示10个灰度级,其MATLAB代码段如图1所示。

图1.10阶灰度矩阵

      图2给出了将一张经过半色调技术处理过后的图片进行局部放大的图片,可以看到每个元素均按照10个灰度级的矩阵来排列。

图2.局部放大的处理后的照片

2.图像缩放处理

      由于用3*3个像素点代替原来一个像素点,因此在有限的打印面积上需要考虑图像尺寸的大小,故需要对输入图像进行预处理,若判断读入的图像尺寸过大,调用函数imresize()小图像。该函数用于对图像做缩放处理。输入help imresize获得该函数的帮助信息,该函数的调用格式如下:

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值