質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

解決済

AndroidでOpenCV4.5.5を動かす

ToyoKskKN
ToyoKskKN

総合スコア28

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

1回答

0評価

0クリップ

282閲覧

投稿2022/03/18 08:44

編集2022/03/23 11:48

AndroidでOpenCV4.5.5を使って写真を撮って円検出を行おうとしています。

OpenCVを使うためにはOpencvLoaderの初期化が必要だと理解していますがいまいちやり方が分かっていません、どなたかご教授いただければ幸いです。

参考URL
参考1
参考2

環境
Android Studio Bumblebee | 2021.1.1 Patch 1
Build #AI-211.7628.21.2111.8139111, built on February 2, 2022
Runtime version: 11.0.11+9-b60-7590822 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 1280M
Cores: 8
Registry: external.system.auto.import.disabled=true
Non-Bundled Plugins: org.jetbrains.kotlin (211-1.6.10-release-923-AS7442.40)

Build API(32API)

試したコード

Kotlin

private val mLoaderCallback: BaseLoaderCallback = object : BaseLoaderCallback(this) { override fun onManagerConnected(status: Int) { when (status) { SUCCESS -> { Log.i(TAG, "OpenCV loaded successfully") } else -> { super.onManagerConnected(status) } } } } public override fun onResume(){ super.onResume() OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_4_0, this,mLoaderCallback) }

また
app\libs

sdk\native\libs
の中身をコピーしましたが駄目でした。

どうぞよろしくお願いします。


追記
情報足りなくて申し訳ないです・
実行結果ですが、Buildは成功するのですがアプリ実行時に
「Package not found」と出てきてInstallをするかの選択肢が出るのですが
YESを押してもOpenCV Manager のインストール失敗 と出る状況です。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

hoshi-takanori

2022/03/18 09:31

何がどううまくいかないのでしょうか? ビルドに失敗しますか? または、動かしたらクラッシュするのでしょうか? エラーメッセージは出てませんか? また、参考 1 にある OpenCVLoader.initDebug() は試しましたが?
hoshi-takanori

2022/03/22 20:22

OpenCVLoader.initAsync は Play Store から OpenCV Manager というアプリ (のふりをした OpenCV 共有ライブラリ?) をダウンロードして使うもののようですが、肝心の OpenCV Manager は 5 年以上前に Play Store から削除されており、今は使えないようです。(それなら削除するなり、ドキュメントに書くなりして欲しい…。) https://github.com/opencv/opencv/issues/20491 OpenCVLoader.initDebug は OpenCV SDK についてくる libopencv_java4.so をロードするもので、これが「デバッグ用」とされているのはたぶん機能的な問題ではなく、OpenCV のすべて (?) の関数を含む巨大なライブラリになってるので、アプリを配布する際には実際に使用する関数だけを集めた .so を自分で作ることが推奨されているようです。(とはいえ動くことは動くので、それで良いのかも…?)
ToyoKskKN

2022/03/23 01:11

ご指摘の通りinitAsyncではなくinitDebugの方は通っているようです。 ただ円検出のHoughCirclesが失敗しているようでした。 また試して新たに質問等をしてみようと思います。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。