Python处理手写笔记

猿友 2018-08-09 18:10:41 浏览数 (7088)
反馈

本文转载至知乎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:

结果图:


更多

若对结果不满意,请自行在命令行窗口设置相应的参数,即不要使用默认值;

例如:

0 人点赞