今天分享一個 GitHub 上一個實用神器,可以讓你的手寫稿圖片變清晰、圖片大小變更小。
先來看下面的原圖和效果圖吧。
作者是美國斯沃斯莫爾學院的教授,因爲他經常會把他學生的一些優質手寫筆記要掛到網上分享給其他的同學,但是這些手寫稿經過掃描儀掃描後,圖片質量比較差,而且文件還特別的大。
所以他爲了解決這個問題,就自己寫了一個 python 腳本來專門優化這個問題,這也是他寫這個腳本的初衷。
很佩服這位教授的哈,用自己的程序幫助自己解決實際工作中的問題,或許這纔是程序最大的意義吧,也是每一位程序開發者的價值體現,值得學習。
關於這個腳本的實現原理及細節,我自己也看不太懂,從作者的介紹來看,主要有三大過程,下面是作者的部分原文:
Process and color image fundamentals Here are the steps required to produce the compact, clean image above: Identify the background color of the original scanned image.
Isolate the foreground by thresholding on difference from background color. Convert to an indexed color PNG by choosing a small number of “representative colors” from the foreground.
大概意思就是主要分三個過程,第一是確認並識別圖片背景顏色,第二個是找到一個閥值來把前景顏色隔離出來,第三個是從前景顏色中選取少部分的具有代表性的顏色來作爲索引顏色。
大家有興趣的可以去看下具體的源碼,下面給出 GitHub 源碼地址:
https://github.com/mzucker/noteshrink
你可以下載源碼文件到本地,直接運行即可,注意要先安裝相關的三方庫,運行命令如下:
./noteshrink.py sourceImagePath -b resultImagePath
sourceImagePath 表示你的原圖路徑,
resultImagePath 表示圖片處理後要保存的目錄,兩個路徑可以是相對路徑也可以是絕對路徑。