2017年4月13日 更新

NumPyで画像処理 その①

Pythonで画像を操作する方法を簡単に解説しています。

1,070 view お気に入り 0

NumPyとは?

こんにちは、望月優輝です。
今回はPythonのNumPyを使った画像処理を紹介していきたいと思います。
NumPyは、プログラミング言語Pythonにおいて数値計算を効率的に行うための拡張モジュールである。効率的な数値計算を行うための型付きの多次元配列(例えばベクトルや行列などを表現できる)のサポートをPythonに加えるとともに、それらを操作するための大規模な高水準の数学関数ライブラリを提供する。
すなわち、行列を扱うのに便利なライブラリです。画像も縦横の升目に値が格納される行列として表現されるため、NumPyを使うといろいろ便利なことがあります。

どんなことができるのか??

NumPyには実に様々な機能が実装されています。その中の一例を紹介していくことにします。なお、以下のコードを実行するためには、OpenCVとNumPy、matplotlibがインストールされている必要があります。
Free photo: Animal, Attractive, Beautiful, Boy - Free Image on Pixabay - 1238228 (3619)

このネズミの画像を使っていくことにします。

まずは画像を表示するだけのコードです

OpenCVのimread関数で画像を読み込んだ場合、NumPyが使われて情報が保持されます。
今回はグレースケールで画像を読み込みます。imread関数の第二引数に0を指定することでグレースケールで読み込まれます。
import cv2
import numpy as np
import matplotlib.pyplot as plt

img = cv2.imread('001.jpg' ,0)
plt.imshow(img)
plt.colorbar()
plt.show()
plot.py
 (3622)

matplotlibでグレースケール画像を描画させると、自動的に疑似カラーで描画してくれます。この場合、明るいところが赤く、暗いところが青く表示されていることがわかりますね。カラーバーはplt.colorbar()の部分で描画することを指定しています。

OpenCV関数を使わずに、NumPyで背景マスクをしてみる

30 件

関連する記事 こんな記事も人気です♪

MacユーザーのためのPythonでOpenCVを使うための開発環境

MacユーザーのためのPythonでOpenCVを使うための開発環境

Anacondaを使って、PythonでOpenCVを使えるようにする設定を一通りやります。 これをやっておけば、今後の画像処理・機械学習のプログラムを動かす敷居が低くなっています
小沼 塁 | 66 view
Deep learningで画像認識⑧〜Kerasで畳み込みニューラルネットワーク vol.4〜

Deep learningで画像認識⑧〜Kerasで畳み込みニューラルネットワーク vol.4〜

転移学習と呼ばれる学習済みのモデルを利用する手法を用いて白血球の顕微鏡画像を分類してみます。
木田智士 | 1,574 view
Deep learningで画像認識⑦〜Kerasで畳み込みニューラルネットワーク vol.3〜

Deep learningで画像認識⑦〜Kerasで畳み込みニューラルネットワーク vol.3〜

Kerasと呼ばれるDeep Learingのライブラリを使って、白血球の顕微鏡画像を分類してみます。
木田智士 | 3,257 view
Deep learningで画像認識⑥〜Kerasで畳み込みニューラルネットワーク vol.2〜

Deep learningで画像認識⑥〜Kerasで畳み込みニューラルネットワーク vol.2〜

Kerasと呼ばれるDeep Learingのライブラリを使って、文字認識を行ってみます。
木田智士 | 1,626 view
シリーズ6.マクロ言語を使った画像処理の応用編~ノイズ軽減① 空間フィルタ処理~

シリーズ6.マクロ言語を使った画像処理の応用編~ノイズ軽減① 空間フィルタ処理~

【記事の目標】 画像を触ったことがない人を対象として、適切な画像解析を施すまでのImageJのマクロ言語を用いた学習過程を示す。 今回の記事から応用編としてさらに詳しく画像処理を学んでいきます。最初のテーマはノイズ軽減です。
柏崎広美 | 641 view

この記事のキーワード

この記事のキュレーター

望月 優輝 望月 優輝