2015-03-31 58 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和其他一些很好的库 - 在我看来,它们是“平等”,所以这一切都取决于你和你的喜好。