在纯Java中学习JavaCV

26
我正在尝试学习JavaCV。众所周知,这方面的教育材料不足是一个非常大的问题。在JavaCV主页上,他们为《OpenCV CookBook》一书中的C ++示例提供了很多示例。但问题是,它们不是Java,而是Scala!现在我已经疯了!我知道网上有很多例子,但我想从基础到高级学习它,只有这样我才能学好它。《OpenCV CookBook》是一本非常好的书,但它全是关于C++中的OpenCV,与Java无关。
请有人帮助我找到一个更好的地方去学习JavaCV。提供给我任何相关的URL、书籍等,但必须是关于100% Java的JavaCV学习材料,不能是Scala、C++、C或者其他语言!请帮帮我!

12
这是我开始学习Python中的OpenCV时的情况。当时并没有Python教程,只有C ++的教程。但我无论如何都要学习它,于是开始阅读C++书籍并将其转换为Python语言。这需要花费很长时间。最终,我自己写了一个针对初学者的教程:opencvpython.blogspot.com。因此,我要告诉你的是,从基本示例开始自己学习,并在成为编码专家后,为未来的学习者编写自己的教程。总得有人发起这个倡议,为什么不是你呢? - Abid Rahman K
1个回答

21

< 更新 >

时代在变化,OpenCV也在不断更新。现在,一个纯Java的封装(非Android)正在快速发展,允许任何人直接在桌面Java应用程序中使用OpenCV函数。

< /更新 >

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

您还可以在这里找到更多信息。

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

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

有不同的适配器用于C++代码库,比如Python和Java,但它们存在的目的是填补一些特定的空缺:Python用于快速原型设计,Java用于与Android主语言接口。但在所有情况下,“真正”的算法开发都是使用C/C++完成的。这就是为什么没有人关心其他语言的教程/书籍/示例的原因。
结论:如果您想学习图像处理,请学习C++或Python。如果您想构建某个应用程序,请从docs/android教程中学习OpenCV Java接口。但不要期望获得灵活性或控制性能。
更新说明:
第一点,随着Android的发展和Python越来越受欢迎,这两种语言(以及其他语言)可用的内容正在大幅增加。但在未来的几年中,核心开发组和最好的文档将在C++领域。 最后但同样重要的是,你应该记住,在任何工作或编程领域,如果你只坚持一种语言,那么你注定会失败。原则很重要,你应该能够在各种语言中实现它们,并且你应该能够从各种来源中阅读和理解。如果一个程序员说他不能将伪代码翻译成Java呢?这与其他语言是相同的。

你可以阅读优秀的博客文章 不要自称程序员 来了解为什么你应该忘记只使用一种语言进行编程。


谢谢回复,我非常感激 :)不管怎样,至少有没有一种方法可以在不学习Scala的情况下将其转换为Java?我的意思是,有在线工具或其他什么东西吗? - PeakGen
@Yohan :) 请阅读我的更新帖子。我希望你能理解我的想法。你可能会找到一些在线工具,或者(很可能)不会,但你应该明白你可以做到。 - Sam
好的,我已经开始从现有的资源中学习。请您好心在这个链接http://stackoverflow.com/questions/11511405/javacv-recording-video-from-web-cam上给我一些帮助。 - PeakGen
1
你知道吗,其实 Scala 并不难!我虽然没有在学习它,但是理解它并不是问题!! - PeakGen
2
是的,C++ 更好。我学过它。 - PeakGen
显示剩余7条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接