問題タブ [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.
android - OpenCV ネイティブ ライブラリとインクルード ファイルを Android Studio に統合するにはどうすればよいですか?
私は長い間 Android 用の OpenCV を使用してきました。これまでのところ、問題なく動作します。しかし、今はパフォーマンスを向上させたいと思っており、ネイティブになりたいと思っています。しかし、ネイティブ開発自体も、Android での私にとっては少し複雑です。これで要点がわかり、簡単なアプリケーションを自分で作成できるようになりました。
私が立ち往生している点は、これらのライブラリを追加して、OpenCV Android パッケージの「ネイティブ」フォルダーにファイルを含める方法です。
注:ネイティブ アプリケーションを作成するつもりはありませんが、ネイティブとして OpenCV のみを使用します。他の部分はまだJavaのままです
簡単に言うと、Java ラッパーでネイティブ OpenCV メソッドを呼び出したくはありませんが、代わりに OpenCV に関連するすべてをネイティブで実行し、結果を Java 部分に取得します。
事前にご協力いただきありがとうございます。
android - カメラ プレビューのタッチ イベントから正確な RGB 値を取得する
私は、カメラ プレビューでタッチ イベントの座標と RGB 値を取得して表示するだけの Android アプリに取り組んできました。私はこのプログラミング言語の初心者で、これを試してみたかったのですが、タッチ イベント中にアプリがクラッシュし続けます。Androidで試したコードは次のとおりです。
NullPointerException エラーが発生しています:
E/MessageQueue-JNI(14476): java.lang.NullPointerException: null オブジェクト参照で仮想メソッド 'int android.graphics.Bitmap.getPixel(int, int)' を呼び出そうとしています
OpenCV4Androidも使用してみましたが、同じ結果が得られます。
再びエラーは次のとおりです。
E/MessageQueue-JNI(15884): java.lang.NullPointerException: null オブジェクト参照で仮想メソッド 'void android.widget.TextView.setText(java.lang.CharSequence)' を呼び出そうとしています
これらのアプリはどちらもカメラのプレビューを表示しますが、Nexus 7 の画面に触れるとアプリが動作しなくなります。誰かが私が間違っていることを教えて、おそらく私を修正できますか?
android - Android: Intermediates ディレクトリにリソースがありません (Gradle のせいですか?)
私は Android Studio と OpenCV の両方に非常に慣れていないので、これが悪い質問である場合はご容赦ください。
OpenCV の一般的なライブラリと Android 用の OpenCV SDK をダウンロードしてインストールしたので、Android Studio と Android NDK を使用して、Android スマートフォンで使用するサンプル OpenCV プロジェクトの 1 つをコンパイルしたいと思います。
このページの指示に従いましたが、まだ gradle でビルド エラーが発生しています。エラー出力ステートメントは次のとおりです。
.../AndroidStudioProjects/MyProject/app/build/intermediates/manifests/full/debug/AndroidManifest.xml
エラー:(13, 23) 指定された名前に一致するリソースが見つかりませんでした (値 '@drawable/ic_launcher' の 'icon')。
エラー:(15、24) 指定された名前に一致するリソースが見つかりません (「テーマ」で値「@style/AppTheme」)。
「タスク ':app:ProcessDebugResources' の実行に失敗しました」
私の非常に基本的な理解では、これは gradle がbuild/intermediates/manifests/full/debugディレクトリ内の AndroidManifest.xml を読み取っていて、このマニフェストが存在しないリソースを参照していることを意味すると推測しています。
これが私が作成したディレクトリと xml ファイルである場合、不足しているリソースを置き換えるか、マニフェストを編集する必要があります。しかし、ビルドディレクトリ内のすべてのファイルとディレクトリがgradleによって生成されるため、どうすればよいかわかりません。
gradle が 1 つのディレクトリとファイル (つまり、AndroidManifest.xml) を生成するのに、別のディレクトリとファイル (つまり、欠落しているリソース) を生成しないのはなぜですか?
問題の原因についての私の最善の推測は、上記のリンクが提供するbuild.gradleファイルの何かが私の特定の設定と一致しないことです。build.gradleを微調整して、異なる SDK と buildTools のバージョンを使用 しようとしましたが、役に立ちませんでした。
Mac OSX 10.10.4 で Android Studio 1.0.1 を実行しています
誰かが私を正しい方向に向けることができれば、本当に感謝しています。
編集:これは、app/src/mainディレクトリにあるメイン AndroidManifest.xml のテキストです。
app/src/main/res 内のすべては、リンクで従った指示に従って、OpenCV サンプル ファイルから直接コピーされます。app/src/main/res/valuesの下に styles.xml が見つかりませんでした。strings.xmlだけです。
java - Android用openCV - 統合の問題
アプリに OpenCV 2.4 を統合する必要があります。最初に、OpenCV ベースのアプリを実行するには OpenCV Manager が必要であることがわかりました。しかし、グーグルで調べた後、静的初期化hereおよびhereを使用する別の方法を見つけました。私は試しましたが、うまくいきません:
疑似コード:
試しましたが、これは機能しません。openCV Manager をインストールするための同じポップアップが表示されます。
私もinitAsync()
onResume とmLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS)
;で削除しようとしました。しかし、これを使用するとアプリがクラッシュします。
誰かが私を適切な方法に導くことができますか? 重複としてマークしないでください。SO未回答の質問は数十から数百あります。
android - OpenCV Android CameraBridgeViewBase フレームグラブによって中断されることなく、フレームをグラブして処理し、描画する方法
私は Android 用の OpenCV を使い始めており、CameraBridgeViewBase クラスを使用してフレームを取得しています。次に、フレームを処理するためにワーカー スレッドを呼び出しますが、処理に時間がかかりすぎると、別のフレームが取得され、ワーカー スレッドが中断されることに気付きました。これをどのように回避しますか?フレームの取り込みを一定期間停止できますか? オンラインのどこにも解決策が見つかりませんでした。
乾杯、 ケビン
java - OpenCV Javaラッパーを使用したSVDソルブ
OpenCV_2.4.11 Java ラッパー (Android 上) を使用して C++ コードを移植しています。次の C++ 行があります。
Javaでは、私は持っています:
OpenCV Java ラッパーを使用して最後の 2 行を翻訳するにはどうすればよいですか?
java - テキスト検出のために MatOfKeyPoint で四角形を描画するにはどうすればよいですか | ジャワ
OpenCV4Android を使用したリアルタイムのテキスト検出と認識に取り組んでいます。認識部分は完全に完成しています。ただし、テキスト検出について質問する必要があります。検出テキストに MSER FeatureDetector を使用しています。
これはリアルタイムでメソッド部分を呼び出しています:
そして、これは基本的な MSER の実装です。
エッジ マスクを使用してテキストを検索する場合は問題なく機能します。
次のようなクラスターの長方形を描画したいと思います。
またはこれ:
あなたは私が正しい点を持っていると仮定することができます.
ご覧のとおり、fd.detect() メソッドは MatOfKeyPoint を返しています。したがって、長方形を描画するためにこの方法を試しました:
しかし、Imgproc.arcLength() メソッドを実行しようとすると、突然停止しました。Imgproc.approxPolyDP() メソッドに 0.1 のようなランダムな approxDistance 値を指定しましたが、実際には効率的に動作しません。
では、検出されたテキストに四角形を描画するにはどうすればよいですか?
opencv - 新しいgradleを使用したAndroidスタジオ1.3+のOpenCv - 未定義のリファレンス
新しい ndk をサポートする Android Studio 1.3+ でネイティブ OpenCv 2.4.11 (3.0.0 も問題ありません) を使用する際に問題があります。.mk ファイルに関するすべてのチュートリアルですが、新しい実験的な gradle で使用したいと考えています。
Android StudioでKiran answer OpenCVを使用
して、Javaで正常に動作するようになりました。また、
gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-2.5-all.zip
build.gradle(application):を変更しました。
build.gradle(モジュール):
この変更により、jni フォルダーの下の C++ ファイルでネイティブのダミー関数を呼び出すことができます。また#include <opencv2/core/core.hpp>
、その他はCLionによってサポートされています... cv::Mat mat; を宣言すると このエラーが表示されます:
C++ コード:
更新
- ldLibs に「z」を追加
- android.productFlavors ブロックを追加
これでコンパイルは成功し、アプリケーションが 2 秒間起動し、次のメッセージでクラッシュします
。イベント ログ:
デバッグ情報:
ログ: