作者:馬健
郵箱:stronghorse_mj@hotmail.com
主頁:https://www.cnblogs.com/stronghorse/
在我發了《ScanTailor版本簡介》后, 很快就有小伙伴向我靈魂發問:看你對ST這么熟,為什么還要費勁去開發CEP,難道ST它不香嗎?
我仔細想了一天,最終的回答是:ST當然香,但它真心不是我的菜。我認為ST和CEP還是有區別的,最根本的區別是二者針對的目標人群不同:
- ST是給傻瓜用的,所以不論是專家還是傻瓜,用ST處理得到的結果都差不多。
- CEP是給專家用的,所以傻瓜用CEP得到的就是傻瓜的結果,專家用CEP得到的就是專家的結果。
以掃描電子書處理中最常見的“彩色、灰度圖像轉純黑白”(二值化)為例,ST中的處理包括:
- 照度均衡(Normalize Illumination),目的是增亮頁面暗部,讓頁面沒有明顯的暗區。
- 按照Otsu算法求出全局閥值,以此閥值對全圖做二值化。
- 去斑點(Despeckling),用戶可以選擇斑點級別。
- 用形態學模型去毛刺。
整個過程中用戶只需要在界面中選擇去斑級別,不想選就直接用ST提供的也行,其他的全部都是內部自動化操作,不需要與用戶進行交互。看起來是不是很簡單?But,天下哪有白吃的午餐:
- 如果是對平板掃描儀掃描的結果進行處理,其實基本不需要進行照度均衡,除非是佷厚書的中縫部分。在不需要均衡的情況下強行均衡,只是在浪費時間。
- 如果是對手機拍攝的圖像進行處理,光照不均勻是必然的,光照均勻是偶然的,不進行照度均衡直接用Otsu二值化將是一場災難。問題是ST的照度均衡能力是有限的,經常會在 均衡后還存在殘留的背景色,或者干脆就把文字部分也均衡得發白,這些都會影響全局二值化效果。
- Otsu算法是全局算法,更注重全圖的均衡性,局部結果好不好就看命了,所以我用ST處理出來的中文文字頁,大面上看上去(縮圖看)確實是那么回事,但細看中文筆畫就經常性的覺得別扭,還沒法調整。
- ST中缺乏銳化功能,不能對高倍放大所帶來的圖像模糊進行抑制,所以圖像最大只允許放大到200%。但現在顯示器都進入4k時代了,處理以前的低分辨率圖像時高倍放大是剛需。
而在CEP中,簡單的二值化可以玩得很花哨,前提是你會玩:
- 在二值化之前,除了照度均衡外,還可以調整通道、色階、曲線、Gamma等等,讓圖像先變得盡量黑白分明,然后再去二值化。照度均衡留下的背景色經過通道混合、曲線中的強力去背景等,基本上都能去掉。
- 二值化算法缺省是Otsu,但那是給啥也不知道的新手用的,老手可以用wolf窗口尺寸控制筆畫粗細,還可以結合銳化、柔化(高斯模糊)對筆畫清晰度、光滑度進行調節,並且避免粘連。
- 如果想對二值化追求到極致,比如在黑白激光或噴墨打印機上打印灰度級別豐富的圖像,還可以選擇不同的抖動算法。
- 去斑、去毛刺也是可以的,但要不要做就看你選不選。
- 低分辨率圖像直接二值化純屬耍流氓,必須要先放大再二值化才是真愛。在CEP的“切邊”對話框里可以實現200%以上的高倍放大,然后再用高階銳化破解模糊。
覺得我在胡說八道吹牛逼的,歡迎用《“偽·高清”制作二例》中的兩個例子來打臉,看看你用ST能把這兩個圖片處理得比CEP強多少:https://www.cnblogs.com/stronghorse/p/9425046.html
“給傻瓜用”和“給專家用”的區別,除了體現在像上面說的提供給用戶的選項數量不同之外,還體現在設計思想上有一個根本性的區別:
- ST執行的是徹底的傻瓜化操作,因此用戶不選的操作均默認采用ST內部的自動操作。比如說你開始用ST處理某頁圖像,前面啥也不選直接點“Margins”,則ST會自動把Fix Orientation、Split Pages、Deskew、Select Content在內部全部跑一遍,如果結果正常就大省事,不然就需要再返回前面去逐項修正。
- CEP則是徹底的“不選就不動”,任何參數你不去選它就沒個卵用。所以新手用CEP上來就是滿臉懵,完全看不到什么結果。
總之,我認為具體究竟選ST還是選CEP,就看你在目標期望值與學習成本之間如何決策。至於我自己,在早期CEP功能比較弱的時候,我確實用過ST,但總覺得它處理后的中文文字筆畫看起來不符合我的審美觀 、價值觀、人生觀。於是咬着牙努力升級CEP,就變成了先用ST處理成灰度圖像,然后再用CEP處理成純黑白。升級到現在則再也不用ST,只用CEP。
(完)