2010-03-19 35 views
1

我們希望c#解決方案能夠對掃描圖像進行旋轉校正。爲了解決這個問題,我們必須首先檢測旋轉角度,然後旋轉圖像。這是我們首先想到的問題。但後來我們認爲圖像扭曲會更準確,因爲我認爲它會使掃描的圖像像我們的模板一樣。然後我們可以處理它,因爲我們知道我們模板的所有座標......我在c#中搜索了免費的SDK或免費的解決方案。在這方面幫助我會很好,因爲這是我們工作中的最後一項任務。真的,謝謝大家。檢測C#中掃描圖像的旋轉#

回答

2

我們使用PrimeOCR產品來做到這一點。這不是免費的,但我們找不到一個可比的免費程序。

+0

您能否提供PrimeOCR定價的想法?謝謝 – Andrew 2011-05-04 09:17:13

+0

不,對不起。我沒有參與定價。 – David 2011-05-04 15:50:28

1

所以,難的部分是檢測頁面的角度。

如果你有在模板完全控制,要做到這一點最簡單的方法可能是要拿出一個易於檢測的符號(例如純黑色圓圈),並在模板上堅持他們的3。然後,檢測它們(只在黑色圓圈的情況下查找高飽和度的大塊像素)。

所以,你將有3組座標。如果您有一個頂部圓圈,一個左側圓圈和一個右側圓圈,並且所有3個圓圈彼此之間的距離不同,檢測哪個圓圈是頂部圓圈應該非常容易。

然後只需調用一個旋轉函數。這部分很容易,並且已經完成(例如http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-rotate)。

編輯: 我提出了一個圓,因爲它更容易找到中心,而是一個矩形應該工作了。

更明確的關於如何真正找到矩形/圓,利用每一個的平均亮度值×一組像素。如果該值大於b,那麼a×一組像素是矩形的一部分。 a和b是你想要自己想出來的易失品。

使用flood-fill(或者,更精確地說,Connected Component Labeling)基團所得到的像素一起。最終結果應該給你你的矩形。

+0

我們現在已經在我們的模板上放置了3個矩形,但是如何在掃描的圖像中檢測這些矩形並獲取它們用於計算旋轉角度的位置,這是我們現在面臨的問題,但是我們可以很好地使用旋轉編碼。提前檢測旋轉角度 thanxxxxxxxxxxx – 2010-03-19 17:57:33

+0

@ahmed:我已經添加了更多細節。 – Brian 2010-03-19 18:41:22

+0

thanxxxxxxxxxx非常多 – 2010-03-20 14:30:35