MATLAB:图像半调转换(halftone)和抖动转换(dither)
《MATLAB: 图像半调(halftone)显示和抖动(dither)显示》
本文地址 https://blog.youkuaiyun.com/qq_39475211/article/details/86664284
什么是半色调(halftone)
半色调(Halftone)技术是传统印刷中用来处理阶调并模拟连续调(Continue tone)的方法。
图:不连续与连续阶调
印刷机或打印机上所打印的图像,只能借由着墨或不着墨两种阶调来表现层次,像这样的两值化影像称为半色调影像。只要借由调整不同形式、不同大小的墨点,利用人眼可以将图像中邻近墨点进行视觉积分的原理,在一定的距离观察下,便可以使二值化影像重现连续调的感觉。
可以直观理解为牺牲空间来实现不同深浅度,利用墨点数实现印刷的深浅变化。
通常的分类
半色调分别为调幅(Amplitude Modulation, AM)与调频(Frequency Modulation, FM),简单来说,AM是利用网点面积大小来表现图像的浓淡深浅;FM则是以网点排列间距的疏密不同,来呈现图像的层次。
小实验1
1.读取cameraman.tif图像,自行编写代码,完成4x4的halftone转换并显示;
AM方法:
将图像的像素灰度值分成16阶(其实也可以是17阶),然后对应在原像素位置扩大成4x4网格。不同灰度阶强度就涂黑不同的网格数。
比如,在256级灰度中,某个像素灰度是30,由于我们将图像的像素灰度值分成16阶(灰度0~15为1阶,16-31为2阶……),所以这个像素在4x4