2008-09-15 104 views

回答

36

我在工作地點廣泛使用OpenCV

它提供了一整套優秀的視覺處理工具。我建議通過維基閱讀更詳細的解釋和更好的書面解釋,我會給。

6

OpenCV相當成熟,覆蓋了大部分計算機視覺領域。

3

我會很難給你關於技術答案哪個更好,我可以告訴你,我們有各種各樣的工作的各種計算機視覺問題工作的博士,他們都使用和推薦的OpenCV。

1

如果我將OpenCV與openFrameworks進行比較 - 如何解決這個問題?哪個更好?在什麼情況下等等?

正如我上面所說的,OF使用opencv(提供了一個包裝器)。他們沒有什麼不同。我們試圖提供一個簡單的接口。

3

它可能已被暗示,但原始問題並未指定圖書館是FOSS。兩個領先的商業庫是:

兩者都支持C++,並提供30天的免費試用。

1

很多人都推薦OpenCV,這很不錯(我試過python包裝,這對於快速原型設計來說沒問題)。您可能還想看看gpuCV,它利用GPU中的大規模並行機制來實現計算機視覺。它的API非常類似於OpenCV的(大部分兼容),並且隱藏了用戶/開發者的所有GPU編程。

11

OpenCV中是非常受歡迎的,毫無疑問,這是件好事,但 如果你是認真的C++和類似STL類容器, 這也是非常快的,那麼這是值得考慮的:

libCVD

http://savannah.nongnu.org/projects/libcvd

項目首頁http://www.edwardrosten.com/cvd/index.html

的git:http://git.savannah.gnu.org/cgit/libcvd.git

劍橋視頻動態 - 用於圖像,視頻捕捉,顯示,計算機視覺等的圖書館。對於線性代數框架,與TooN很好地集成。語言:C++

這是積極開發,並有很多有用的功能和算法,通常這些傢伙讓事情工作非常快。

這是LGPL。

它可以編譯它在Win,Linux和MacOS X.

還有一個打算爲Python提供的端口與這一個,允許原型計算機視覺算法使用Python和SciPy的速度非常快(我不確定它現在處於哪個階段,但是在Python會議上有一篇關於它的文章。)

如果您想要實時執行任何操作,您應該認真考慮libCVD。

例如,Georg Klein的PTAM(Parallel Tracking And Mapping)框架使用這個庫。

+4

該網站的最後一項似乎是從2005年開始的測試版? – 2010-03-21 21:24:26

+0

http://git.savannah.gnu.org/cgit/libcvd.git 顯示相當頻繁的提交 – 2013-03-19 12:59:06

0

OpenCV可能是最着名和非常成熟的。但一直以來最近轉移到基於CUDA系統帶來的性能優勢, http://www.nvidia.com/object/cuda_home.html#

而且對於像C#更安全的語言中,Aforge .NET框架是相當不錯的,

+0

基於OpenCV兼容GPU的圖書館https://picoforge.int-evry.fr/cgi-bin/twiki/view/Gpucv/Web/ – 2010-10-13 20:54:34

1

雖然OpenCV中可能是最廣泛使用的其他幾個可能是值得考慮的:

http://cimg.sourceforge.net/是一個非常STL像,高度模板庫。它包含在一個頭文件中,並且通過引用返回設計意味着您可以將一組操作鏈接在一個語句中。它支持INRIA(法國國家研究實驗室)

http://vxl.sourceforge.net/與OpenCV非常相似,但具有更多的C++設計。更像新的OpenCV2.0 C++版本。

2

我對Matrox Imaging Library有不好的經驗。不推薦它,因爲:

  1. 不是面向對象的,使更多的困難,保持& 排查/調試代碼。

  2. 不好的文檔/幫助手冊,說明是 不清楚/不完整&缺乏編碼的例子。例如混合使用一個短編碼樣本中的10個不同函數。

  3. 如果在.NET(C#)環境下使用,matrox會創建一個託管對象,使用後需要手動釋放內存需要的內存條 。

  4. 昂貴。除了開發者許可證之外,還需要爲其所有客戶購買 的運行許可證。

  5. 許可證格式錯誤 - 使用USB加密狗密鑰。如果您丟失了加密狗,您的許可證丟失了 。