本文转载至知乎ID:Charles(白露未晞)知乎个人专栏
下载W3Cschool手机App,0基础随时随地学编程>>戳此了解
导语
本文转载至知乎ID:Charles(白露未晞)知乎个人专栏
下载W3Cschool手机App,0基础随时随地学编程>>戳此了解
利用Python实现手写笔记的压缩与增强。
至于起因大概是:
这个内容很有趣。。。
——>
说了等于没说。T_T
相关文件
百度网盘下载链接: https://pan.baidu.com/s/1oagM2fbKUJXSiZ93S_Mszg
密码: 47ws
参考文献
链接:
https://mzucker.github.io/2016/09/20/noteshrink.html
作者:
Matt Zucker
主要思路
Step1:确定背景色
假定纸张颜色是扫描图像中最常出现的那一种颜色。
同时将8比特每通道消减至6比特每通道来增加背景色获取的可靠性。
Step2:分离前景色
将色彩从RGB空间映射到HSV空间来实现分离前景色的功能。
规则默认为:
(1)明亮度V比背景色大0.3以上;
(2)饱和度S比背景色大0.2以上。
满足其中一条即为前景色。
Step3:选择呈现色
相当于使用簇分析法解决一个色彩量化问题。
将原始24位每像素的图像转换成一个具有小数量代表色的图像。
主要使用K均值算法实现。
其他说明:
(1)默认情况下,程序会通过重新设置颜色的最大最小强度值为0到255,来增加最后调色板各色的艳丽度和对比度;
(2)程序默认情况下自动地根据输入文件名排序,关键字为数字。
开发工具
Python版本:3.5.4
相关模块:
Scipy模块、numpy模块、PIL模块以及一些Python自带的模块。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
使用演示
全部功能选项:
基本功能使用:
py -3.5 Note_Processor.py + 待处理的笔记图片名
例如下图:
结果展示
笔记1:
结果图:
笔记2:
结果图:
更多
若对结果不满意,请自行在命令行窗口设置相应的参数,即不要使用默认值;
例如: