こちらはOS毎の記事への目次です。そのうち Python 3.8 系対応記事にしたいところ。
想定する運用スタイル
-
wxPython が使えない場合は Tkinter や PyQt、Kivy 等を利用する。
-
Webcam を USB 接続し OpenCV から利用する。
-
ARM 系ハードでは内蔵カメラの利用も考慮する。
-
異なるプラットフォーム / OS における作業手順を出来るだけ統一化する。1
-
ソースコードからのビルドは configure, make, make install、もしくは cmake, ninja, ninja install のような、UNIX 系 OS の作法で行えるよう工夫する。
-
Python 向けパッケージは pip + venv で管理する。
※ インストール済みの Python パッケージ全てのアップグレードについては以下を参照下さい。
How to upgrade all Python packages with pip? - Stack Overflow
x86-64アーキテクチャ
Windows
Windows10+Python3.7.x+OpenCV-Python4.1.x+wxPython4.0.x/PyQt5/Tkinter+USBWebcamの環境構築例
Linux
Kubuntu_18.04LTS+OpenCV4.1.x+wxPython4.0.6+USBWebcamの環境構築例(工事中)
CentOS_7+Python3.7.x+OpenCV4.1.x+wxPython4.0.6+USBWebcamの環境構築例(工事中)
Slackware_14.2+Python3.7.x+OpenCV4.1.x+wxPython4.0.6+USBWebcamの環境構築例
Manjaro-KDE+Python3.7.x+OpenCV4.1.x+wxPython4.0.x+USBWebcamの環境構築例
Sabayon-KDE+Python3.7.x+OpenCV4.1.x+wxPython4.0.x+USBWebcamの環境構築例
MacOS
MacOSCatalina+Python3.7.x+OpenCV4.1.x+wxPython4.0.x+USBWebcamの環境構築例
※ Catalina に標準搭載の Python 3.7.3 から venv を用いることで仮想環境内に pip で簡単に opencv-python と wxPython を導入可能でした。
※ 一方で wxPython をソースからビルドしようとして苦戦中です。なお、OpenCV 及び wxWidgets のビルドは問題ありませんでした。
FreeBSD
Project Trident+Python2.7.x+OpenCV3.x+wxPython3.xの環境構築例(工事中)
※ OpenCV 4.x 系のビルドが通らない上に、3.x 系に FreeBSD の Ports の Patch を当ててもPython3.x系向けのバインディングが上手く動作しない状況です。そこで、代替案として Linux バイナリ互換機能を用いたアプローチを検討中です。
Haiku
Haiku+wxQt+wxPython+OpenCV+USBWebcamの環境構築例(計画中)
※ USBカメラ、繋がるんだろうか?
Hurd(x86)
ArchHurd/DebianGNUHurd+Python3.7.x+OpenCV4.1.x+wxPython4.0.6+USBWebcamの環境構築例(計画中)
※ 目指すは Hurd 1.0 リリース前の記事完成。
※ Hurd ディストリだと Debian GNU/Hurd が老舗かな?現在はDebian GNU/Hurd 2019 がリリースされているそうです。
※ ArchHurd 復活おめでとうございます。
※ USBカメラ、繋がるんだろうか?
ReactOS(x86)
計画中。本格始動は実機で WebCam を繋げつつ OS を安定して動かせるようになってから。
最近の Microsoft はかなりオープンソース寄りであることだし、折角だから、ReactOS Project に色々 Donation してくれないかな?
Docker
Docker+Python3.7.x+OpenCV4.1.x+wxPython4.0.xの環境構築例(工事中)
Debian と Arch を Docker イメージとして利用。ホスト OS は Windows10 or MacOSCatalina or FreeBSD(NomadBSD/GhostBSD) or Linux(Ubuntu/CentOS/Zenwalk/Manjaro/Sabayon)
Vagrant
Docker+Python3.7.x+OpenCV4.1.x+wxPython4.0.xの環境構築例(工事中)
Debian と Arch をゲスト OS として環境構築。ホスト OS は Windows10 or MacOSCatalina or Linux(Ubuntu/CentOS/Zenwalk/Manjaro/Sabayon) + VirtualBox + VirtualBox Extension Pack。
※ VirtualBox Extension Pack によって、USB 2.0 及び 3.0 のサポートや WebCam 連携機能の強化が期待出来ます。
ARMアーキテクチャ
iOS
iOS+Python3.x+Kivy+OpenCV+内蔵カメラの環境構築例(計画中)
Android
Android+Python3.x+Kivy+OpenCV+内蔵カメラの環境構築例(計画中)
LineageOS+Raspberry Pi
計画中。Android で出来ることは LineageOS でも普通に出来そうではある。
Windows 10 IoT Core+Raspberry Pi
計画中。このあたりやこのあたりを参照しつつ挑戦してみたい。OpenCV と Python と WebCam が動けば色々楽しそう。
Raspbian
Raspbian+Python3.7.x+OpenCV4.1.x+wxPython4.0.x/Kivy+内蔵カメラ/USBWebcam の環境構築例(工事中)
※ ほぼ Debian なので Raspbian 向けの記事はそのまま Debian や Devuan に流用可能と思われます。
※ ソースコードのビルドを行う場合は相応に時間が必要とはいえ、コンパイルもアプリ開発も Raspbian 上で x86-64 環境と変わらない使い勝手で行えるのは便利です。
※ USB 接続のカメラからの描画が崩れる場合、OpenCV を WITH_QT=ON でビルドすることで問題を回避可能でした。
-
構築予定の環境の構成によっては Ansible も有用と思われる。参考文献:Ansibleをはじめる人に。- Qiita ↩