打印图片时省墨处理,并生成pdf方便打印

tonnyzhang · · 800 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

想法产生的背景

最近孩子学校要求打印的材料比较多,就自己买了台打印机。安置妥当后在使用过程中遇到了还没有打印多少张就发现墨水不够用了,就想着打印图片怎么才能即省墨又不丢打印效果,这样就有这篇文章进行尝试。

什么样的图片打印时需要考虑省墨?

  • 扫描的黑白图片就可以忽略了,基本已经达到了省墨的程度
  • 要考虑省墨的是用手机拍摄的书本图片

如何才可能省墨?

  1. 把彩色图片生成灰度图
  2. 处理一些浅色的背景图

处理架构

使用 golang 处理图片并自动生成pdf

处理过程

  1. 读取原始图片
  2. 计算平均灰度值并
  3. 生成灰度图(大于平均灰度值时直接使用白色)
  4. 处理边缘阴影
  5. 生成pdf

处理边缘阴影

  1. 查看边缘所有不是白色像素点
  2. 今次查看像素点周围八个点是否和当前点值接近(参考程序里的相似容差值)
  3. 如周围有相似点时直接使用白色

下面看下对比效果

彩色图 一般灰度图 结果灰度图
52.jpg
52.jpg
52.jpg.png
53.jpg
53.jpg
53.jpg.png
54.jpg
54.jpg
54.jpg.png
55.jpg
55.jpg
55.jpg.png
56.jpg
56.jpg
56.jpg.png

后续改进

还有许多可以改进的地方,如:

  1. 处理不是边缘的阴影部分
  2. 处理字或显示实体周围的噪点

等待这些就属于图像处理的高级领域了,感兴趣的小伙伴可以再深入研究下

最后加上程序的源码地址,感兴趣的小伙伴可以一起交流下:


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:tonnyzhang

查看原文:打印图片时省墨处理,并生成pdf方便打印

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

800 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传