2012-09-17 102 views
0

好的。這是一個(非英文)OCR項目的一部分。我已經完成了像去角色,灰度化,字形等分割的預處理步驟,並且我現在停留在最重要的步驟:通過將字形與字形圖像數據庫進行比較來識別字形,因此需要設計一個強大而高效的感知圖像哈希算法。感知圖像哈希

由於多種原因,所要求的通用圖像比較的問題,我需要的功能也不會那麼複雜。首先,我的圖像總是灰度(如果這使識別任務變得更容易)。另一方面,這些字形更加「中風」,結構比照片更簡單。

我已經嘗試了一些我自己的定義良好的相似性度量一些借來的想法。一種方法是將圖像分成M×N個單元網格,並取每個單元的平均「黑度」以爲該圖像創建散列,然後將散列的歐幾里得距離用於比較圖像。另一個是在每個字形中找到「角點」,然後比較它們的空間位置。他們都沒有證明是非常強大的。

我知道有像SIFT和SURF更強的候選人在那裏,但我有3個很好的理由不使用它們。其一是我猜他們是專有的(或以某種方式獲得專利),並且不能用於商業應用程序。其次,他們是非常普遍的目的,並可能是對我的圖像更簡單的領域矯枉過正。第三,沒有可用的實現(我正在使用C#)。我甚至試圖將pHash庫轉換爲C#,但仍未成功。

所以,我終於來了。有沒有人知道一個代碼(C#或C++或Java或VB.NET,但不應該要求任何不能在.NET世界中使用的依賴),庫,算法,方法或想法來創建一個健壯和高效的哈希算法生存像平移,旋轉,縮放,模糊,斑點等輕微的視覺缺陷

+0

我自己在C#中尋找同樣的東西。有幸找到了一些東西,但? – Thomas

+0

還沒有。可能需要閱讀一些研究論文,並在其他作品中編寫我們自己的代碼。我上面提到的兩種技術也來自一些論文。 – dotNET

回答

0

看起來你已經嘗試過類似這樣的東西,但它可能仍然是有些用處:

https://www.memonic.com/user/aengus/folder/coding/id/1qVeq

+0

謝謝你。是的,我以前經歷過這篇文章。但正如作者所言:「然而,如果有修改 - 就像添加了文本或將頭部拼接到位,那麼平均哈希可能不會完成這項工作。雖然pHash比較慢,但它很容易進行小修改(輕微少於圖片的25%)。「 OCR圖像往往不會有輕微的(有時是嚴重的)轉換。 – dotNET