OpenCVで画像を読み込む方法【Python】

OpenCVで画像を読み込む方法【Python】プログラミング
ゆうすけ
ゆうすけ

OpenCVで画像を読み込む方法が分かりません・・・

資格マフィア
資格マフィア

OpenCVライブラリのimread関数で画像を読み込むことができる。
コード付きで解説しよう。


✔️ 本記事のテーマ

OpenCVで画像を読み込む方法(コード付き)


✔️ 読者さんへの前置きメッセージ

結論から述べると、
以下の関数を使うことでOpenCVを使って、画像を読み込むことができます。

cv2.imread('画像パス')


本記事は「OpenCVで画像を読み込む方法」について書いています。

 

この記事を読むことで
「画像を読み込む方法 や cv2.imread関数の細かな設定」
を理解できるようになります。

 

OpenCVライブラリを使うことで、
いろいろな画像処理を簡単に行うことができます。

 

例えば、画像中から顔を検出してモザイクをかけるといったこともできます。

参考記事:OpenCVを使ってモザイク処理を行う【Python】

 

ただし、OpenCVライブラリでどのような画像処理を行うにしても、
まず画像を読み込んでデータ化する必要があります。

 

今回はそのような画像を読み込む方法を詳しく解説します。

 

OpenCVとは?

OpenCVとは?

OpenCV (Open Source Computer Vision Library) は、
画像処理に関する機能をまとめたライブラリです。

 

OpenCVは画像中から人の顔を検出したり、カラー画像を白黒画像に変換したり
とOpenCVにはとても多くの使い道があります。

 

なお、OpenCVライブラリの関数一覧と使い方については
【python】OpenCVの関数一覧と使い方」の記事で解説しています。

 

今では「画像処理」を用いたPythonプログラミングでは必ずと言っていいほど使用されるほどに、メジャーなライブラリです。

 

インストール自体も簡単なので、趣味や個人開発にもオススメです。

 

なお、OpenCVのインストールについては
【python】OpenCVのインストール方法」の記事で解説しています。

 

OSにもよりますが、3ステップほどでサクッとインストールすることができます。

 

OpenCVで画像を読み込む方法(コード付き)

OpenCVで画像を読み込む方法(コード付き)

OpenCVライブラリで画像を読み込む方法を解説します。

 

まず、今回のサンプルコードは以下のようになります。

# ライブラリのインポート
import cv2


# 画像の読み込み
img = cv2.imread('./lena.jpg')

 

順番に詳しく解説していきましょう。

 

関数の細かな設定なども合わせて解説していきます。

ライブラリのインポート

import cv2

OpenCVライブラリはPythonの標準ライブラリではありません。

 

そのため、プログラムの一番上でインポートすることで、
OpenCVライブラリを使えるようにしておきましょう。

 

なお、プログラムを実行した時にこの箇所でエラーが出る場合は、そもそもOpenCVライブラリのインストールが上手くできていない可能性があります。

 

OpenCVのインストールについては、
【python】OpenCVのインストール方法」の記事で解説しています。

 

エラーが出る場合は、一度、確認してみましょう。

画像の読み込み

img = cv2.imread('./lena.jpg')

この部分で、OpenCVライブラリで画像を読み込んでいます。

 

画像を読み込むには、cv2.imread関数を使います。

 

引数に画像パスを指定することで、対象の画像を読み込んでデータ化します。

 

これにより、OpenCVライブラリで画像処理を行うことができるようになります。

 

どのような処理であっても、画像の読み込みは必要になってくるので、覚えておきましょう。

 

OpenCVで画像を読み込むときの注意点

OpenCVで画像を読み込むときの注意点

画像を読み込むときはimread関数の引数として、画像パスを指定します。

 

当然ですが、この画像パスを間違っていると正しく処理が行えません。

 

ただし、少しややこしいのですが、
上記の場合でもこの関数ではエラーが発生しません。

 

画像パスが正しくないと、
imread関数の戻り値は「None」を返すので、
imread関数の処理としては通ります。

 

そして、後続の処理でその「None」に対して、
画像処理を実施しようとした時点でエラーが発生します。

 

このような処理の流れになるので、
エラー文などには後続の処理の部分が表示されてしまいます。

 

このように少し原因箇所の特定が難しくなる設計となっているので、
画像パスは正しいパスであることをちゃんと確認しましょう。

 

色々な方法で画像を読み込む(OpenCV)

色々な方法で画像を読み込む(OpenCV)

ここまではシンプルな画像の読み込みについて解説しました。


なお、imread関数では、さまざまな方法で画像を読み込むことができます。

 

img = cv2.imread('./lena.jpg')


このimread関数を使う箇所で以下のように、
第2引数を与えることで読み込み方法を指定することができます。

# グレースケール形式で読み込む
img = cv2.imread('./lena.jpg', cv2.IMREAD_GRAYSCALE)

# BGR 形式で読み込む(デフォルト)
img = cv2.imread('./lena.jpg', cv2.IMREAD_COLOR)

# 元データのまま読み込む
img = cv2.imread('./lena.jpg', cv2.IMREAD_UNCHANGED)

 

「cv2.IMREAD_GRAYSCALE」を指定することで、グレースケールとして画像を読み込みます。


「cv2.IMREAD_COLOR」を指定することで、BGR形式で画像を読み込みます。この引数がデフォルト値になっているので、特に引数を指定しない場合は、この形式で画像を読み込みます。


「cv2.IMREAD_UNCHANGED」を指定することで、アルファチャンネルも含めた元画像のまま読み込みます。ただし、OpenCVライブラリで画像処理を行う際は、この形式は基本的にサポートされていないので気をつけましょう。

 

OpenCVの「画像の読み込み」はどのような場面で使う?

OpenCVの「画像の読み込み」はどのような場面で使う?

基本的に、OpenCVの処理の流れとしては

  1. cv2.imread関数で画像を読み込む
  2. 画像処理をする
  3. cv2.imwrite関数で画像処理をした画像を保存する

という流れになります。

 

このように、Pythonで画像処理を行う上で、
OpenCVで画像をデータ化するという処理は欠かすことができません。

 

cv2.imread関数は使用頻度も高いので、覚えておきましょう。

 

なお、画像保存する方法については、
OpenCVで画像を保存する方法【Python】」の記事で解説しています。

 

OpenCVやPythonについてもっとスキルをつけるなら

OpenCVやPythonについてもっとスキルをつけるなら

今回はOpenCVを使って画像を読み込む方法について解説しました。

 

OpenCVは今回解説した機能以外にも多くの便利な機能があり、
マスターすれば非常に強い武器になるでしょう。

 

OpenCVについてスキルをつけるならUdemyの教材がオススメです。

>> 【Pythonで学ぶ】OpenCVでの画像処理入門

 

Udemyは買い切りの動画学習サービスです。
一度購入してしまえば、その教材はずっと使うことができます。

 

さらに今なら30日間返金保証がついているので、
一度購入して自分の思っていたものと違った場合は費用がかかりません。

 

上記の教材はOpenCVの知識がない人でもゼロから実用的なレベルのOpenCVスキルを習得できます。
その教材の質の高さから1000件近い購入数にも関わらず、4以上の評価を維持しています。

 

また、Pythonについて基礎から学ぶのであれば、オンラインスクールがオススメです。

 

オンラインスクールで学習すると、講義も分かりやすく、
サポート体制もしっかりしているので、これからPythonを学ぶ人にもオススメです。

 

オンラインで無料レッスンを体験することもできるので、
自分にあっているかどうかを確かめることができます。

 

オススメは以下の3つです。
どのスクールも無料体験が用意されているので、
契約前に自分に最適なスクールを探すことができるでしょう。

✔️オススメのプログラミングスクール ベスト3

プログラミングスクールについては「プログラミングスクールで失敗しないためには【オススメベスト3も紹介】」の記事でも紹介しています。

 

気になった方はぜひチェックしてみて下さい〜!

コメント

タイトルとURLをコピーしました