2010-02-27 137 views
5

我有一個相當簡單的情況。我只是不知道任何具體的條款來搜索。 我有一個圖像,在該圖像中,我有幾個其他圖像遵循基本模式。 他們是矩形,可能會有地標圖像的基礎上的東西。 一個重要的部分是,我需要檢測旋轉/縮放的子圖像。查找圖像中的子圖像

基本上我需要做的就是將'名片'從單個圖像拆分爲正確對齊的單張圖像。

請原諒我的不良油漆技巧! http://yfrog.com/eaproblemjj由於我還在設計進行掃描,我可以把在卡片任何符號或東西,這將使檢測更容易(正如我所說的一個里程碑)

+0

他們是統一的瓷磚還是你試圖檢測不同尺寸和長寬比的或多或少的矩形圖像? – Josh 2010-02-27 08:15:13

+1

請在您的問題中添加示例圖片! 此外 - 我是否正確理解您有這些子圖像事先知道?如果不是,你知道他們什麼? – AVB 2010-02-27 14:39:49

+0

我試圖澄清我的問題,並添加了一個可怕的痛苦的例子,請原諒蹩腳的藝術。我不清楚子圖中的內容,因爲它們會有一些用戶修改,我不得不實際解析出來。但是,在我將它們分離並正確定向之後,這很容易。 – Lex 2010-02-27 17:52:34

回答

2

如果你的例子是代表(我出於某種原因懷疑),那麼Hough變換是你的朋友(谷歌,有很多解釋和代碼)。有了它,你將能夠檢測矩形。

霍夫的一些例子變換在C#中的http://www.koders.com/csharp/fid3A88BC1FF95FCA9D6A182698263A40EE7883CF26.aspxhttp://www.shedletsky.com/hough/index.html

如果實際發生的事情是,你掃描了一些卡片,你必須對過程的一些控制,那麼我建議你保證沒有卡片之間的重疊,並提供對比的背景(與卡片非常不同)。然後,任何邊緣檢測都將使您足夠接近您在示例中繪​​制的內容,然後可以使用Hough變換。

或者,您可以實現紙張http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.59.4239,該紙張使用霍夫變換直接檢測矩形,而無需邊緣檢測。

如果我不明白你的問題,或者你需要澄清,請進一步編輯你的問題,並發表評論這個答案。

+0

我的運氣一定很糟糕,但我似乎無法找到任何使用霍夫變換的示例代碼,顯然我發現了這篇wiki文章,但我似乎並沒有把頭圍繞在它周圍。 我實際上將無法控制掃描過程,除了物理卡的設計。 如果這有幫助,只要想到我想要掃描混雜的標準名片(我們可以假設它們都是矩形並在左上角有一個徽標)的掃描圖像,並將它們分成正確定位的單張卡片。 – Lex 2010-02-28 01:45:42

+0

卡片在黑色的背景上是白色的,並且會有黑色的文字/符號。 – Lex 2010-02-28 02:22:05

+0

查看最新的答案。對於黑色的白色,你幾乎可以使用任何方法。我找不到在線Hough變換的一個很好的解釋;如果你能從互聯網上找到它,那麼可能一本圖像處理書就是你最好的選擇。這不是一件小事,但也不復雜。 – AVB 2010-02-28 03:34:52

1

嘗試AForge.NET(如果您使用的是C#)。它有DocumentSkewChecker,它將計算旋轉圖像的角度。