🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
OpenCV

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

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2834閲覧

Raspberry PiでOpenCVのDNNモジュールを呼び出し、MobileNetで物体検出したい

Rinno

総合スコア7

OpenCV

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

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/11/03 08:41

編集2019/11/03 10:56

実現したいこと

raspberry pi zero whとラズパイのカメラモジュール使ってリアルタイムの物体検出を行いたいと思っています。

##分からないこと
まず、こちらの記事にあるプログラムとCaffeModel形式のMobileNetを、記事の通りこちらのgithubから取得しようと思ったのですが、次のような文章が出て取得できませんでした。

$ git clone git@github.com:asukiaaa/py_opencv_mobilenet_practice.git Cloning into 'py_opencv_mobilenet_practice'... Warning: Permanently added the RSA host key for IP address '13.114.40.48' to the list of known hosts. git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

なので、CaffeModel形式のMobileNetをこちらのgithubから git clone し/home/pi下へ、pythonのコードはコピペして、/home/pi下にpython_programsというディレクトリを作り、そこに入れました。
そして実行すると、以下のようなエラーが出て実行できませんでした。

Traceback (most recent call last): File "mobilenet_scan_camera.py", line 24, in <module> net = dnn.readNetFromCaffe(args.prototxt, args.caffemodel) cv2.error: OpenCV(3.4.3) /home/pi/opencv-python/opencv/modules/dnn/src/caffe/caffe_io.cpp:1121: error: (-2:Unspecified error) FAILED: fs.is_open(). Can't open "mobilenet_v2_deploy.prototxt" in function 'ReadProtoFromTextFile'

おそらくCaffeModel形式のMobileNetが認識されてないのかな、と思うのですが、どう解決したらよいかわかりません。
それぞれのバージョンは
python3.7.3
OpenCV3.4.3
です。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

取り急ぎ私の環境ではasukiaaa/py_opencv_mobilenet_practiceが動作しましたので、まずは下記を試してみてください。

bash

1$ git clone https://github.com/asukiaaa/py_opencv_mobilenet_practice.git 2$ cd py_opencv_mobilenet_practice 3$ python3 mobilenet_scan_camera.py

detection
正常に動作しましたら、 http://asukiaaa.blogspot.com/2018/03/opencvdnnpythonmobilenet.html のプログラムと同じ階層に .caffemodel.prototxt をコピーしてリトライしてみてください。

投稿2019/11/03 10:45

編集2019/11/03 12:08
PINTO

総合スコア351

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Rinno

2019/11/03 12:02

ありがとうございます。動くようになりました。 しかし、": cannot connect to X server "とエラーがでて、プレビューが出ません。 調べてみると”xhost local:root”がナントカ...というふうに書いてあったのですが... PINTO様はプレビュー出ましたか?
PINTO

2019/11/03 12:10 編集

$ startx として、GUIを表示してから実行してみてください。
PINTO

2019/11/03 12:12 編集

$ sudo apt install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev $ sudo pip3 install opencv-python $ sudo xhost +local:root も、実行してみてください。
Rinno

2019/11/03 13:09

もしかして、Raspbian Lite だとGUIをインストールしないといけませんか?
PINTO

2019/11/03 13:13

このプログラムのまま実行しようとするとGUIのインストールが必要です。推論結果をテキストなどに出力するだけなら不要です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問