本文轉(zhuǎn)載至知乎ID:Charles(白露未晞)知乎個(gè)人專欄
下載W3Cschool手機(jī)App,0基礎(chǔ)隨時(shí)隨地學(xué)編程>>戳此了解
導(dǎo)語
本文轉(zhuǎn)載至知乎ID:Charles(白露未晞)知乎個(gè)人專欄
下載W3Cschool手機(jī)App,0基礎(chǔ)隨時(shí)隨地學(xué)編程>>戳此了解
利用Python實(shí)現(xiàn)手寫筆記的壓縮與增強(qiáng)。
至于起因大概是:
這個(gè)內(nèi)容很有趣。。。
——>
說了等于沒說。T_T
相關(guān)文件
百度網(wǎng)盤下載鏈接: https://pan.baidu.com/s/1oagM2fbKUJXSiZ93S_Mszg
密碼: 47ws
參考文獻(xiàn)
鏈接:
https://mzucker.github.io/2016/09/20/noteshrink.html
作者:
Matt Zucker
主要思路
Step1:確定背景色
假定紙張顏色是掃描圖像中最常出現(xiàn)的那一種顏色。
同時(shí)將8比特每通道消減至6比特每通道來增加背景色獲取的可靠性。
Step2:分離前景色
將色彩從RGB空間映射到HSV空間來實(shí)現(xiàn)分離前景色的功能。
規(guī)則默認(rèn)為:
(1)明亮度V比背景色大0.3以上;
(2)飽和度S比背景色大0.2以上。
滿足其中一條即為前景色。
Step3:選擇呈現(xiàn)色
相當(dāng)于使用簇分析法解決一個(gè)色彩量化問題。
將原始24位每像素的圖像轉(zhuǎn)換成一個(gè)具有小數(shù)量代表色的圖像。
主要使用K均值算法實(shí)現(xiàn)。
其他說明:
(1)默認(rèn)情況下,程序會(huì)通過重新設(shè)置顏色的最大最小強(qiáng)度值為0到255,來增加最后調(diào)色板各色的艷麗度和對(duì)比度;
(2)程序默認(rèn)情況下自動(dòng)地根據(jù)輸入文件名排序,關(guān)鍵字為數(shù)字。
開發(fā)工具
Python版本:3.5.4
相關(guān)模塊:
Scipy模塊、numpy模塊、PIL模塊以及一些Python自帶的模塊。
環(huán)境搭建
安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。
使用演示
全部功能選項(xiàng):
基本功能使用:
py -3.5 Note_Processor.py + 待處理的筆記圖片名
例如下圖:
結(jié)果展示
筆記1:
結(jié)果圖:
筆記2:
結(jié)果圖:
更多
若對(duì)結(jié)果不滿意,請(qǐng)自行在命令行窗口設(shè)置相應(yīng)的參數(shù),即不要使用默認(rèn)值;
例如: