0

我有一個項目,我需要從傳入的用戶填充圖像中減去空的模板圖像。文件類型是正常的銀行支票。模板匹配 - 圖像減法

目的是通過從空模板圖像中減去一個圖像來從中提取手寫區域。

我面臨什麼樣的問題是在調整這兩個圖像,因爲有縮放,平移,旋轉等

如何與輸入的圖像對準模板圖像的任何想法?

更新1:

我從wikipedia頁,但在單色格式爲我的形象發佈的示例圖像是黑白格式。 alt text

+0

你能發佈示例圖片嗎? – 2010-10-01 13:27:47

+0

@Loic,我的示例圖像就像任何其他銀行支票一樣。唯一的不變的特點是行和幾個字,如支付 – Raj 2010-10-01 13:51:04

+0

的訂單是否來自同一家銀行的所有支票? – 2010-10-01 13:53:43

回答

1

基本的答案是編寫一個函數,它接受兩個圖像和一個2D變換,並告訴您將變換應用到目標圖像後它們是如何對齊的。該函數需要基於變換而連續,並且具有圖像完美對齊的局部最小值(0)。這被稱爲成本函數。

然後在函數和輸入上使用任何優化算法 - 您試圖優化變換(平移,縮放,旋轉)。例如爬山,遺傳,模擬退火等。

有些產品可以做到這一點 - 通常他們被稱爲表格識別,表格註冊,表格處理等。一些是SDK,但也有應用程序可以不用編程就可以做到。

聲明:我在Atalasoft工作,我們向我們的.NET圖像SDK出售Forms Processing add-on

+0

+1 @Lou,感謝您的洞察力。你能否指點我一些成本函數的例子/解釋?或者在你指向的變換上添加更多細節? – Raj 2010-10-01 13:03:20

+0

成本函數是任何你認爲決定一個對齊的圖像。如果有邊框,並且您可以找到它 - 可以是邊框的大小,位置和旋轉差異。你需要挑選一些可以找到的東西,不管大小,比例和旋轉。我寫了一篇codeproject文章,會給你一些想法:http://www.codeproject.com/KB/showcase/SimpleOMRDotImage.aspx – 2010-10-01 14:27:47

3

在處理工業項目的圖像處理時,我們在大多數情況下都有一個基準。基準就像一個標記 - 可以是一個洞,一個十字標記 - 永遠不會改變,總是處於相同的位置。

一般來說,兩個基準點足以糾正像旋轉,平移和縮放等錯位問題。例如,如果您知道兩者之間的距離,您可以隨時檢查它以確保比例因子是正確的,或者根據當前距離與正確距離的差異進行校正。

就你而言,我會問你的是:模板和傳入圖像是否共享任何不變且可以輕鬆分割的可視標誌?

如果你有這個問題的答案,其餘的將會更簡單 - 差異本身是一個非常簡單的算法。

+0

如果沒有基準Raj可以通過:角點檢測,匹配,旋轉/縮放估計,圖像對齊。但這取決於它的速度有多快...... – 2010-10-01 11:11:03

+0

常見功能是預先打印的文本,水平線等是的,我可以將它們用作標記。說如果我想找到這條線,我寫了一個連接的組件,但它佔用了所有連接的組件,並且邊界矩形變得非常大。在這種情況下,我如何優化以實際分割線。在我的情況下,處理時間是一個約束。 – Raj 2010-10-01 12:20:50

+0

這很難說。你確定這條線是你可以使用的最好的'基準'嗎?正如@Loïc所說,發現角落將是一個更好的解決方案。但它取決於很多因素,如照明。如果沒有您的圖片樣本,有點難以說明它可以如何正確完成。 – Andres 2010-10-01 13:22:24