問題タブ [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.
java - libopencv_java249.so には libopencv_java245.so も必要ですか?
opencv 2.49 で opencv Java アプリケーションをデプロイしようとしています。libopencv_java249.soとopencv-249.jarをUbuntuサーバーにビルドしました。これらは、アプリケーションの起動時にクラスパスで使用できます。
しかし、libopencv_java245 not foundという例外がスローされているため、最初は間違った opencv バージョンを参照しているという印象を受けました。これを確認するために、クラスパスからlibopencv_java249.soを削除しましたが、libopencv_java249が利用できないと不平を言っていました。
追加のテストとして、libopencv_java249.so の名前を libopencv_java245.so に変更したところ、opencv_java249 が見つからないことが再度わかりました。
これで、正しいバージョンの opencv (つまり libopencv_java249) を探していることを確認できると思いますが、それに加えて libopencv_java245 も必要です。私の仮定は正しいですか、誰かが私を導くことができれば本当に役に立ちます。
opencv - Android用のOpenCv contribモジュールの使用
Android で opencv contrib モジュールを使用する方法はありますか? 私は特にテキストモジュールを使用しています。これらのモジュール用の Android ライブラリはありますか。私のコードはデスクトップで動作しており、コードを Android に移行しようとしています。どんな洞察もgr8になります。
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 に増やしてみましたが、いつも同じ場所でスタックしてしまいます。
android - CvCameraViewListener2.onCameraFrame() が静止画像を返すようにします
指定されたフレームが空のマットの場合、画面には理解できる総黒が表示されますが、指定されたフレーム=inputFrame.gray() の後でも画面が黒く表示されるのはなぜですか? inputFrame.gray() を直接返すと、画面が正しく表示されます。
Android 4.4 および 5.0 で実行される opencv4Android 2.4.11 での Eclipse によるコーディング。
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 を使用する以外に解決策はありますか?
image - OpenCv4Androidでマスクを作成するには?
コーディングでマスクを作成したいのですが、Rect と入力画像があるので、マスクを初期化する方法を教えてください。
java - JavaCameraView のカスタム クラスを使用するとアプリがクラッシュする
Android 用の OpenCV を使用しており、カスタム フレーム レートを設定しようとしています。さて、私はフレームレートの範囲を設定しようとしています。カスタム解像度も設定しようとしています
私はopenCVチュートリアル3 Camera Controlに従っています。デバイスで実行を開始すると、アプリがクラッシュします。Nexus 7 2013 タブレットを使用しています
以下は私のコードです:
そしてJavaCameraViewカスタムクラス
logcat の出力は次のとおりです。