PythonとOpenCVで画像をグレースケールに変換してみた

PythonとOpenCVを使って、jpeg画像をグレースケールに変換してみました。

目次

  1. 手順
  2. cvtColor()関数
  3. 試してみた

手順

至って単純です。

  1. 画像をファイルから読み込み。

  2. グレースケールに変換。

  3. 変換した画像を保存。

cvtColor()関数

イメージの色空間を変換します。

dst = cv2.cvtColor(src, code)

変数

説明

dst

numpy.ndarray

変換後のイメージ。

src

numpy.ndarray

変換前のイメージ。

code

列挙型

変換内容を示す列挙型の値。

何から何に変換するかは、codeのところで指定します。

グレースケールの場合はcv2.COLOR_RGB2GRAYです。いくつか種類があります。

試してみた

こういう画像を、グレースケールに変換してみました。

image0

コードはこんな感じです。

import cv2

img = cv2.imread('original.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
cv2.imwrite('gray.jpg',gray)

cv2がopencv-pythonのモジュールです。cv2ですが、OpenCVのバージョンは3.xだったりします。

できあがったファイルはこんな感じです。

image1

試した環境は、Python3.6、opencv-python3.3.0.10です。

公開日

広告