スポンサーリンク
はじめに
Anaconda 環境に OpenCV をインストールする手順を解説します。
Anaconda 本体はインストールされている前提で話が進みます。もしインストールされていなければ、以下の記事を参考にインストールしてください。
【関連記事】
▶Anacondaのインストール (Mac OS編)
今回 OpenCV をインストールするのに使用した環境は次のとおり。
ツール | バージョン |
---|---|
Anaconda | 4.8.2 |
Python | 3.9 |
環境の作成
conda create
で OpenCV をインストールする環境を「py39」という名前で作ります。
conda create -n py39 python=3.9
作成した環境をアクティブにします。
conda activate py39
OpenCVのインストール
上で作った環境に OpenCV をインストールします。
OpenCV のインストールは次のコマンドを使用します。
conda install opencv
また、画像やデータを視覚的に表示するライブラリの Matplotlib インストールします。
conda install matplotlib
インストールの確認
インストールが完了したら、OpenCV のモジュールを Python から読み込めるか確認しておきます。Python を対話モードで起動して、以下の import cv2
と cv2.__version__
の2行を入力します。
(py39) $ python3.9
Python 3.9.6 (default, Aug 18 2021, 12:38:10)
[Clang 10.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'4.5.3'
>>>
上の結果のように、OpenCV のバージョンが表示されていれば OK です。
スポンサーリンク
VSCode + Jupyter 拡張機能の準備
今回は、VSCode 拡張機能の Jupyter を使って OpenCV で画像処理を行っていきたいと思います。この拡張機能を入れると、VSCode 上で Jupyter Notebook が使えるので、普段から VSCode を使っている人にオススメです。
VSCode のインストール
VSCode のインストール方法は… ってのは説明不要だと思いますので、普通にダウンロードして入れておきましょう。
拡張機能 Jupyter のインストール
拡張機能 Jupyter は、VS Code の拡張機能の画面で、検索窓に「Jupyter」と入力すれば検索結果の先頭に出てきます。
インストールしたらコマンドパレットを開き、検索窓に「Jupyter」と入力し、出てきた候補から「Jupyter: Create New Blank Notebook」を選択します。
次に、使用する Python の環境を聞かれたら、OpenCV をインストールした環境を選択します。
今回は「py39」という名前でAnacondaの環境を作ったので、そいつを選択します。
画像処理を試してみよう
OpenCV で簡単な画像処理をやってみましょう。
読み込む画像の準備
まず、画像の準備をします。今回は Linux ペンギンくんのロゴを使って OpenCV の画像処理を試してみます。
Linux ペンギンくんの画像は、以下の素材サイトからダウンロードできます。
画像を表示する
OpenCV の感触を掴むために、単純に画像を表示する処理を OpenCV を使って書きます。
最初は OpenCV と Matplotlib が Python のコード上から使えるようにインポートします。
import cv2
import matplotlib.pyplot as plt
cv2.imread
関数で画像ファイルを読み込みます。Linux ペンギンくんの画像をダウンロードしたパスを指定しましょう。この関数は画像のパスが間違っていてもエラーにはならず、後続の処理が実行されるので注意しましょう。
img = cv2.imread('/path/to/linux.jpg') #画像の読み込み
OpenCV では色の並びは BGR ですが、Matplotlib では RGB を前提に画像の表示を行うため、cv2.cvtColor
関数で BGR → RGB への変換を行い、最後に画像を表示します。
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) #BGR -> RGB変換
plt.imshow(img_rgb)
色の変換
ただ、画像を表示するだけでは面白くないので、画像をグレースケールに変換して表示してみます。グレースケールへの変更は cv2.cvtColor
に cv2.COLOR_BGR2GRAY
スイッチを指定します。
glay = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #グレースケール変換
コードの挿入位置と、実行結果は次のとおり。
画像の保存
画像を保存する時は、cv2.imwrite
関数を使用します。1つ目の引数に保存先、2つ目の引数には保存する画像データを指定します。
上でグレースケールに変換した Linux ペンギンくんを保存する場合は、次のようになります。
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #グレースケール変換
cv2.imwrite('/path/to/linux_glay.jpg', gray) #画像を保存
スポンサーリンク
補足
OpenCV が対応している画像フォーマット
公式にも書かれているが、imread
関数で読み込めるが画像のフォーマットは次のとおりとなっている。普段よく使う画像フォーマットをはカバーされているが、gif
には対応していないようだ。
- Windows bitmaps - *.bmp, *.dib (always supported)
- JPEG files - *.jpeg, *.jpg, *.jpe (see the _Note_ section)
- JPEG 2000 files - *.jp2 (see the _Note_ section)
- Portable Network Graphics - *.png (see the _Note_ section)
- WebP - *.webp (see the _Note_ section)
- Portable image format - *.pbm, *.pgm, *.ppm *.pxm, *.pnm (always supported)
- PFM files - *.pfm (see the _Note_ section)
- Sun rasters - *.sr, *.ras (always supported)
- TIFF files - *.tiff, *.tif (see the _Note_ section)
- OpenEXR Image files - *.exr (see the _Note_ section)
- Radiance HDR - *.hdr, *.pic (always supported)
- Raster and Vector geospatial data supported by GDAL (see the _Note_ section)
Currently, the following file formats are supported:
まとめ
Anaconda 環境に、OpenCV をインストールする方法から、簡単な使い方を紹介してきました。
OpenCV は、簡単な画像処理から、顔認識などの複雑な機械学習の分野でも使われるライブラリなので、是非とも覚えておきたいところです。
0 件のコメント:
コメントを投稿