こんにちは、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」のインストールに関しては、下記記事にてご紹介しています。
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で頻繁に使われるコードを、厳選してご紹介します。
記事が完成できれば、本記事からもアクセスできるよう、リンクを貼るようにします。
それではまた、お会いしましょう!