⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chap04.htm

📁 数字图像处理入门. 一位图像处理高手写的书. 从图像处理的最基础开始,然后慢慢以一些例子做说明,进入图像处理的更高阶段.学习图像处理不可多得的比较朴实的书
💻 HTM
📖 第 1 页 / 共 5 页
字号:

<html>

<!-- Mirrored from www.lgui.net/column/book1/chap04.htm by HTTrack Website Copier/3.x [XR&CO'2005], Mon, 21 Mar 2005 13:20:04 GMT -->
<head>
<meta http-equiv=Content-Type content="text/html; charset=GB2312">
<link rel=Edit-Time-Data href="chap04.files/editdata.html" >
<link rel=OLE-Object-Data href="chap04.files/oledata.mso" >
<title>第4章 图象的半影调和抖动技术</title>
<style><!--
.Normal
	{text-align:justify;
	text-justify:inter-ideograph;
	text-indent:0pt;
	line-height:normal;
	font-size:10.5pt;
	font-family:"Times New Roman";}
.a
	{text-align:center;
	text-indent:0pt;
	line-height:20.0pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
-->
</style>
</head>
<body lang=ZH-CN link=blue vlink=purple class="Normal" bgcolor="#FFFFFF">
<div style='layout-grid:15.6pt'> 
  <h1><a name="_Toc486331877"></a><a name="_Toc486332877"></a><a
name="_Toc486338986"></a><a name="_Toc454810851"></a><a name="_Toc454856625"><span><span>第<span
lang=EN-US>4</span></span></span></a><span><span><span style='font-family:黑体;"Times New Roman"'>章</span> 
    </span></span><span><span><span  
style='font-family:黑体;"Times New Roman"'>图象的半影调和抖动技术</span></span></span></h1>
  <p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>在介绍本章内容之前,先提出一个问题?普通的黑白针式打印机能打出灰度图来吗?如果说能,从针式打印机的打印原理来分析,似乎是不可能的。因为针打是靠撞针击打色带在纸上形成黑点的,不可能打出灰色的点来;如果说不能,可是我们的确见过用针式打印机打印出来的灰色图象。到底是怎么回事呢?</span></p>
  <p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>你再仔细看看那些打印出来的所谓的灰色图象,最好用放大镜看。你会发现,原来这些灰色图象都是由一些黑点组成的,黑点多一些,图象就暗一些;黑点少一些,图案就亮一些。下面这几张图就很能说明这一点。</span></p>
  <p align=center style='text-align:center;line-height:18.0pt'><span
lang=EN-US> <img width=259 height=56
src="chap04.files/image001.gif"  v:shapes="_x0000_i1025"> </span></p>
  <p align=center style='text-align:center;line-height:18.0pt'><b><span
style='font-family:宋体;"Times New Roman"'>图</span><span lang=EN-US>4.1 </span></b><b><span  
style='font-family:宋体;"Times New Roman"'>用黑白两种颜色打印出灰度效果</span><span lang=EN-US></span></b></p>
  <p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>图</span><span lang=EN-US>4.1</span><span style='font-family:
宋体;&quot;Times New Roman&quot;'>中最左边的是原图,是一幅真正的灰度图,另外三张图都是黑白二值图。容易看出,最左的那幅和原图最接近。</span></p>
  <p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>由二值图象显示出灰度效果的方法,就是我们今天要讲的半影调</span><span lang=EN-US>(halftone)</span><span
style='font-family:宋体;"Times New Roman"'>技术,它的一个主要用途就是在只有二值输出的打印机上打印图象。我们介绍两种方法:图案法和抖动法。</span></p>
  <h2> <span
lang=EN-US>4.1</span> <span lang=EN-US> </span><a name="_Toc486331878"></a><a  
name="_Toc486332878"></a><a name="_Toc486338987"></a><a name="_Toc454810852"></a><a
name="_Toc454856626"><span><span>图案法</span></span></a></h2>
  <p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>图案法</span><span lang=EN-US>(patterning)</span><span
style='font-family:宋体;"Times New Roman"'>是指灰度可以用一定比例的黑白点组成的区域表示,从而达到整体图象的灰度感。黑白点的位置选择称为图案化。</span></p>
  <p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>在具体介绍图案法之前,先介绍一下分辨率的概念。计算机显示器,打印机,扫描仪等设备的一个重要指标就是分辨率,单位是</span><span
lang=EN-US>dpi(dot per inch)</span><span style='font-family:宋体;"Times New Roman";"Times New Roman"'>,即每英寸点数,点数越多,分辨率就越高,图象就越清晰。让我们来计算一下,计算机显示器的分辨率有多高。设显示器为</span><span  
lang=EN-US>15</span><span style='font-family:宋体;
&quot;Times New Roman&quot;'>英寸</span><span lang=EN-US>(</span><span
style='font-family:宋体;"Times New Roman"'>指对角线长度</span><span lang=EN-US>)</span><span
style='font-family:宋体;"Times New Roman"'>,最多显示</span><span lang=EN-US>1280</span><span
style='font-family:宋体;"Times New Roman"'>×</span><span lang=EN-US>1024</span><span style='font-family:
宋体;&quot;Times New Roman&quot;'>个点。因为宽高比为</span><span
lang=EN-US>4</span><span style='font-family:宋体;
&quot;Times New Roman&quot;'>:</span><span lang=EN-US>3</span><span
style='font-family:宋体;"Times New Roman"'>,所以宽有</span><span lang=EN-US>12</span><span
style='font-family:宋体;"Times New Roman"'>英寸,高有</span><span lang=EN-US>9</span><span style='font-family:
宋体;&quot;Times New Roman&quot;'>英寸,则该显示器的水平分辨率为</span><span
lang=EN-US>106dpi</span><span style='font-family:宋体;
&quot;Times New Roman&quot;'>,垂直分辨率为</span><span lang=EN-US>113.8dpi</span><span
style='font-family:宋体;"Times New Roman"'>。一般的激光打印机的分辨率有</span><span lang=EN-US>300dpi</span><span
style='font-family:宋体;"Times New Roman"'>×</span><span lang=EN-US>300dpi</span><span
style='font-family:宋体;"Times New Roman"'>,</span><span lang=EN-US>600dpi</span><span
style='font-family:宋体;"Times New Roman"'>×</span><span lang=EN-US>600dpi</span><span
style='font-family:宋体;"Times New Roman"'>,</span><span lang=EN-US>720dpi</span><span
style='font-family:宋体;"Times New Roman"'>×</span><span lang=EN-US>720dpi</span><span
style='font-family:宋体;"Times New Roman"'>。所以打出来的图象要比计算机显示出来的清晰的多。扫描仪的分辨率要高一些,数码相机的分辨率更高。</span></p>
  <p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>言归正传,前面讲了,图案化使用图案来表示象素的灰度,那么我们来做一道计算题。假设有一幅</span><span
lang=EN-US>240</span><span style='font-family:宋体;
&quot;Times New Roman&quot;'>×</span><span lang=EN-US>180</span><span
style='font-family:宋体;"Times New Roman"'>×</span><span lang=EN-US>8bit</span><span style='font-family:
宋体;&quot;Times New Roman&quot;'>的灰度图,当用分辨率为</span><span
lang=EN-US>300dpi</span><span style='font-family:宋体;
&quot;Times New Roman&quot;'>×</span><span lang=EN-US>300dpi</span><span
style='font-family:宋体;"Times New Roman"'>的激光打印机将其打印到</span><span lang=EN-US>12.8</span><span
style='font-family:宋体;"Times New Roman"'>×</span><span lang=EN-US>9.6</span><span style='font-family:
宋体;&quot;Times New Roman&quot;'>英寸的纸上时,每个象素的图案有多大?</span></p>
  <p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>这道题很简单,这张纸最多可以打</span><span lang=EN-US>(300</span><span
style='font-family:宋体;"Times New Roman"'>×</span><span lang=EN-US>12.8) </span><span  
style='font-family:宋体;"Times New Roman"'>×</span><span lang=EN-US>(300</span><span style='font-family:
宋体;&quot;Times New Roman&quot;'>×</span><span
lang=EN-US>9.6)=3840</span><span style='font-family:宋体;"Times New Roman";"Times New Roman"'>×</span><span
lang=EN-US>2880</span><span style='font-family:宋体;
&quot;Times New Roman&quot;'>个点,所以每个象素可以用</span><span lang=EN-US>(3840/240)</span><span
style='font-family:宋体;"Times New Roman"'>×</span><span lang=EN-US>(2880/180)=16</span><span
style='font-family:宋体;"Times New Roman"'>×</span><span lang=EN-US>16</span><span style='font-family:
宋体;&quot;Times New Roman&quot;'>个点大小的图案来表示,即一个象素</span><span
lang=EN-US>256</span><span style='font-family:宋体;
&quot;Times New Roman&quot;'>个点。如果这</span><span lang=EN-US>16</span><span
style='font-family:宋体;"Times New Roman"'>×</span><span lang=EN-US>16</span><span style='font-family:
宋体;&quot;Times New Roman&quot;'>的方块中一个黑点也没有,就可以表示灰度</span><span
lang=EN-US>256</span><span style='font-family:宋体;
&quot;Times New Roman&quot;'>;有一个黑点,就表示灰度</span><span lang=EN-US>255</span><span
style='font-family:宋体;"Times New Roman"'>;依次类推,当都是黑点时,表示灰度</span><span lang=EN-US>0</span><span
style='font-family:宋体;"Times New Roman"'>。这样,</span><span lang=EN-US>16</span><span style='font-family:
宋体;&quot;Times New Roman&quot;'>×</span><span
lang=EN-US>16</span><span style='font-family:宋体;
&quot;Times New Roman&quot;'>的方块可以表示</span><span lang=EN-US>257</span><span
style='font-family:宋体;"Times New Roman"'>级灰度,比要求的</span><span lang=EN-US>8bit</span><span
style='font-family:宋体;"Times New Roman"'>共</span><span lang=EN-US>256</span><span style='font-family:
宋体;&quot;Times New Roman&quot;'>级灰度还多了一个。所以上面的那幅图的灰度级别完全能够打印出来。</span></p>
  <p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>这里有一个图案构成的问题,即黑点打在哪里?比如说,只有一个黑点时,我们可以打在正中央,也可以打</span><span
lang=EN-US>16</span><span style='font-family:宋体;
&quot;Times New Roman&quot;'>×</span><span lang=EN-US>16</span><span
style='font-family:宋体;"Times New Roman"'>的左上角。图案可以是规则的,也可以是不规则的。一般情况下,有规则的图案比随即图案能够避免点的丛集,但有时会导致图象中有明显的线条。</span></p>
  <p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>如图</span><span lang=EN-US>4.1</span><span style='font-family:
宋体;&quot;Times New Roman&quot;'>中,</span><span
lang=EN-US>2</span><span style='font-family:宋体;
&quot;Times New Roman&quot;'>×</span><span lang=EN-US>2</span><span
style='font-family:宋体;"Times New Roman"'>的图案可以表示</span><span lang=EN-US>5</span><span
style='font-family:宋体;"Times New Roman"'>级灰度,当图象中有一片灰度为的</span><span lang=EN-US>1</span><span
style='font-family:宋体;"Times New Roman"'>的区域时,如图</span><span lang=EN-US>4.2</span><span
style='font-family:宋体;"Times New Roman"'>所示,有明显的水平和垂直线条。</span></p>
  <div align=center> 
    <table border=0 cellspacing=0 cellpadding=0>
      <tr> 
        <td width=276 valign=bottom class="Normal"> 
          <p align=center style='text-align:center;line-height:18.0pt'><b><span
  lang=EN-US> <img width=316 height=89
  src="chap04.files/image002.gif"  v:shapes="_x0000_i1027"> </span></b></p>
          <p align=center style='text-align:center;line-height:18.0pt'><b><span
  style='font-family:宋体;"Times New Roman"'>图</span>4.2&nbsp;&nbsp;&nbsp;&nbsp;   
            2</b><b><span style='font-family:
  宋体;&quot;Times New Roman&quot;'>×</span><span
  lang=EN-US>2</span></b><b><span style='font-family:宋体;"Times New Roman";"Times New Roman"'>的图案</span><span
  lang=EN-US></span></b></p>
        </td>
        <td width=276 valign=bottom class="Normal"> 
          <p align=center style='text-align:center;line-height:18.0pt'><b><span
  lang=EN-US> <img width=162 height=98
  src="chap04.files/image003.gif"  v:shapes="_x0000_i1028"> </span></b></p>
          <p align=center style='text-align:center;line-height:18.0pt'><b><span
  style='font-family:宋体;"Times New Roman"'>图</span>4.3&nbsp;&nbsp;&nbsp;&nbsp;   
            </b><b><span style='font-family:
  宋体;&quot;Times New Roman&quot;'>规则图案导致线条</span><span
  lang=EN-US></span></b></p>
        </td>
      </tr>
    </table>
  </div>
  <p style='line-height:18.0pt'><span
style='font-family:宋体;"Times New Roman"'>如果想存储</span><span lang=EN-US>256</span><span
style='font-family:宋体;"Times New Roman"'>级灰度的图案,就需要</span><span lang=EN-US>256</span><span
style='font-family:宋体;"Times New Roman"'>×</span><span lang=EN-US>16</span><span style='font-family:
宋体;&quot;Times New Roman&quot;'>×</span><span
lang=EN-US>16</span><span style='font-family:宋体;
&quot;Times New Roman&quot;'>的二值点阵,占用的空间还是相当可观的。有一个更好的办法是:只存储一个整数矩阵,称为标准图案,其中的每个值从</span><span
lang=EN-US>0</span><span style='font-family:宋体;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -