图象的半影调和抖动技术-read.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图象的半影调和抖动技术-read

第四章 图象的半影调和抖动技术 在介绍本章内容之前,先提出一个问题?普通的黑白针式打印机能打出灰度图来吗?如果说能,从针式打印机的打印原理来分析,似乎是不可能的。因为针打是靠撞针击打色带在纸上形成黑点的,不可能打出灰色的点来;如果说不能,可是我们的确见过用针式打印机打印出来的灰色图象。到底是怎么回事呢? 你再仔细看看那些打印出来的所谓的灰色图象,最好用放大镜看。你会发现,原来这些灰色图象都是由一些黑点组成的,黑点多一些,图象就暗一些;黑点少一些,图案就亮一些。下面这几张图就能说明这一点。 图1. 用黑白两种颜色打印出灰度效果 图中最左边的是原图,是一幅真正的灰度图,另外三张图都是黑白二值图。容易看出,最左的那幅和原图最接近。 由二值图象显示出灰度效果的方法,就是我们今天要讲的半影调(halftone)技术,它的一个主要用途就是在只有二值输出的打印机上打印图象。我们介绍两种方法:图案法和抖动法。 1. 图案法(patterning) 图案法是指灰度可以用一定比例的黑白点组成的区域表示,从而达到整体图象的灰度感。黑白点的位置选择称为图案化(patterning)。 在具体介绍图案法之前,先介绍一下分辨率的概念。计算机显示器,打印机,扫描仪等设备的一个重要指标就是分辨率,单位是dpi(dot per inch),即每英寸点数,点数越多,分辨率就越高,图象就越清晰。让我们来计算一下,计算机显示器的分辨率有多高。设显示器为15英寸(指对角线长度),最多显示1280*1024个点。因为宽高比为4:3,则宽有12英寸,高有9英寸,则该显示器的水平分辨率为106dpi,垂直分辨率为113.8dpi。一般的激光打印机的分辨率有300dpi*300dpi的,有600dpi*600dpi的,720dpi*720dpi。所以打出来的图象要比计算机显示出来的清晰的多。扫描仪的分辨率要高一些,数码相机的分辨率更高。 言归正传,前面讲了,图案化使用图案来表示像素的灰度,那么我们来做一道计算题。 假设有一幅240*180*8bit的灰度图,当用分辨率为300dpi*300dpi的激光打印机将其打印到12.8*9.6英寸的纸上时,每个像素的图案有多大? 这道题很简单,这张纸最多可以打(300*12.8)*(300*9.6)=3840*2880个点,所以每个像素可以用(3840/240)*(2880/180)=16*16个点大小的图案来表示,即一个像素256个点。如果这16*16的方块中一个黑点也没有,就可以表示灰度256,有一个黑点,就表示灰度255,依次类推,当都是黑点时,表示灰度0,这样,16*16的方块可以表示257级灰度。比要求的8bit共256级灰度还多了一个,所以上面的那幅图的灰度级别完全能够打印出来。 这里有一个图案构成的问题,即黑点打在哪里?比如说,只有一个黑点时,我们可以打在正中央,也可以打16*16的左上角。图案可以是规则的,也可以是不规则的。一般情况下,有规则的图案比随即图案能够避免点的丛集,但有时会导致图象中有明显的线条。 如图1中,2*2的图案可以表示5级灰度,当图象中有一片灰度为的1的区域时,如图2所示,有明显的水平和垂直线条。 图2. 2*2的图案 图3. 规则图案导致线条 如果想存储256级灰度的图案,就需要256*16*16的二值点阵,占用的空间还是相当可观的。有一个更好的办法是:只存储一个整数矩阵,称为标准图案,其中的每个值从0到255。图象的实际灰度和阵列中的每个值比较,当该值大于等于灰度时,对应点打一黑点。下面举一个25级灰度的例子加以说明。 图4. 标准图案举例 图4中,左边为标准图案,右边为灰度为15的图案,共有10个黑点,15个白点。其实道理很简单,灰度为0时全是黑点,灰度每增加1,减少一个黑点。要注意的是,5*5的图案可以表示26种灰度,灰度25才是全白点,而不是24。 下面介绍一种设计标准图案的算法,是由Limb在1969年提出的。 以一个2*2的矩阵开始 M1=,通过递归关系有Mn+1=,其中2*2 是阵列中元素的个数,Un是一个2*2的方阵,所有元素都是1。根据这个算法,可以得到 M2=,为16级灰度的标准图案。 M3(8*8阵)比较特殊,称为Bayer抖动表。M4是一个16*16的矩阵。 根据上面的算法,如果利用M3,一个像素要用8*8的图案表示,则一幅N*N的图将变成8N*8N大小。如果利用M4,就更不得了,变成16N*16N了。能不能在保持原图大小的情况下利用图案化技术呢?一种很自然的想法是:如果用M2阵,则将原图中每8*8个点中取一点,即重新采样,然后再应用图案化技术,就能够保持原图大小。实际上,这种方法并不可行。首先,你不知道这8*8个点中找哪一点比较合适,另外,8*8的间隔实在太大了,生成的

文档评论(0)

zhaoxiaoj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档