2012-06-01 22 views
2

給定一個表像下一個會是什麼分別檢測兩列的最佳方式?通過PHP文件(表)中檢測列 - 算法

所以我需要的總colspans第一列。

重要的是要記住的是,列NR可以改變。

在這個例子的情況下,第二列開始於「10歐元」(第二行)。第一部分等於2個集體。另一部分是5個集體。

任何(抽象)想法如何做到這一點?

enter image description here

+0

的第一件事是:它的XY切割算法...簡化版雖然;-)只需要 –

回答

1

你必須考慮在表格單元格之間的差距,並標註自己的立場,這樣的:

0 1 2 3 4  7 
0 2 3 4 5 6 7 
0 1 2 4 5 7 
... 
0 2   7 

一旦你已經建立了上述信息的數組,你在它們之間迭代和標記共同間隙位置:

0 2   7 

因爲0和7都處於表格的邊緣,則可以去除那些關閉。然後,您將位置2作爲行之間的常見間隙。

完成浮現在腦海:)

+0

感謝一個切,我認爲類似的東西我張貼後,這將可能在95%的情況下工作,我可以找到一些其他的邊緣案例解決方案。 – Wesley

+0

@韋斯利酷!我已經在另一個做OCR跟蹤的項目上成功地使用了這個算法;你可以在網上找到「遞歸XY切割」算法,但是我不願意閱讀這個相當乾燥的PDF文檔;-) –

+0

哦,不錯,不知道這是XY切割算法。當你第一次發佈它時,我會查找它,但認爲它是在單獨的圖像(列)中剪切圖像。不管怎樣,謝謝! – Wesley