Raspberry Pi、通称「ラズパイ」は、
横10cmくらい、縦7cmくらい、高さ3cmくらいのミニコンピューターです。
うちにあるのはRaspberry Pi 3B。

ちょっとお友達に、飼い猫以外の猫の侵入者がきたときにアラームを伝える何かを作ってほしいと、
そんなことを頼まれました。

久しぶりにラズパイを動かすので、OSの再インストールから始めました。
・・・今どきは、NOOBSを使ってインストールするんじゃないんですね。
(今でもできるけど)

SD Card Formatterで、マイクロSDカードをフォーマットして、
そのあと、Win32 Disk Imagerとかでimgファイルを書き込む方法のようです。
逆に、今までのラズパイを状態を、OSごとimgファイルとしてバックアップすることもできます。
Raspberry Pi OS公式のImagerは、常に最新版のものしかインストールできないので、
もしかしたら使う機会はないかもしれません。

このへんは見ている人にぐぐらせるとして、

xrdp入れるでしょ、ibus-mozc入れるでしょ、
カメラとVNCを有効にして、ホスト名を変えて、
いろんな初期設定をしました。

pipがない人は、pipをインストールしましょう。たぶんあると思うけど。
sudo apt-get install python3-dev -y
sudo apt-get install python3-pip -y

そのあと、Python3にOpenCV2をインストールするのに、
ほぼ必ずといっていいほど失敗しました。
・・・なにこれ。

sudo apt-get install libopencv-dev
pip install opencv-python
pip install opencv-contrib-python #3時間くらいかけてエラーをはじきだした



Python 3.9.2 (default, Mar 12 2021, 04:06:34)
[GCC 10.2.1 20210110] on linux
Type "help", "copuright", "credits" or "license" for more information.
>>> import cv2
Trackback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/pi.local/lib/python3.9/site-packages/cv2/__init__.py", line 8, in <module>
   from .cv2 import *
ImportError: libcblas.so.3: cannot open shared object file: No such file or directory


・・・あなた、逝ってる意味わかんないんですけど。

いろいろ調べてみたのですが、結局何もわかりませんでした。
コンパイルだのpip3だの依存パッケージだのに振り回されすぎて、
何が何だか分からなくなってしまったのですが、

sudo apt-get install python3-opencv

この1文ですべて解決してしまいました。



コンパイルに失敗したり、pip叩いてぐだぐだと時間かかったり、
依存パッケージを探しても見つからないで途方にくれていたのとかは、
いったい何だったのでしょうと思いますが、
うまくいけばなんでもいいのでした。

これに気付いたのは、OpenCVあきらめようとして、
別のライブラリを調べようとしたときに偶然、
apt-getの情報をみつけたようなものなので。
まあ、ここに書かれているのですけども。

ラズパイ 顔認識 python ライブラリ -opencv
検索は、このへんあたり。DuckDuckGoで検索しました。
とても優秀。
マイナス検索は必須です。

ぐぐるときは、GoogleやBingだけでなく、
DuckDuckGoや百度でも検索してみると、
検索の方向性が違うから、
新たな発見があることでしょう。

保険のために、pytorchとtorchvisionとTensorFlowも調べますか。