2012-01-01 64 views
3

我試圖一起掃描一些圖片(個人3x4釐米圖像),然後將它們分割成分離的圖像。關於掃描的第一步已經完成,但關於第二步(邊緣檢測和分割)我有一些問題。通常當他們掃描圖片時,一些圖片會旋轉一些角度,從而阻止我獲得筆直的邊緣。
2-如何去除大的噪音? (想象一下,當他們掃描這些圖片時,他們在他們身後放了一張紙,有時候紙張會在掃描的圖片中留下一些邊緣......我怎麼能理解它不是我尋找的邊緣?)如何糾正掃描錯誤,如旋轉?

這是示例圖像:
sample image

+0

你可以發佈樣本圖片嗎?我認爲我可以提供一個解決方案,但具體而言,它可以幫助您查看示例圖像,或者甚至可以展示您的問題的虛假圖像。新年快樂! – Rethunk 2012-01-01 04:02:08

+0

我希望以下文章有所幫助。如果你遇到困難,我可以爲你寫一些示例代碼。我建議使用多種技術(線交點+邊緣梯度方向+角點檢測器)的組合以確保在各種條件下的魯棒性。 – Rethunk 2012-01-01 04:45:56

回答

3

掃描內的示例圖像都是矩形的,它們大小基本相同。有很多技術可以在圖像中找到矩形(即使是完全任意旋轉),但我會從更基本的技術開始。

  1. 霍夫線擬合可以用來查找圖像中的線條,即使背景噪音很大。從霍夫線適合你可以找到交點,也許比較這些交點到找角點檢測(見下面3)。
  2. 線上的邊緣點具有與這些線垂直的梯度。在搜索邊緣點時,您可以傾向於大致距離L的邊緣點或與平行方向上具有梯度的其他邊緣點之間的距離W,其中L和W是圖像的已知長度和寬度。
  3. 角落探測器可以幫助識別您的小矩形圖像的角落。你知道圖片的長度和寬度,這應該有助於你接受/拒絕角落。
  4. 如果你想獲得幻想(我不推薦),那麼一個簡單的歸一化互相關技術可以在較大的圖像中檢測到「模板」子圖像的所有實例。這項技術有點粗糙,但如果沒有太多的旋轉,它可以工作。由於子圖像具有已知形狀和(大概)一致大小的明確界限,因此只需找到邊緣而不是嘗試匹配圖像內容就會更容易。

一旦您確定了每個矩形子圖像的位置和方向,那麼一個簡單的旋轉變換+內插就可以生成每個圖像的「右側向上」版本。使用掃描儀時,您不會遇到透視失真的問題,但是如果在將來的某個時間點以某個角度拍攝圖片(?),則仿射變換可以將失真梯形圖像映射到矩形圖像。

Hough變換 http://en.wikipedia.org/wiki/Hough_transform

角檢測 http://en.wikipedia.org/wiki/Corner_detection

對於簡單的邊緣檢測應該在維基百科上的邊緣檢測的文章在工作足夠好爲你的應用程序,請參見「其他一階方法」 。該技術易於理解並且易於實施。 http://en.wikipedia.org/wiki/Edge_detection

祝你好運,再次新年快樂!