文本圖像在圖像處理中也是佔用了一個比較大的空間,市面上也有着很多這方面的專業軟件,其中有一個比較重要的過程就是對文本圖像背景的純化,由於背景複雜了後,對於後續的識別,包括二值化都會帶來不利的影響。 本文介紹三種不一樣的背景純化方式。算法
第一種方式: 借用Photoshop的一個算法,名字叫影印,英文名是PhotoCopy,這個算法的效果以下:網絡
這裏借用了一個網絡上的圖片,細節和暗度的參數分別爲5和10,執行完成後進行了反色操做。spa
這個算法的核心仍是高斯模糊,細節參數就是高斯模糊的半徑。3d
第二個算法:使用了一個網友的提供的算法,就叫他背景移除算法吧。code
具體的能夠在https://www.cnblogs.com/jsxyhelu這個大俠的博客中查找。blog
這個算法的基礎其實也是高斯模糊,一個簡答的代碼以下所示:圖片
for (int Y = 0; Y < Height * Width; Y++) { if (Blur[Y] != 0) Dest[Y] = IM_ClampToByte(Src[Y] * 255 / Blur[Y]); }
第三個算法: 咱們姑且叫他背景純化吧。jsx
這個算法呢和Sauvola二值化有必定的聯繫,咱們知道Sauvola二值化一直是局部閾值方法的標杆,他的核心是計算某個局部區域的的均值和方差,這裏也是把圖像先分塊,而後按照某種原則,計算每一個塊內的均值和方差,接着呢對每一個像素位置使用均布均值和方差按照必定的原則肯定其最後的顯示值,固然,因爲只計算了塊內的方差和均值,所以,每一個像素處的均值和方差能夠用相似CLAHE算法裏的方式進行插值獲取,或者已經有的數據進行曲線擬合後在計算獲得,前者速度快,後者更精確。get
關於這個的原理我沒有弄清楚,可是確實效果能夠,注意他其實並無二值化的,實測這個算法效果仍是不錯的。博客
原 圖 PhotoCopy的效果
背景去除算法的效果 背景純化算法的效果
上面這個結果,應該說後面兩個效果都還不錯的。
咱們在看一個圖,區別就更爲明顯了。
原 圖 PhotoCopy的效果
背景去除算法的效果 背景純化算法的效果
能夠看出,背景去除那個算法那原生的能夠保留彩色的部分,其餘的就不行,可是也能夠適當的修改使得算法部分能得以保留。
可是,PhotoCopy算法還能夠用在不少其餘的場合,然後面的兩個算法若是用於普通的圖像,效果就有點過了。
我如今一直在改進最後一個算法,以爲他頗有前景。
在個人SSE Demo裏也集成了上述三個算法,分別位於Styleize --> PhotoCopy、Detection->Auxliary->RemoveBackGround以及Detection->Auxliary->PureGround菜單下。
PureGround還有一些其餘的選項,以下圖所示:
可在此處下載Demo: https://files.cnblogs.com/files/Imageshop/SSE_Optimization_Demo.rar