問題タブ [opencv4android]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
200 参照

java - libopencv_java249.so には libopencv_java245.so も必要ですか?

opencv 2.49 で opencv Java アプリケーションをデプロイしようとしています。libopencv_java249.soopencv-249.jarUbuntuサーバーにビルドしました。これらは、アプリケーションの起動時にクラスパスで使用できます。

しかし、libopencv_java245 not foundという例外がスローされているため、最初は間違った opencv バージョンを参照しているという印象を受けました。これを確認するために、クラスパスからlibopencv_java249.soを削除しましたが、libopencv_java249が利用できないと不平を言っていました。

追加のテストとして、libopencv_java249.so の名前を libopencv_java245.so に変更したところ、opencv_java249 が見つからないことが再度わかりました。

これで、正しいバージョンの opencv (つまり libopencv_java249) を探していることを確認できると思いますが、それに加えて libopencv_java245 も必要です。私の仮定は正しいですか、誰かが私を導くことができれば本当に役に立ちます。

0 投票する
1 に答える
2693 参照

opencv - Android用のOpenCv contribモジュールの使用

Android で opencv contrib モジュールを使用する方法はありますか? 私は特にテキストモジュールを使用しています。これらのモジュール用の Android ライブラリはありますか。私のコードはデスクトップで動作しており、コードを Android に移行しようとしています。どんな洞察もgr8になります。

0 投票する
1 に答える
1264 参照

java - Android4OpenCV: 起動時の解像度の設定

Android4OpenCVを使用してライブ画像処理を行っていますが、カメラが提供できる最小の解像度を使用したいと考えています。デフォルトの解像度は、カメラが提供できる最大の解像度です。

ユーザーがメニューから解像度を変更できるようにする3 番目の例を見ています。その例を変更して、ユーザーがメニューを通過するのではなく、起動時に解像度を変更したいと思います。これを行うには、空のonCameraViewStarted()関数に次の 2 行を追加するだけです。

そして問題は、これは Android 4.2.2 を実行している私の Galaxy Nexus で完全に正常に動作することです。アプリが起動し、解像度が正しく設定されます。

ただし、Android 5.1 を実行している Nexus 7 タブレットでまったく同じアプリを実行すると、アプリは への呼び出しでハングしますsetResolution()。実際には一度は問題なく動作しますが、2 回目に実行しようとするとハングします。アプリを完全に終了したり、実行中のアプリから削除したり、デバイスを再起動したりしても。他のユーザーも同じエラーを報告しているため、Nexus 7 デバイスだけではありません。実際、これが機能するデバイスは私の Galaxy Nexus だけのようです。

具体的には、アプリケーションは関数に入り、次のように をsetResolution()呼び出します。org.opencv.android.JavaCameraView.disconnectCamera()

(注: このコードは OpenCV4Android ライブラリの内部であり、私のコードではありません)

ログを見ると、スレッドがsynchronized(this)行に詰まっていることがわかります。そのオブジェクトで同期する他の唯一のものは、JavaCameraView クラスによって開始される、上記のコードJavaCameraView.CameraWorkerの変数である内部クラスです。mThread

(注: このコードは OpenCV4Android ライブラリの内部であり、私のコードではありません)

私はそのコードをいじり、notify() を notifyAll() に変更し、CameraWorker スレッドのリストを維持し、それぞれに参加しようとしました。しかし、何があっても、アプリはdisconnectCamera()通話中にハングします。

私の質問は次のとおりです。

  • 起動時に解像度が設定されるように、3 番目の OpenCV4Android の例を変更するにはどうすればよいですか?

  • アプリがハングする原因は何ですか?

  • 一部のデバイスでは機能するのに、他のデバイスでは機能しないのはなぜですか?

編集: コメントや回答を受け取っていないため、ここの OpenCV フォーラムにクロスポストしました。

編集2 :cyrielの提案に従って、いくつかのフレームが経過した後に解像度を設定しようとしました:

ただし、関数で解像度を設定すると機能するGalaxy Nexusでも、これはまったく同じ場所でスタックしonCameraViewStarted()ます。フレーム数を 7 に、さらには 100 に増やしてみましたが、いつも同じ場所でスタックしてしまいます。

0 投票する
0 に答える
402 参照

android - CvCameraViewListener2.onCameraFrame() が静止画像を返すようにします

指定されたフレームが空のマットの場合、画面には理解できる総黒が表示されますが、指定されたフレーム=inputFrame.gray() の後でも画面が黒く表示されるのはなぜですか? inputFrame.gray() を直接返すと、画面が正しく表示されます。

Android 4.4 および 5.0 で実行される opencv4Android 2.4.11 での Eclipse によるコーディング。

0 投票する
1 に答える
2909 参照

android - OpenCV 3.0 RC1 による Android での BackgroundSubtractorMOG2 の作成

AndroidフォンのOpenCV 3.0でMOG2を使用してバックグラウンド減算を実行しようとしています。ただし、バージョン 3.0 で新しい BackgroundSubtractorMOG2 を作成するための適切なコンストラクターがないようです。私のコードはここにあります。

これらのコードで Android スタジオは、コンストラクターが access を保護していることを思い出させます。その上、BackgroundSubtractorMOG2 の Java src コードを読むと、コンストラクターに long addr という 1 つのパラメーターがあることがわかりました。src コードは次のとおりです。

私はOpenCV4Androidが初めてなので、Javaコードでそのようなクラスを構築する方法がわかりません。古いバージョンの OpenCV4Android を使用する以外に解決策はありますか?

0 投票する
1 に答える
47 参照

image - OpenCv4Androidでマスクを作成するには?

コーディングでマスクを作成したいのですが、Rect と入力画像があるので、マスクを初期化する方法を教えてください。

0 投票する
1 に答える
1866 参照

java - JavaCameraView のカスタム クラスを使用するとアプリがクラッシュする

Android 用の OpenCV を使用しており、カスタム フレーム レートを設定しようとしています。さて、私はフレームレートの範囲を設定しようとしています。カスタム解像度も設定しようとしています

私はopenCVチュートリアル3 Camera Controlに従っています。デバイスで実行を開始すると、アプリがクラッシュします。Nexus 7 2013 タブレットを使用しています

以下は私のコードです:

そしてJavaCameraViewカスタムクラス

logcat の出力は次のとおりです。