Armadilloフォーラム

python3環境でopenCVがインストールできない

yabumoto

2021年5月12日 15時36分

お世話になります。

Armadillo-640 python3.5でopenCVがインストールできなく困っています。
基本的に以下サイトを参考に、pipでインストールしようとしていますが、
多々エラーが発生し、都度情報を探しては回避すべく試行していますが成功していません。

https://qiita.com/masaru/items/658b24b0806144cfeb1c
https://qiita.com/fiftystorm36/items/1a285b5fbf99f8ac82eb

知見のある方いらっしゃいましたらご教授頂けませんでしょうか?
ざっくりとした質問で申し訳ございませんが、
何卒宜しくお願い致します。

コメント

at_akihito.irie

2021年5月12日 16時48分

入江です。

[armadillo]# apt install python3-opencv

でもインストールできませんでしょうか。

また、エラーが発生する場合はそのエラーメッセージも教えていただければ、
より正確なアドバイスが可能になりますのでよろしくお願いいたします。

ありがとうございます。
確認しましたがNGでした。
※pythonのバージョン3.9で確認しています。

root@armadillo:~# python3.9 -m pip install opencv3-python
ERROR: Could not find a version that satisfies the requirement opencv3-python (from versions: none)
ERROR: No matching distribution found for opencv3-python

曖昧な状態で投げてしまって申し訳ございません。
特定のエラーで困っているのではなく、
「エラー発生→回避策調査→再試行」を繰り返している状態になり、
非常に時間も掛かり先が見えない状態です。

もし、同じ環境を構築されている方、知見のある方がいらっしゃれば
ご教授頂きたく質問させて頂きました。申し訳ございません。

もう少し絞り込んで質問させて頂きます。

> 入江です。
>
>

> [armadillo]# apt install python3-opencv
> 

>
> でもインストールできませんでしょうか。
>
> また、エラーが発生する場合はそのエラーメッセージも教えていただければ、
> より正確なアドバイスが可能になりますのでよろしくお願いいたします。
>

アットマークテクノの古賀です。

yabumotoさん:
>ありがとうございます。
>確認しましたがNGでした。
>※pythonのバージョン3.9で確認しています。
>
>root@armadillo:~# python3.9 -m pip install opencv3-python
>ERROR: Could not find a version that satisfies the requirement opencv3-python (from versions: none)
>ERROR: No matching distribution found for opencv3-python

python3.9 -m pip でも駄目ということですので、OpenCV を Armadillo-640 でビルドする必要があるかも知れませんね。

>曖昧な状態で投げてしまって申し訳ございません。
>特定のエラーで困っているのではなく、
>「エラー発生→回避策調査→再試行」を繰り返している状態になり、
>非常に時間も掛かり先が見えない状態です。

ところで、最初に頂いた投稿では

>>>Armadillo-640 python3.5でopenCVがインストールできなく困っています。

ということでしたが、現在お使いの python3.9 は、どのようにしてインストールされたのでしょうか?

>もし、同じ環境を構築されている方、知見のある方がいらっしゃれば
>ご教授頂きたく質問させて頂きました。申し訳ございません。
>
>もう少し絞り込んで質問させて頂きます。

僕自身は試したことがないのですが、こちらのページには、OpenCV をセルフビルドする手順が載っています:
https://qiita.com/wk_/items/8db529a6b24a955888db
Armadillo-640 で OpenCV をセルフビルドするのは、だいぶ時間がかかるかも知れませんが、もし他に方法がないのであれば、試してみる価値は、あるかも知れません。

古賀様
ありがとうございます。

>>>>Armadillo-640 python3.5でopenCVがインストールできなく困っています。

>ということでしたが、現在お使いの python3.9
>は、どのようにしてインストールされたのでしょうか?

 ソースをDL、Armadillo上でコンパイルしてインストールしました。

>僕自身は試したことがないのですが、こちらのページには、OpenCV
>をセルフビルドする手順が載っています:
https://qiita.com/wk_/items/8db529a6b24a955888db
>Armadillo-640 で OpenCV
>をセルフビルドするのは、だいぶ時間がかかるかも知れませんが、もし他に方法がないのであれば、試してみる価値は、あるかも知れません。

 ありがとうございます。
 この方法も一度試したんですが途中でeMMC容量不足の為NGとなりました。
 もう一度クリーンな状態から再確認してみます。

at_takuma.fukuda

2021年5月13日 10時22分

アットマークテクノの福田です。

Armadillo上で直接OpenCVのインストールやビルドを行うのではなく、
ATDEにてOpenCVがインストールされたルートファイルシステムを構築して、
それをArmadilloへ書き込むという手法について以下の記事にてご紹介しています。
https://armadillo.atmark-techno.com/blog/10899/9089

この手法でArmadillo-640上でOpenCV4.5.1をpython3から実行できることを確認しております。
ご参考くださいませ。

福田様
ありがとうございます。
返信遅れ申し訳ございません。

ルートファイルシステムは構築できましたが、非常に時間が掛かりました(16h)

Core(TM) i5-4690 CPU @ 3.50GHz
Virtual Box(cpu数=3、メモリ=4GB)の仮想環境で動作させてますが 、
妥当な時間でしょうか?

製品マニュアルに従い、ブートSDを作成しようとしているのですが、
Virtual Box上のATDEにUSB接続のカードリーダーを認識させることが出来ません。
(※USBメモリとかは認識できているのですが・・)

回避方法等、ご存知であればご教授お願い出来ませんでしょうか?

重ねてのご依頼でもうしわけございませんが、
何卒宜しくお願い致します。

at_takuma.fukuda

2021年5月14日 12時53分

>ルートファイルシステムは構築できましたが、非常に時間が掛かりました(16h)
>妥当な時間でしょうか?
こちらについて回答させていただきます。
ブログ記事冒頭の注意書きにも記載しておりますが、
この手順については実施にあたって非常に時間のかかるものとなります。
私の方で実施した際にも、ビルド実行から完了までに10時間以上を要しました。

アットマークテクノの古賀です。

yabumotoさん:
>製品マニュアルに従い、ブートSDを作成しようとしているのですが、
>Virtual Box上のATDEにUSB接続のカードリーダーを認識させることが出来ません。
>(※USBメモリとかは認識できているのですが・・)

念のため確認ですが、VirtualBox の ExtensionPack は、インストールしていらっしゃるでしょうか?
インストールしていらっしゃる場合、SD カードリーダーを VirtualBox の「USB デバイスフィルター」に登録していらっしゃるでしょうか。

もし、いずれかが NO の場合は、次のページが参考になるかと思います:
 https://kimamani89.com/2020/08/14/virtualbox%E3%81%AEos%E3%81%ABsd%E3%8…
 https://www.kwonline.org/memo2/2020/03/01/use-usb-sd-card-reader-on-vir…
 https://qiita.com/civic/items/684c4b82428feb0c4ae1

古賀様
ありがとうございます。

ExtensionPack はインストール済み、VirtualBox の「USBデバイスフィルター」登録状態で
NGです。「USBデバイスフィルター」にUSBメモリであれば、登録後認識されているのですが・・

http://hrn25.sakura.ne.jp/win/virtualbox-rawdisk/virtualbox-rawdisk.html

で、rawdiskとして認識は成功しているのですが、
fdiskでパーティション操作中に、vboxがハングアップしてしまいます。

よろしくお願い致します。

アットマークテクノの古賀です。

yabumotoさん:
>ExtensionPack はインストール済み、VirtualBox の「USBデバイスフィルター」登録状態で
>NGです。「USBデバイスフィルター」にUSBメモリであれば、登録後認識されているのですが・・
>
>http://hrn25.sakura.ne.jp/win/virtualbox-rawdisk/virtualbox-rawdisk.html
>
>で、rawdiskとして認識は成功しているのですが、
>fdiskでパーティション操作中に、vboxがハングアップしてしまいます。

手元の Windows 10 Pro 64bit に VirtualBox 6.1.22 と Extension Pack をインストールして、新たに Debian 64bit の仮想マシンを作って ATDE7 の仮想ディスクイメージを割り当てて起動してみたところ、手元の SD カードリーダーを問題なく認識して、fdisk による操作や、SD カード内のパーティションのマウント及びアクセスをできました。
https://www.virtualbox.org/wiki/Downloads
https://armadillo.atmark-techno.com/resources/software/atde/atde-v7

確認ですが、現在お使いの VirtualBox のバージョンとホスト OS、および SD カードリーダーのメーカー名・機種名は、何でしょうか?

ご確認ありがとうございます。

> 確認ですが、現在お使いの VirtualBox のバージョンとホスト OS、および SD カードリーダーのメーカー名・機種名は、何でしょうか?

 Vbox6.1.22 最新です。ホストOSはwin10pro()64bit、カードリーダー(メーカ不明)(FNK Tech Card Reader Contoroller RTS5101/RTS5111/RTS5116)
 になります。

<追記>
 xbuntu搭載の古い別PCでブート用SDを作成しました。
 SDブートさせると以下のメッセージがでて止まっています。
------------

[ 2.886755] 5V: disabling
[ 2.896069] ALSA device list:
[ 2.905634] No soundcards found.
[ 2.915840] mmcblk1: mmc1:0007 SD16G 14.4 GiB
[ 2.928752] Warning: unable to open an initial console.
[ 2.946267] Freeing unused kernel memory: 3072K
[ 2.960856] mmcblk1: p1 p2
[ 3.094046] systemd-udevd[83]: starting version 215
[ 3.125372] random: systemd-udevd: uninitialized urandom read (16 bytes read)
[ 4.425678] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
   :
[ 115.912863] random: crng init done

 ルートファイルシステムが原因でしょうか?

 宜しくお願い致します。

アットマークテクノの古賀です。

yabumotoさん:
>ご確認ありがとうございます。
>
>>確認ですが、現在お使いの VirtualBox のバージョンとホスト OS、および SD カードリーダーのメーカー名・機種名は、何でしょうか?
>←
> Vbox6.1.22 最新です。ホストOSはwin10pro()64bit、カードリーダー(メーカ不明)(FNK Tech Card Reader Contoroller RTS5101/RTS5111/RTS5116)
> になります。

特に問題なさそうなカードリーダーですね。念のため確認ですが、ホスト OS では、カードリーダーに装着した SD カードを認識できるのですよね?

><追記>
> xbuntu搭載の古い別PCでブート用SDを作成しました。
> SDブートさせると以下のメッセージがでて止まっています。
>------------
> :
>[ 2.886755] 5V: disabling
>[ 2.896069] ALSA device list:
>[ 2.905634] No soundcards found.
>[ 2.915840] mmcblk1: mmc1:0007 SD16G 14.4 GiB
>[ 2.928752] Warning: unable to open an initial console.
>[ 2.946267] Freeing unused kernel memory: 3072K
>[ 2.960856] mmcblk1: p1 p2
>[ 3.094046] systemd-udevd[83]: starting version 215
>[ 3.125372] random: systemd-udevd: uninitialized urandom read (16 bytes read)
>[ 4.425678] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
>   :
>[ 115.912863] random: crng init done
>
> ルートファイルシステムが原因でしょうか?

ログインプロンプトが出ずに、

>[ 115.912863] random: crng init done

のログが出たところで停止してしまう、ということですね。このログの直線あたりのログは、どうなっているでしょうか?

ルートファイルシステムが原因かどうかの切り分けとしては、Armadillo-640 のインストールイメージを使って、同じ SD カードをブート SD にセットアップして、その場合に問題なくブートできるかどうか確認する、ということが考えられます。
直接の回答ではなく恐縮ですが、現状できるコメントです。

アットマークテクノの古賀です。

先ほどのコメントに TYPO がありましたので、訂正します。

>のログが出たところで停止してしまう、ということですね。このログの直線あたりのログは、どうなっているでしょうか?

「このログの直線あたりのログ」ではなく、
「このログの直前あたりのログ」です。

古賀様
お世話になっております。

ご回答ありがとうございます。

>ホストOS では、カードリーダーに装着した SD
>カードを認識できるのですよね?

 はい、問題なく使用出来ています。

>ルートファイルシステムが原因かどうかの切り分けとしては、・・

 はい、切り分けの為確認した結果、ルートファイルシステムが原因でした。

 御社、福田様にサポート頂き「debian9」環境に問題あるのでは?
 ということで、「debian10」環境でルートファイルシステムを再構築した結果
 問題なく openCV も動作しています。
 (開発環境は、ATDE7/ATDE8でそれそれ構築しています。)

 ありがとうございました。

 現在、従来システムを「debian10」に置き換え中です。