??? 前一段時間單位和清華文通公司合作開發掃描識別方面的項目,由此能夠獲知一些掃描方面的知識,以及能夠從清華文通的保存文件格式中窺斑見豹,了解到一些他們是如何進行掃描識別的過程。
??? 清華文通的保存文件是以mod結尾的文本格式的文件,其中的內容大致上分為如下幾個部分:
??? 1、[Description]
??? 2、[imageDealt]
??? 3、[LocationInfo]
??? 4、[Region]
??? 5、[Region1]
??? 6、[Region1.Cell1]
??? 7、[Region1.Cell1.SubCell1]
??? 如上就是清華文通mod文件保存的大致內容格式。
??? Description是對整張模板的基本情況說明的部分其中包含子項有:Vertion、Type、Name、SourceImage、RegionNumber、CellNumber、SubCellNumber、LineNumber、SaveCellPosition、DatabaseName、XResolution、YRsolution、SavePNT。
??? 這之中最重要的是Name、SourceImage、CellNumber、SubCellNumber、XResolution、YRsolution這些子項,它們分別標識了模板名字、模板分析時使用的圖像名字、區域中需要識別的單元個數,Cell就是識別單元的代號、識別單元中有多少個子單元、掃描的分辨率。
??? imageDealt是用于圖像處理的參數說明,這里的參數我們一般不需要進行太多的干涉,使用默認值0即可。
??? LocationInfo項目中時關于定位信息的設置,這里要說說在掃描之中的參照線的問題,我們是用一張普通的A4紙在掃描儀上掃描,它的邊是黑色的這個大家有過掃描經驗的人應該都知道吧,那么我們怎么能夠對紙上的字進行相對位置的確定呢?掃描后紙邊的黑邊是有很大一個區域的如果用它來做定位參照,那么其帶來的誤差將會很大,可能會導致其后的識別的位置錯誤。所以,我們在需要掃描的紙上人為的作出一個四邊形區域,將所有需要識別的文字包括在其中,那么這4條清晰的直線將是我們之后掃描識別的參照線。LocationInfo就是用于設置這4條定位線的信息項。
??? Region的一般設置是1,標明這張紙上有多少個需要識別的區域。
??? Region1是對Region中標識為1的區域進行說明,其中的子項有TotalCell、TableName、Position、TotalFrameLines、TotalCellGroups。這里因為命名規則我們可以望詞見意。
??? Region1.Cell1是對Region1中第一個需要識別的單元格進行的說明,其中含有CellAttrib、recognize、CharNum、CellType、CellLines、CellPosition、BorderAllWhite、IsBlocked、Contents、FontType、FontSign、TotalSubCells、FontSubType、FieldName、FieldSign、FieldType、FieldSize這些子屬性的設置,這里面以CellPosition、FontType、FontSign、TotalSubCells、FieldName、FieldSign、FieldType為重要屬性。
??? CellPosition不言而喻是表示這個識別區域在圖像上的坐標位置,它的標識標準是(XLeftTop,YLeftTop,XRightButtom,YRitghtButtom)用這么一個對角線就可以表示出這個區域了。
??? FontType、FontSign是用于標識識別字體類型的信息,0印刷簡體、1印刷繁體、2印刷英文、3日文、4手寫漢字、6手寫數字、7CheckBox。而FieldType是該識別單元的類型:1—文本,2—整型,3—長整型,4—單精度,5—雙精度,6—日期,7—備注,10—chechbox多選
??? 如果本單元是由多個子單元組成的話,那么我們還需要進行更進一步的細化描述,這就是之上的Region1.Cell1.SubCell1項。其中的內容描述項不多,有Contents、FontType、FontSign、CellPosition、BorderAllWhite這些項目要填寫。我們可以根據上面的說明來填寫這些子選項。
??? 對一頁紙上面的內容信息進行迭代設置,就可以把他們全部標識出來,進而使用清華文通的識別軟件識別了。其核心思想是,對紙張掃描后的圖片進行分而治之的思想,由大化小。這和現在Google的MapReduce,Nutch中使用的Hadoop的思想是一致的。看來計算機中的算法到了一定程度上也有了哲學的東西在其中啊,畢竟計算機是用于解決人類世界的問題的,所以哲學也在計算機算法之上啊。
本文依據《創作共用約定》之“署名-禁止派生-非商業用途”方式發布,即你可以免費拷貝、分發、呈現和表演當前作品,但是必須基于以下條款:
對于任何二次使用或分發,你必須讓其他人明確當前作品的授權條款。
在得到作者的明確允許下,這里的某些條款可以放棄。