数字图像处理编成入门笔记——第四章图象的半影调和抖动技术
来源:互联网 发布:全网影视软件下载 编辑:程序博客网 时间:2024/06/04 18:37
1. 黑白二值图:只由黑点和白点组成,表现出灰色图象的效果。黑点越多,图像就暗点,反之,图像就亮点。
2. 半影调技术:由二值图象显示出灰度效果的方法。它的一个主要用途就是在只有二值输出的打印机上打印图象。主要的两种方法:图案法和抖动法。
4.1 图案法
1. 图案法是指灰度可以用一定比例的黑白点组成的区域表示,从而达到整体图象的灰度感。黑白点的位置选择称为图案化。
2. 分辨率,单位是dpi(dot per inch),即每英寸点数,点数越多,分辨率就越高,图象就越清晰。显示器的尺寸(英寸)是指对角线。
3. 像素点灰度的表示方法(图案):如果这16×16的方块中一个黑点也没有,就可以表示灰度256;有一个黑点,就表示灰度255;依次类推,当都是黑点时,表示灰度0。这样,16×16的方块可以表示257级灰度。
4. 图案的构成:有规则的图案和随机的图案。一般情况下,有规则的图案比随即图案能够避免点的丛集,但有时会导致图象中有明显的线条。
5. 标准图案:一个整数矩阵。例如要表示256级灰度,则其中的每个值从0到255。图象的实际灰度和阵列中的每个值比较,当该值大于等于灰度时,对应点打一黑点。
6. 设计标准图案的算法:(由Limb在1969年提出的)
先以一个2×2的矩阵开始:设M1= ,通过递归关系有Mn+1= ,其中Mn和Un均为2n×2n的方阵,Un的所有元素都是1。根据这个算法,可以得到M2= ,为16级灰度的标准图案。
M3(8×8阵)比较特殊,称为Bayer抖动表。M4是一个16×16的矩阵。
7. 在不改变原图的大小下,使用利用图案化技术:设原图是256级灰度,利用Bayer抖动表,做如下处理:
if (g[y][x]>>2) > bayer[y&7][x&7] then 打一白点 else 打一黑点
其中,x,y代表原图的象素坐标,g[y][x]代表该点灰度。首先将灰度右移两位,变成64级,然后将x,y做模8运算,找到Bayer表中的对应点,两者做比较,根据上面给出的判据做处理。模8运算使得原图分成了一个个8×8的小块,每个小块和8×8的Bayer表相对应。
4.2 抖动法
1. 规则抖动:如上面提到Bayer表算法。优点是算法简单;缺点是图案化有时很明显,这是因为取模运算虽然引入了随机成分,但还是有规律的。
2. Floyd-Steinberg算法:
假设灰度级别的范围从b(black)到w(white),中间值t为(b+w)/2,对应256级灰度,b=0,w=255,t=127.5。设原图中象素的灰度为g,误差值为e,则新图中对应象素的值用如下的方法得到:
if g > t then
打白点
e=g-w
else
打黑点
e=g-b
3/8 × e 加到右边的象素
3/8 × e 加到下边的象素
1/4 × e 加到右下方的象素
但在这个算法中,因为e有可能是负数,为了防止得到的值超出char能表示的范围,我们使用了一个int类型的缓冲区存储新值。
要注意的是,误差传播有时会引起流水效应,即误差不断向下,向右累加传播。解决的办法是:奇数行从左到右传播,偶数行从右到左传播。
4.3 将bmp文件转换为txt文件
1. 原理:首先将位图分成同样大小的小块,求出每一块灰度的平均值,然后和每个字符的灰度做比较,找出最接近的那个字符,来代表这一小块图象。
2. 字符灰度的确定方法:打开记事本(notepad),输入字符“1”,选定该字符,使其反色。按Alt+PrintScreen键拷贝窗口屏幕。打开画笔(paintbrush),粘贴;然后把图放到最大(×8),打开“查看”→“缩放” →“显示网格”菜单。每个字符的面积是8×16(宽×高),所以一个字符的灰度值可以用如下的公式计算(1-所占的黑点数/(8×16))×255。
在努力,就是向成功一点点迈进!加油~~~
- 数字图像处理编成入门笔记——第四章图象的半影调和抖动技术
- 图象的半影调和抖动技术
- 数字图像处理编成入门笔记——第三章图象的平滑(去噪声)、锐化
- 数字图像处理编成入门笔记——第8章 图象的检测及模板匹配
- 数字图像处理编成入门笔记——第9章 图象的压缩编码,JPEG压缩编码标准
- 数字图像处理编成入门——第二章图象的几何变换
- 数字图像处理编成入门笔记——第10章 图象处理编程工具及简单的多媒体编程
- 数字图像处理编成入门笔记——第五章直方图修正和彩色变换
- 数字图像处理编成入门笔记——第6章腐蚀,膨胀,细化算法
- 数字图像处理编成入门笔记——第7章 边沿检测与提取,轮廓跟踪
- 数字图像处理编成入门笔记——第一章Windows位图和调色板
- 数字图像处理:第十章 离散图象变换
- 数字图像处理:第十三章 图象复原
- 数字图像处理:第十四章 图象压缩
- 数字图像处理:第十五章 图象分割
- 数字图像处理 图象复原
- 数字图像处理 图象压缩
- 数字图像处理 图象分割
- Linux动态连接原理
- Mainfest中的权限声明
- 为何总向右?
- js 操作json数据
- I would become a real dramer,not a day dreamer and night dreamer
- 数字图像处理编成入门笔记——第四章图象的半影调和抖动技术
- 有限长信号自相关函数的估计
- 周鸿祎-- 用户体验和微创新
- SQL(select distinct count)
- 就让,我们晚一些再遇见
- 常用的JS
- 什么是移动应用中间件
- 远程桌面如果超出最大连接数, 使用命令行mstsc /console登录即可。
- Spring中的依赖注入——集合注入