2012-07-15 79 views
26

我正在学习JavaCV。众所周知,在这个问题上缺乏教育材料是一个非常大的问题。在JavCV主页中,他们为“OpenCV CookBook”一书中的C++示例提供了大量示例。但是,情况是,他们不是Java,他们在SCALA !!!!现在我已经疯了!我知道很多例子都在网络中,但我想从开始学习它,然后才能正确地做到这一点。 “OpenCV CookBook”是一本非常不错的书,但它完全是关于C++中的OpenCV,而不是关于Java的任何内容。在纯Java中学习JavaCV

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

+12

这样的话,当我第一次开始学习OpenCV的Python编写的。 Python中没有教程,全部都是C++。但我不得不以某种方式学习它,并开始阅读C++书籍并将其自己转换为python。这花了很多时间。最后我想出了自己的教程:opencvpython.blogspot.com,它着重于初学者。所以这是我必须告诉你的。从非常基本的例子中学习它,一旦准备好了代码,就为未来的学习者编写自己的教程。不知何故,一个人必须采取主动。让它成为你! – 2012-07-15 18:48:51

回答

21

<更新>

时代变了 - 这样做的OpenCV。眼下,一个纯Java包装(未安卓)正在快速增长,使任何人都可以直接在桌面Java应用程序使用OpenCV函数/

< /更新>

你可以在Java中的一些教程OpenCV示例目录:samples/android

您还可以找到更多信息here

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

出于各种原因 - 主一个是效率和第二个可移植性到嵌入式平台,计算机视觉几乎完全在C/C++实现。这是事实上的标准。每个人都使用它,原因很好,效果也不错。

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

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

最新说明

有两两件事需要在这里指定。

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

最后,但并非最不重要,你应该记住,在任何工作或规划面积,如果你坚持一种语言,你就死定了。原则很重要,你应该能够用各种语言来实现它们,你应该能够从各种来源阅读和理解。一位程序员说他无法将伪代码翻译成Java?这与其他语言完全相同。

您可以阅读伟大的博客文章Don't call yourself a programmer明白为什么要在一个语言对编程忘记。

+0

感谢您的答复,我真的很感激:) 不管怎样,至少,有没有办法转换阶,而无需学习斯卡拉到Java?我的意思是,在线工具或其他东西? – 2012-07-15 20:07:35

+0

@Yohan :)请阅读我更新的帖子。我希望你明白这个主意。你可能会发现一些在线工具,或者(很可能)没有,但你应该明白你可以做到。 – Sam 2012-07-16 06:32:42

+0

我没有告诉我只知道一种语言。我知道C#.Net和VB.Net,JavaFX,一些C++,当然还有一些android。但这并不意味着一个人必须学习所有可用的语言,因为他必须使用单一的API。取而代之的是,找到另一种方式来做到这一点,在这种情况下,Xuggler API是最好的选择。 – 2012-07-16 13:29:33