Pythonスキルの習得

Pythonで画像処理を初めよう! OpenCV 入門

Pythonで画像処理を初めよう! OpenCV 入門

こんにちは、Zero-Cheeseです。

本記事では

  • なぜ画像ライブラリとして、OpenCVが使われるのか
  • OpenCVのインストール方法(Windows、Mac、Ubuntu対応)
  • OpenCVの使い方(入門部分の紹介)

を紹介します。

  • 「プログラムにより画像処理をしたいけど、何から手を出したらいいか分からない・・」
  • 「色々なライブラリがあるけど、どれがいいの?」
  • 「これから、OpenCVの勉強をしたい!!」

と思っている方を対象にしております。

画像処理(認識を含む)はディープラーニングをはじめ、様々な分野で使用されており、魅力のある技術になっています。

たとえば、画像処理で遊ぶと、こんな事ができたりします。(下図は、あくまでも、人形を狙ってます!!)

機械学習で処理する際も、「OpenCV」を多々、使用します。

使い方を知っておくと、強力な武器になります。

なぜ、OpenCVが選ばれるのか?

OpenCVは、1981年にIntelが開発を始め、現在は様々な機関が共調して開発を行っている、無償のオープンソース映像 / 画像処理ライブラリ集です。

OpenCVには以下のようなメリットがあります。

  • 無料(BSDライセンス 詳細情報は、GitHubのリポジトリをご覧下さい。一部だけ特許化されているので注意が必要。)
  • Pythonからの画像処理に関わらず、高速で処理できる(PythonからOpenCVを使用しても、バッググラウンドで「C++」が走っている。)
  • 画像処理の機能が豊富(物体検出まで有り)
  • 動画も扱える
  • このライブラリのみで、GUIを作れる
  • Pythonで使用する場合は、データサイエンス系では必須のNumpyが、そのまま使える。

「Pillow」との違い

Pillowは、単なる画像処理ライブラリであるのに対し、OpenCVは「コンピュータビジョン」のライブラリです。

「コンピュータビジョン」というのは、「コンピュータを用いた視覚の実現」を研究する学術分野です。

よって両者は似た機能もありますが、「OpenCV」はそれに加えて、「物事を見て認識しよう」という機能が多分に含まれています。

OpenCVのインストール方法

Windows、Mac、Ubuntu の順番で紹介します。

「OpenCV」のインストール前に、「Python」のインストールは完了させておいて下さい

「Python」のインストールに関しては、下記記事にてご紹介しています。

Pythonの導入方法(環境構築)
Pythonの導入方法(環境構築)PythonとIDE(総合開発環境)のインストール方法を紹介しました。Windows、Mac両方を解説しています。プログラムの楽しい世界を、ちょっとだけ覗いてみようという企画記事の一環です。...

OpenCVをWIndowsへインストールする方法

「コマンドプロンプト」、もしくは「PowerShell」を開きます。

pipでのインストールが可能です。

まずは、pipを最新バージョンにした上、OpenCVをインストールします。

pip install -U pip
pip install opencv-python

OpenCVをMacへインストールする方法

「Homebrew」を使用して、簡単にインストールする事が可能です。

brew install opencv

その後に、pipにてインストールします。

下記コードでは、最初にpipを最新版にしてから、インストールしています。

# pipを最新版に更新
pip install -U pip

# opencvをインストール
pip install opencv-python

OpenCVをUbuntuへインストールする方法

aptとpipを使用いたします。

# aptをアップデート
sudo apt -y update
# pipを最新版に更新
pip install -U pip

# OpenCVをインストール
sudo apt -y install libopencv-dev opencv-data
sudo pip install opencv-python

【全OS対象】OpenCVがインストールできたかを確認する

  • Windowsの場合:「コマンドプロンプト」、もしくは「PowerShell」
  • Mac、Ubuntuの場合:「ターミナル」

から操作します。

まずは、python(python3の場合も有)と打ち込み、対話型シェル画面に入ります。

下記コマンドを打ち込んで、「エラーメッセージ」が出なければ、大丈夫です。

import cv2

「エラーメッセージ」が出る方へ

OpenCVをインストールした、コマンドプロンプト(ターミナル)を1回閉じて下さい。

再立上げ後、「pytnon起動 → import cv2」を入力してさい。

うまくいく場合があります。

OpenCVのコード紹介(入門部分)

画像ファイル、動画ファイルを読み込んで、ウインドウに表示するコードをご紹介します。

そのレベル以上のコードは、次回の記事にてご紹介します。

画像ファイルを読込んで、GUI表示させるためのコード

コード

スクリプトと、画像ファイルが同じフォルダ下にある場合のコードになっています。

(異なる場合は、画像ファイルのパスを修正して下さい。)

import cv2

# 画像ファイルの読込み
# (画像ファイルを用意して下さい。)
img = cv2.imread('test_img.jpg')

# GUIに表示
cv2.imshow('img', img)
# GUI上で何かキーをおすと、ウインドウが消える
cv2.waitKey(0)
cv2.destroyAllWindows()

実行結果

動画ファイルを読み込んで、GUI表示させるためのコード

コード

こちらも、スクリプトと動画ファイルが同じフォルダ下にある場合のコードになっています。

(異なる場合は、動画ファイルのパスを修正して下さい。)

import cv2

# 動画ファイルの読込み
# (動画ファイルを用意して下さい。)
cap = cv2.VideoCapture('test_movie.mp4')

# 動画終了まで、1フレームずつ読み込んで表示する。
while(cap.isOpened()):
    # 1フレーム毎 読込み
    ret, frame = cap.read()

    # GUIに表示
    cv2.imshow("Movie", frame)
    # qキーが押されたら途中終了
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 終了処理
cap.release()
cv2.destroyAllWindows()

実行結果

実行結果は省略します。

ウィンドウが立ち上がり、動画が流れます。

次回の記事にて

次回の記事にて、OpenCVで頻繁に使われるコードを、厳選してご紹介します。

記事が完成できれば、本記事からもアクセスできるよう、リンクを貼るようにします。

それではまた、お会いしましょう!