web-dev-qa-db-ja.com

純粋なJavaCVの学習Java

私はJavaCVを学ぼうとしています。ご存じのとおり、このテーマに関する教材の不足は非常に大きな問題です。 JavCVホームページでは、彼らは本「OpenCV CookBook」のC++の例の多くの例を提供しています。しかし、ケースは、それらはJavaではなく、SCALAにあります!!!!今私はすでに狂っています!多くの例がウェブにあることは知っていますが、最初から上に向かって学びたいと思っています。 「OpenCVクックブック」は非常に優れた本ですが、Javaについてではなく、C++でのOpenCVについてのすべてです。

誰かがJavaCVを学ぶためのより良い場所を見つけるのを手伝ってください。 URL、ブックなど、何でも提供してください。ただし、JavaCVを100%Javaで学習する必要があります。Scala、C++、Cなどの言語ではありません。助けてください!

26
Lemon Juice

<update>

時間は変わります-そしてOpenCVも変わります。現在、純粋なJavaラッパー(Androidではない)が急速に成長しており、誰でもOpenCV関数をデスクトップで直接使用できますJava apps /

</ update>

いくつかのチュートリアルは、OpenCVサンプルディレクトリのJavaにあります:samples/Android

さらに詳しい情報 here もご覧ください。

これで、Javaが必要だと言っても、Androidは嫌だと思うでしょう。しかし、これには説明が必要です。

さまざまな理由から-主なものは効率であり、2つ目の移植性組み込みプラットフォームでは、コンピュータービジョンはほぼ完全にC/C++で行われます。これは事実上の標準です。誰もがそれを使用しますが、それには正当な理由と結果があります。

PythonやJavaなどのC++コードベースにはさまざまなアダプターがありますが、これらはいくつかの特定のギャップを埋めるために存在します。Pythonは高速プロトタイピングに使用され、Java Androidメイン言語とのインターフェース。しかし、すべてのシナリオで、「実際の」アルゴリズム開発はC/C++で行われます。これが、他の言語のチュートリアル/本/例を気にしない理由です。

結論:画像処理を学びたい場合は、C++またはPythonを学びます。アプリを作成したい場合は、docs/AndroidチュートリアルからOpenCV Javaインターフェースを学習してください。ただし、柔軟性やパフォーマンスの制御は期待しないでください。

更新されたメモ

ここでは、さらに2つの点を指定する必要があります。

最初に、Androidがその動きを始め、Pythonがますます人気を博し、コンテンツが利用可能に2つの言語(およびその他の言語)で劇的に増加しています。しかし、今後何年もの間、中心的な開発グループ(そして最高のドキュメント)はC++分野に所属することになります。

最後ですが、少なくとも、作業またはプログラミングの分野では、 1つの言語、あなたは死んでいます。原則は重要であり、さまざまな言語でそれらを実装でき、さまざまなソースから読んで理解できるはずです。疑似コードをJavaに変換できないと言っているプログラマーはどうですか?他の言語でもまったく同じです。

すばらしいブログ投稿自分をプログラマーと呼ばないでくださいを読んで、なぜ1言語でのプログラミングを忘れるべきかを理解できます。 。

21
Sam