java - 用纯Java学习JavaCV

标签 java opencv javacv

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

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

最佳答案

<更新>

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

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

您还可以找到更多信息 here .

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

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

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

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

更新说明

这里还有两件事要指定。

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

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

您可以阅读精彩的博文 Don't call yourself a programmer 了解为什么您应该忘记使用一种语言进行编程。

关于java - 用纯Java学习JavaCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11494546/

相关文章:

java - Eclipse Collections - Sets 是否有 containsAny() 方法?

java - Android 中可打包数组类的问题

java捕获网络摄像头图像的macbook

java - 使用 LWJGL 理解 openGL 的一个小抽象

java - 使数组的元素为空

opencv - 即使在 conda env 中安装 Opencv 也找不到错误

java - 在 Java 中向 MatOfPoint 变量添加值

opencv - 增加相机的fps?

android - FFmpegFrameRecorder 在录制时添加文本/图像

Javacv Blob 检测