2017年7月5日 更新

現役JDと学ぶ画像処理入門①〜openCV入門〜

openCV入門(画像の読み込み、表示、保存、線形変換、拡大縮小)

10,079 view お気に入り 1
初めまして!東京大学理科三類1年の広部ゆりかです。
好きな食べ物はチョコとラーメン、嫌いな食べ物は味噌汁、マイブームはメンズピアスを眺めることです。
只今機械学習の勉強をしておりまして、ご縁があってIMACEL Academyを運営なさっているLPixel様でインターンをさせて頂けることになり、ここで記事を書かせて頂けることになりました!
まだまだひよっこですがどんどん勉強して記事を更新していこうと思うのでよろしくお願いします!
さて、そんな私の記念すべき第1回目の記事では、オープンソースのコンピューター・ビジョン・ライブラリであるopenCV (http://opencv.org/) の基本的な使い方を説明していきたいと思います。
使用言語はpyhtonで、numpyやmatplotlibなどのライブラリを使っていきます。
openCVのインストール方法についてはIMACEL Academyの記事でもやり方がまとめられていたので、インストールは完了済みという前提で話を進めていこうと思います。

目次

今回は以下のような基本的な操作についてまとめます。

  ①画像の読み込み&表示&保存
  ②アフィン変換による画像の平行移動&回転移動
  ③resizeメソッドを用いた画像の拡大&縮小

①画像の読み込み&表示&保存

Lenna

Lenna

今日はこの子!色々なところで使われちゃっているLennaちゃんの画像を使って遊んでいきたいと思います!どうせなら可愛い子の写真を使った方が楽しいですもんね!
まずは必要なライブラリをインポートします。
import cv2
import numpy as np    #画像の情報が収められたarrayをいじるためにnumpyを用いる。
from matplotlib import pyplot as plt    #画像の表示に用いる。
%matplotlib inline
import.py

画像を読み込みます

image = cv2.imread('Lenna.jpg')
imread.py

ここでimreadの二つ目の変数に1を入れるとカラー(デフォルト、アルファチャンネルは読み込めない)、0を入れるとグレースケール、-1を入れるとアルファチャンネル込みのそのままの画像が読み込めるみたいです。

image.shape
shape.py
次に上のようにすると、(773, 2890, 3)などと出力され、読み込まれたイメージがndarray(縦、横、channel(RGB,色相のこと))で格納されていることが分かります。つまりこれから画像に処理を行いたい時は、このndarrayの数値をいじっていくことになります。
53 件

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

Pythonで画像処理① マスク処理

Pythonで画像処理① マスク処理

Pythonで画像を操作する方法を簡単に解説しています。
望月 優輝 | 4,435 view
5秒でOpenCVのインストールする (Windows, Mac, Linux)

5秒でOpenCVのインストールする (Windows, Mac, Linux)

pipでOpenCVが利用可能になり、今までの面倒な処理が一切不要になりました。
北村 旭 | 268 view
Kaggleで使われている略語リスト

Kaggleで使われている略語リスト

機械学習のサイトKaggle で使われている略語をまとめました. 画像は[https://static1.squarespace.com/static/58a3826fd2b857e5fe09f025/58ac6a226b8f5b3bdce84c5a/58d04a9246c3c4a6bd5ab664/1490045642866/Kaggle+Workshop.png?format=1500w]から引用
Takumi Ihara | 43 view
Pythonで画像処理② Data Augmentation (画像の水増し)

Pythonで画像処理② Data Augmentation (画像の水増し)

画像の水増し、Data Augmentationと呼ばれる方法になりますが、学習に使う画像に変形を加えたり、ノイズを加えたり、明るさを変えたりといった処理を行う方法を紹介します。学習画像に様々な処理を行うことで認識がロバストになるというメリットがあります。
望月 優輝 | 1,713 view
Deep learningで画像認識⑩〜Kerasで畳み込みニューラルネットワーク vol.6〜

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

U-Netと呼ばれるU字型の畳み込みニューラルネットワークを用いて、MRI画像から肝臓の領域抽出を行ってみます。
木田智士 | 1,947 view

この記事のキーワード

この記事のキュレーター

広部ゆりか 広部ゆりか