26

我正在尝试学习 JavaCV。众所周知,缺乏这方面的教育材料是一个很大的问题。在 JavCV 主页中,他们为“OpenCV CookBook”一书中的 C++ 示例提供了大量示例。但情况是,它们不是 Java,它们在 SCALA 中!!!!现在我已经疯了!我知道网络上有很多例子,但我想从头到尾学习它,只有我才能正确地做到。“OpenCV CookBook”是一本非常好的书,但它都是关于 C++ 中的 OpenCV,而不是关于 Java。

有人请帮我找到一个更好的地方来学习 JavaCV。提供给我任何东西,URL、书籍等。但它必须是关于用 100% Java 学习 JavaCV,而不是用 Scala、C++、C 或任何其他语言!请帮忙!

4

1 回答 1

21

<更新>

时代在变——OpenCV 也是如此。现在,一个纯 Java 包装器(不是 Android)正在快速发展,允许任何人直接在桌面 Java 应用程序中使用 OpenCV 函数/

</更新>

您可以在 OpenCV 示例目录中找到一些 Java 教程:samples/android.

您还可以在此处找到更多信息。

现在,我很确定你会说你想要 Java,而不是 Android :)。但这需要一个解释。

由于各种原因——主要是效率,第二个是对嵌入式平台的可移植性,计算机视觉几乎完全用 C/C++ 完成。这是事实上的标准。每个人都使用它,有充分的理由和良好的结果。

C++ 代码库有不同的适配器,如 Python 和 Java,但它们的存在是为了填补一些特定的空白:Python 用于快速原型设计,Java 用于连接 Android 主要语言。但在所有场景中,“真正的”算法开发都是使用 C/C++ 完成的。这就是为什么没有人关心其他语言的教程/书籍/示例。

结论:如果您想学习图像处理,请学习 C++ 或 Python。如果您想构建一些应用程序,请从 docs/android 教程中学习 OpenCV java 接口。但不要期望灵活性或对性能的控制。

更新说明

这里还有两件事要指定。

首先,随着 Android 的发展,以及 Python 越来越受欢迎,两种语言(和其他语言)的可用内容正在急剧增加。但在接下来的几年里,核心开发小组——以及最好的文档——将在 C++ 领域。

最后但同样重要的是,你应该记住,在任何工作或编程领域,如果你坚持一种语言,你就死定了。原则很重要,你应该能够用各种语言来实现它们,你应该能够阅读和理解各种来源。一个程序员说他不能将伪代码翻译成 Java 怎么办?与其他语言完全一样。

您可以阅读精彩的博客文章不要称自己为程序员,以了解为什么您应该忘记使用一种语言进行编程。

于 2012-07-15T18:56:10.140 回答