LoginSignup
1
1

More than 3 years have passed since last update.

Python3.7.x+OpenCV4.1.x+wxPython4.0.x+USBWebcamのクロスプラットフォームな環境構築事例集

Last updated at Posted at 2019-10-26

こちらはOS毎の記事への目次です。そのうち Python 3.8 系対応記事にしたいところ。

想定する運用スタイル

  • OpenCV を利用する GUI アプリケーションを wxPython により構築する。

    • 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の環境構築例(工事中)
DebianArch を 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の環境構築例(工事中)

DebianArch をゲスト 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 でビルドすることで問題を回避可能でした。


  1. 構築予定の環境の構成によっては Ansible も有用と思われる。参考文献:Ansibleをはじめる人に。- Qiita 

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1