26

私はJavaCVを学ぼうとしています。ご存知のように、このテーマに関する教材の不足は非常に大きな問題です。JavCVのホームページでは、本「OpenCVCookBook」のC++の例の多くの例を提供しています。しかし、実際には、それらはJavaではなく、SCALAにあります!!!! 今、私はすでに夢中になっています!ウェブ上にたくさんの例があることは知っていますが、最初から進歩していきたいと思っています。そうすれば、私だけが正しくそれを行うことができます。「OpenCVCookBook」は非常に優れた本ですが、Javaに関するものではなく、C++でのOpenCVに関するものです。

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

4

1 に答える 1

21

<更新>

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

</ update>

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

また、ここでいくつかの詳細情報を見つけることができます。

さて、あなたはJavaが欲しいと言うでしょうが、Androidは欲しいとは思わないでしょう:)。しかし、これには説明が必要です。

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

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

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

更新されたメモ

ここで指定するものがさらに2つあります。

まず、Androidが普及し、Pythonの人気が高まるにつれ、2つの言語(およびその他の言語)で利用できるコンテンツが劇的に増加しています。しかし、今後数年間、コア開発グループ(および最高のドキュメント)はC++領域に配置されます。

最後に、大事なことを言い忘れましたが、どんな仕事やプログラミングの分野でも、1つの言語に固執すると、死んでしまうことを覚えておく必要があります。原則は重要であり、さまざまな言語でそれらを実装できる必要があり、さまざまなソースから読んで理解できる必要があります。擬似コードをJavaに変換できないと言っているプログラマーはどうでしょうか。他の言語とまったく同じです。

すばらしいブログ投稿を読むことができます。ある言語でのプログラミングを忘れるべき理由を理解するために、プログラマーとは呼ばないでください。

于 2012-07-15T18:56:10.140 に答える