スクリプトのお勉強

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で参考になった

-スクリプトのお勉強
-

執筆者:

関連記事

Vue.jsをbetter jQueryとして使う!FastAPI+Vue.jsと生成AIで作る住所録アプリ

昔あるところに。。 昔、jquery全盛で、Vue.jsが出てきたすぐに「これはjqueryを駆逐できるかも」と思ってjqueryの実装をVue.jsに変えようとしたことがあります。 結局全部を変えた …

Python3でMongoDBを使ってみる(MongoEngine)

仕事している過程で、ふと疑問に思うことがありました。非同期についてです。 非同期問題を解決する方法はたくさんあると思いますが、MongoDBで解決できるのかが気になったので試してみました。 非同期問題 …

(小ネタ) Reflex (Python) にてタブ形式のlinkを設定する

小ネタですが書いておきます。 Reflex とは、は割愛 前回に書いたので割愛します。 使い始めてみた 感想は後日、ということで 本題、タブ形式のlinkメニュー たいていのUIコンポーネントにはタブ …

Reflex(Python) をSQLite + ログイン機能付きで使ってみる

2024年現在のWebアプリ作成方法の一つとして、「PythonだけでWebアプリを完結する」作り方があります。 その一つとしてReflexというのがあります。 Reflexとは PythonのWeb …

Nuxt.jsのFormで入力/確認/完了フォームを作成してみた(その2)

前回の記事の続きです。以下について書いていきます。この記事で終わりのはず? バリデーション機能(主にIPアドレスのバリデーション追加)画面 バリデーション機能 バリデーション機能は、vee-valid …

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