とある変人のお道具箱

技術系のことにについて幅広く触れていくブログです

OpenCVで画像の読み込みと保存をする

目的

OpenCVを使って画像処理や画像認識、学習をしようと思ったとしても、最初に画像を読み込むことができなければ、なにを始めることもできない。
ということで、最初の基礎の基礎である画像の読み込みと保存のやり方を説明する。
   

   

画像の読み込み

画像を読み込むにはcv2.imread()という関数を使用する。
ちなみに引数はcv2.imread(path,option)で、

pathには

目的の画像が作業ディレクトリ内にある場合はファイル名のみの指定で、そうでない場合は絶対パスまたは相対パスで指定する。

optionには
  • IMREAD_COLOR:カラー画像で読み込む
  • IMREAD_GRAYSCALE:グレースケール画像で読み込む
  • IMREAD_UNCHANGED:アルファ・チャネルも含めた画像として読み込む

の3パターンで指定することができる。
また、上のフラグで指定する以外にも順に1,0,-1と数字で指定することもできる。
    

画像の読み込みのサンプルプログラム

ここでは、作業ディレクトリと同じ階層にあるSample_image.pngという画像を読み込む処理を紹介する。

import numpy
import cv2

img_color = cv2.imread("Sample_image.png")
img_gray = cv2.imread("Sample_image.png",0)

   

画像の保存

画像を読み込むにはcv2.imwrite()という関数を使用する。
ちなみに引数はcv2.imread(path,img)で、

pathには

保存したい名前を指定する。
ファイル名の拡張子で保存形式が選ばれるため、拡張子をつけて保存しなければならない。

imgには

保存したい画像を指定する。
   

画像の保存のサンプルプログラム

ここでは、変数sample_imgに代入されているデータをpng形式で作業ディレクトリにSample_save.pngという名前で保存する処理を紹介する。

import numpy 
import cv2

sample_img = imread("Sample_image.png",0)   #Sample_image.pngをグレースケールで読み込み
cv2.imwrite("Sample_save.png",sample_img)