2015-03-31 31 views
0

我已經開始學習opencv,它爲Java,python,C++提供了api。 哪一個更好?哪一個具有更好的文檔和找到特定解決方案的可能性很高?opencv的最佳界面

+0

我認爲它們是平等的,使用它更適合你 – e1s 2015-03-31 06:28:53

+0

在Python中,更容易找到使用相同數據類型的附加包。所以如果你需要的不僅僅是純OpenCV的東西,我還會用Python。 Java我從來沒有嘗試過。 – Mailerdaimon 2015-03-31 06:30:40

+0

我想你會發現大多數代碼示例的C + +也許蟒蛇 – Micka 2015-03-31 06:47:59

回答

1

很難說哪種語言是最好的,但肯定是在你的情況下,Java是最糟糕的選擇:

  • 相較於C++和Python,Java文檔較差
  • Python和C++有很多(真的很好!)的例子甚至整個項目
  • OpenCV開發人員專注於「原始」版本(C++)和最流行的包裝,即Python。有很大的機會,你會發現一些Java包裝中的錯誤比在C++/Python版本

通常,當你開始學習新的東西時,嘗試選擇最流行的版本(和最簡單的使用) - 很可能你會遇到很多問題,使用最流行的版本會使尋找答案變得更容易。

在C++和python之間進行選擇肯定不像預測java那樣明顯。
如果你只知道這兩種語言中的一種 - 選擇這一種 - 你就不必浪費時間學習另一種語言。
如果你不知道他們中的任何一個 - 我建議你從Python開始,它更容易學習 - 你可以專注於解決問題,而不是內存管理,轉換類型等。C++是非常好的語言,在memrory管理等方面沒有錯,但在我看來,從python開始並且最終轉向C++要容易得多。
如果你知道C++和python - 這不是一個容易的決定,我知道我正在使用我的框架,它允許我使用用C++或python編寫的模塊(一個模塊 - 一種語言,但是不同的模塊可以使用不同的語言),而且這個解決方案几乎是完美的(在C++和python部分之間轉換數據有一些問題)。我認爲有更多的C++教程,並且更容易在C++中找到一些特定於計算機視覺的庫(如OpenCV blob或實現跟蹤學習檢測算法),但python也有numpy和其他一些很好的庫 - 在我看來,它們是「平等」,所以這一切都取決於你和你的喜好。