2010-04-01 27 views
3

有沒有人在c#中看到過任何圖像去錯算法?我發現: http://www.codeproject.com/KB/graphics/Deskew_an_Image.aspxC#Image Deskew

但不幸的是,它不會爲沒有文字的圖像做很多事情。我特別試圖用固體邊緣自動歪斜圖像,但文字最少。

有沒有人看過任何可以做到這一點的東西?

+1

算法似乎有細...只是得到一堆線,找到行SA (x,y)處的顏色是'','(x,y + 1)處的顏色'是'<背景顏色>',並且基於該線的傾斜。 – Tanzelax 2010-04-01 17:35:01

回答

3

基本算法是使用霍夫變換來查找線條,然後嘗試使大部分線條水平。以下是一些基本代碼http://www.sydlogan.com/deskew.html

對於您的情況,您可能希望將目標轉換放在您認爲可能具有最佳信息的圖像中。例如,如果有頁面邊框 - 我需要看一個示例以提供更好的建議。

聲明,我在Atalasoft工作。

我們的DotImage工具包內置了.NET,運行時免版稅桌面應用程序。代碼將是:

AtalaImage img = new AtalaImage("imagefile.tif"); 
AutoDeskewCommand cmd = new AutoDeskewCommand(); 
AtalaImage resultImage = cmd.Apply(img).Image; 
resultImage.Save("result.tif", new TiffEncoder(), null); 

或類似的多頁或其他類型的圖像。

我們將展示如何將它與我們的觀衆控制視頻整合(在1:14)

http://www.atalasoft.com/products/dotimage/tutorials/capture/lesson4.aspx

這些視頻了一系列建築文檔掃描應用程序的一部分:

http://www.atalasoft.com/products/dotimage/tutorials/capture/lesson1.aspx http://www.atalasoft.com/products/dotimage/tutorials/capture/lesson2.aspx http://www.atalasoft.com/products/dotimage/tutorials/capture/lesson3.aspx

+0

如果您發佈樣本圖片,我會通過我們的代碼運行它,並讓您知道它的工作原理。 – 2010-04-01 19:19:36