LEADTOOLS中如何使用文檔清理命令接口來清理文檔圖像

 
文檔清理對文檔成像有很大的影響。它改進了文檔的視覺效果和可讀性。文件圖像清理是OCR,條形碼,PDF,表單識別,檔案等類似的功能的必備預處理,它可以增強了這些功能的效果和效率。
 
準確度 - 圖像很少完美。原始文件中的顏色,角度,缺陷都會對識別技術的準確性產生影響。通過正確對齊圖像並移除重要區域周圍的障礙物,識別過程可以掃描圖像,並尋找您要提取的文本和數據。
壓縮 - 大多數壓縮算法的工作原理是通過找到方法來巧妙地將像素組合在一起,使用較少的體積,但仍然將圖像重建爲原始圖像(或接近原始的有損方法),未壓縮數據。在文檔中,黑白圖像尤其如此。通過去除像素點,打孔和邊框等不必要的僞像,可以得到更好的壓縮效果。
速度 - 隨着不必要的像素越來越少,幾乎每個算法都可以更快地完成其工作。
 

使用LEADTOOLS進行文檔圖像清理

本文教大家如何利用LEADTOOLS進行這些優化。這裏有一些最常用的清理功能,可以輕鬆應用於任何圖像,進行這些基礎的處理後可以使您更高級的功能成爲更好的運行。
 
轉換圖像顏色(Inverted Image)
由於許多原因,雙色圖像可能會反轉。掃描儀設置,反轉調色板,彩色蒙版或從一種格式轉換到另一種格式都可能導致應爲黑色的像素爲白色,反之亦然。這個功能可以在每個圖像上運行。
1
2
InvertedPageCommand invertedPage = new InvertedPageCommand(InvertedPageCommandFlags.Process);
invertedPage.Run(img);
 
去斑點(Despeckle)
斑點經常正圖像、掃描儀或半色調中出現。它適用於白色背景上的黑色斑點和黑色背景上的白色斑點。運行此功能以刪除它們。
1
2
DespeckleCommand despecklePage = new DespeckleCommand();
despecklePage.Run(img);
 
移除直線(Line Removal)
兩種最常見的線條來源是表格和紙張摺疊。 在這兩種情況下,即使與打印或手寫的文本相交,也可以檢測和刪除窄的水平線或垂直線。這是任何識別技術的必備功能。
1
2
3
4
5
6
7
8
9
LineRemoveCommand lnPage = new LineRemoveCommand();
lnPage.Type = LineRemoveCommandType.Horizontal;
lnPage.Flags = LineRemoveCommandFlags.UseGap;
lnPage.GapLength = 2;
lnPage.MaximumLineWidth = 5;
lnPage.MinimumLineLength = 200;
lnPage.MaximumWallPercent = 10;
lnPage.Wall = 7;
lnPage.Run(img);
 
移除邊框(Border Removal)
如果圖像掃描時有平板背襯上有額外的空間,掃描儀將填充一個顏色的間隙。 如果它是黑色的,那麼它可以被刪除。
1
2
BorderRemoveCommand borderPage = new BorderRemoveCommand();
borderPage.Run(img);
 
打孔移除(Hole Punch Removal)
如果掃描儀掃描出任何的打孔,並且黑色,您可以消除它們以恢復這些區域以匹配背景。
1
2
HolePunchRemoveCommand holePage = new HolePunchRemoveCommand();
holePage.Run(img);
 
文檔清理的其他功能
上述功能是可以應用於任何文檔圖像的通用文檔清理功能。 LEADTOOLS提供了更多的文檔圖像處理功能,如歪斜校正,3D傾斜校正等,可用於更精確的處理。
發佈了269 篇原創文章 · 獲贊 15 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章