よもやま話β版

よもやま話を書きます。内容はぺらぺら。自由に書く。

初心者がはじめる Raspberry Pi 4B (3) OpenCVの導入

次の目標として、ラズパイでカメラを扱ってみたい。そのためはOpenCVが必要らしい。 参考: ラズパイにOpenCVをインストールして、画像・カメラ表示、文字・図形描画

インストール

諸々進めていく。ラズパイでは「LXPanel」が、macでいうターミナルということになる。操作( ls, cd, mkdir, ほか)については割愛するが、このへんがわからない方はopencv導入前にもうひとつ学習の山がありそうだ。*1

$ sudo apt install -y libatlas-base-dev
$ pip install numpy --upgrade
$ pip install opencv-python==4.6.0.66

※欲張ってopencv-python の最新4.7.0.72 (2023/02/23)を入れようとしてみたが、インストール中に止まったまま20分経過したので流石に終了させた。4.6.0.66は一瞬で入った。そういうこともある。

念の為環境をおさらいする。

$ uname -a
Linux raspberrypi 5.15.84-v7l+ #1613 SMP Thu Jan 5 12:01:26 GMT 2023 armv7l GNU/Linux
11:31

$ dpkg -l | grep libatlas-base-dev
ii  libatlas-base-dev:armhf                3.10.3-10+rpi1                   armhf        Automatically Tuned Linear Algebra Software, generic static
11:32

$ pip list | grep numpy
numpy             1.24.2

$ python
Python 3.9.2 (default, Mar 12 2021, 04:06:34)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2._version_
'4.6.0'

画像の表示

作業用ディレクトリ ~/dev/opencv_showimg の中に、以下を準備し、実行した。

  • サンプル画像 sample01.jpeg
  • プログラムファイル showimg.py
# showimg.py
import cv2

img = cv2.imread("sample01.jpeg")
cv2.imshow("image",img)
cv2.waitKey(0)
cv2.destroyAllWindows()

これを保存して、こうじゃい

$ pwd
/home/betachelsea/dev/opencv_showimg

$ ls
sample01.jpeg  showimg.py

$ python showimg.py

動いた! ウワ デカイ…

ディスプレイ一杯に展開されるウチの猫様のおみ足

※元画像はこう↓

子猫の時点ですでに野生の欠片も無い。

画像サイズはともあれ、表示はできたので今回はこの辺で。

TIPS・スクリーンショットの保存先

PrintScrボタンで撮れるスクリーンショット画像について、調べると /home/pi に保存されるとあって一生懸命「pi」フォルダを探していたが、「pi」フォルダは存在せず、いわゆるユーザー名フォルダのことを指していた。ラズパイ初心者なので、こういう機微がまだ分かっていない…。勉強になった。

*1:そもそもコマンドラインなどを知ってるひとでないと、こういう遊びに手を出さない、という説はある…。