2010-03-23 70 views
6

我的任務是將圖像採集集成到.NET應用程序中,我一直在尋找一個用於執行此功能的API。我遇到了幾個「標準」API,其中一些已經存在了很長時間,有些還沒有這麼久。我查看了ISIS,TWAIN,WIA和SANE的參考資料(據說主要是* nix)。除了SANE之外,它們都是Win32庫,我想知道當前推薦的圖像採集設備(掃描儀)是什麼?哪一個最適合我使用的.NET圖像捕捉API?

隨意推薦別的東西,如果你覺得它更好。 我正在尋找開源選項。

編輯: 我把開放源碼,當我真正的意思是免費的。使用WIA或TWAIN是好的,因爲它們是免費的,即使它們是專有接口。

回答

3

如果您限制選擇開放源代碼,您將自己限制在SANE。我懷疑在設備支持和兼容性方面還有其他任何與SANE接近的開源庫。也就是說,必須提及的是,與TWAIN和WIA等專有API相比,SANE在設備支持方面仍然相當差...

如果開放源代碼不是必須有 - 那麼選擇取決於操作系統。 WIA將是Windows XP和更新版本的最佳解決方案,如果您需要支持Windows 2000或9x,TWAIN可能會更好(我認爲TWAIN也應該是跨平臺的,即使我沒有任何證據現在)。與WIA相比,TWAIN API雖然(恕我直言)是可怕的過時,並且WIA對批量掃描(TWAIN留給設備製造商支持或不支持)等有更嚴格的要求。

+0

哦,並且考慮到你需要.NET API--圖像獲取API都在本機代碼中,你一定需要一個託管包裝器。 – 2010-03-23 18:00:56

+0

你應該考慮打開簡歷。這是一個非常完整的工具包,可能是爲了滿足當前的需求而過度使用,但它很棒。 [Emgu] [1]是一個.NET包裝器。 [1]:http://www.emgu.com/wiki/index.php/Main_Page – Mikos 2010-03-23 18:52:11

+0

據我可以看到Open CV不是一個圖像採集/捕獲API ... – 2010-03-23 20:51:49

4

如果您的應用程序使用的是高端掃描儀,並且您需要編寫一個應用程序以最大限度地提高掃描儀的吞吐量並利用這些掃描儀的所有高級功能,那麼您需要查看基於ISIS的API 。我個人已經使用Captiva/EMC的PixTools SDK,並取得巨大成功,爲大型掃描室建立應用程序。該工具包使得使用各種圖像處理過濾器和軟件即時清理掃描圖像變得相當容易。我還能夠輕鬆集成條形碼和補丁碼識別。該工具包價格昂貴 - 四年前約爲6千美元。

但我懷疑你的應用程序不需要高端解決方案。在這種情況下,我認爲你應該看看TWAIN。我從來沒有嘗試過,但我知道TWAIN很難與之合作。前一段時間,我發現在CodeProject上的一篇文章在這裏筆者提出了一個TWAIN .NET包裝:

.NET TWAIN image scanner

我用它打了一下,它似乎工作。在這裏,我找到了一個線索,Luke Quinane根據這篇文章將讀者引用到了他的Google Code項目中。這裏的鏈接:

Twain Dot Net

0

如果你能忍受薩的設備支持,通過各種手段去用它,因爲它是理智的,免費(開放),靈活。 Oersers將始終施加任意限制。

+1

這完全不可讀。你可以使用ASCII字母嗎? – Alexander 2015-03-24 20:49:51

+0

+和ð= th(冰島語),s = s(古德語) – ygoe 2016-05-22 13:35:08

1

我建議你在大多數情況下使用TWAIN驅動程序,因爲它提供了與掃描儀的最大兼容性,並且可以根據掃描儀型號自由定製掃描。如果您正在構建簡單的掃描應用程序,WIA可能也適用。對於ISIS,除非您有特定要求,否則您最好先檢查其他選項。 SANE提供跨網絡掃描的最佳支持,並且系統上沒有Windows系統。