スクリプトのお勉強

WSL2にOpenCV + Pythonをインストールする

投稿日:

お手軽にやろうと思ってやってみました。作業手順自体を見ると、お手軽ではないかもしれません。

環境

インストールする/した環境は以下の通りです。

  • WSL2
  • Ubuntu 20.04.2 LTS
  • Python 3.8.10
    • aptでインストールしたもの
  • OpenCV 4.5.5

公式をみながら

以下の公式を見ながらインストールしました。

https://docs.opencv.org/4.5.5/d7/d9f/tutorial_linux_install.html

具体的手順

具体的には以下です。

### Python3系
$ sudo apt install python-dev python-numpy python3-dev python3-numpy
$ sudo apt install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev libgtkglext1 libgtkglext1-dev
$ sudo apt update && sudo apt install -y cmake g++ wget unzip
### Download and unpack sources
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
$ unzip opencv.zip
### Create build directory
$ mkdir -p build && cd build
### Configure
$ cmake  ../opencv-4.x
### Build
$ cmake --build .
### Install
$ sudo make install
...
-- Installing: /usr/local/lib/python3.8/site-packages/cv2/utils/__init__.py
-- Installing: /usr/local/lib/python3.8/site-packages/cv2/gapi/__init__.py
-- Installing: /usr/local/lib/python3.8/site-packages/cv2/python-3.8/cv2.cpython-38-x86_64-linux-gnu.so

動作確認

import cv2してエラーが出なければインストールできています。

$ portry init .
$ poetry add opencv-python
$ poetry run python
> import cv
>

おわりに

上記の手順で何も止まることはありませんでした。手順は多いですが、比較的簡単です。

これで何かしてみようと思います。いまはやりの(?)ピクセルアートでも作ってみようと思います。

参考文献

  • https://qiita.com/kekenonono/items/031a3b41d6adb4c3e876
    WSL2 + ubuntu18で参考になった

-スクリプトのお勉強
-

執筆者:

関連記事

Pythonからsvnしてみる

SVN: レガシーシステムの一つ。。 私の関わってるシステムでは、いまだにsvnレポジトリがあります。pythonで処理する必要性が生じましたが、そういえばどう処理していいもんか、完全に忘れました。 …

fastapi + SQLAlchemy で CRUDアプリケーションを作ってみる

概要 勉強用に、PythonでPostgresqlを制御しようと思います。の続きです。 前回でPostgreSQLと、データベース/テーブルまでは用意したので、今回はAPIを作成しようと思います。 実 …

Django2.2 でのMySQL5.1対応

「対応」と書きながら、思い切り回避ですが。 マイグレーション時のエラー マイグレーションしたら、以下のエラーになりました。 $ pipenv run python3 manage.py migrate …

Python3 – django-webtest

忙しいので断片だけ。。 DjangoでWebブラウザからアクセスする感じでテストする、やり方の一つです。以前にやったように、 Seleniumからやってもいいのすが、そこまでじゃない場合の単体テスト方 …

小ネタ: Python のdataclass でNone or “”を使わないJSONデータを定義する

PythonをREST APIのクライアントとして作成する際、dataclassesを使用しようと思いました。型が見た瞬間分かるし、しっかりしているからです。 でも、そのREST API は&#822 …

google オプトアウト Click here to opt-out.