欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

黑白点图的生成法

发布时间:2024/3/13 编程问答 59 豆豆
生活随笔 收集整理的这篇文章主要介绍了 黑白点图的生成法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

随机阈值法

每个像素点都采用(0~255)的随机阈值进行二值化。

等级概率密度法

先把图像进行像素分级,比如保留四级的灰度。

然后对每个灰度计算黑色像素的概率分布:

当前像素为最低等级,黑点概率为1
当前像素为最高等级,黑点概率为0

假设概率P随等级变化线性分布,计算出分布:

建立分布表 P[grades][gradesmax],其中grades为等级,gradesmax为等级最大取值,即grades-1

然后对每个像素进行概率密度映射,计算随机概率映射到该表中,得到输出值。

Halftoning半色调技术

如将灰度分为10级,每一级对应下面3*3的模式:

经过转换后,图像长宽都是原来的三倍,由此分辨率下降为原来的33%,图像大小要重新调整。

Floyd-Steinberg抖动算法

利用误差扩散实现点图,如果某些像素向下取整,则下一个像素向上取整的可能性更大,这样使得平均量化误差最小:

for each y from top to bottomfor each x from left to rightoldpixel = pixel[x][y]newpixel = oldpixel > 127 ? 255 : 0pixel[x][y] = newpixelquant_error = oldpixel - newpixelpixel[x + 1][y ] += quant_error * 7 / 16pixel[x - 1][y + 1] += quant_error * 3 / 16pixel[x ][y + 1] += quant_error * 5 / 16pixel[x + 1][y + 1] += quant_error * 1 / 16

总结

以上是生活随笔为你收集整理的黑白点图的生成法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。