OpenCVで画像を読み込む方法が分かりません・・・
OpenCVライブラリのimread関数で画像を読み込むことができる。
コード付きで解説しよう。
✔️ 本記事のテーマ
OpenCVで画像を読み込む方法(コード付き)
✔️ 読者さんへの前置きメッセージ
結論から述べると、
以下の関数を使うことでOpenCVを使って、画像を読み込むことができます。
cv2.imread('画像パス')
本記事は「OpenCVで画像を読み込む方法」について書いています。
この記事を読むことで
「画像を読み込む方法 や cv2.imread関数の細かな設定」
を理解できるようになります。
OpenCVライブラリを使うことで、
いろいろな画像処理を簡単に行うことができます。
例えば、画像中から顔を検出してモザイクをかけるといったこともできます。
参考記事:OpenCVを使ってモザイク処理を行う【Python】
ただし、OpenCVライブラリでどのような画像処理を行うにしても、
まず画像を読み込んでデータ化する必要があります。
今回はそのような画像を読み込む方法を詳しく解説します。
OpenCVとは?
OpenCV (Open Source Computer Vision Library) は、
画像処理に関する機能をまとめたライブラリです。
OpenCVは画像中から人の顔を検出したり、カラー画像を白黒画像に変換したり
とOpenCVにはとても多くの使い道があります。
なお、OpenCVライブラリの関数一覧と使い方については
「【python】OpenCVの関数一覧と使い方」の記事で解説しています。
今では「画像処理」を用いたPythonプログラミングでは必ずと言っていいほど使用されるほどに、メジャーなライブラリです。
インストール自体も簡単なので、趣味や個人開発にもオススメです。
なお、OpenCVのインストールについては
「【python】OpenCVのインストール方法」の記事で解説しています。
OSにもよりますが、3ステップほどでサクッとインストールすることができます。
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で画像を読み込むときの注意点
画像を読み込むときはimread関数の引数として、画像パスを指定します。
当然ですが、この画像パスを間違っていると正しく処理が行えません。
ただし、少しややこしいのですが、
上記の場合でもこの関数ではエラーが発生しません。
画像パスが正しくないと、
imread関数の戻り値は「None」を返すので、
imread関数の処理としては通ります。
そして、後続の処理でその「None」に対して、
画像処理を実施しようとした時点でエラーが発生します。
このような処理の流れになるので、
エラー文などには後続の処理の部分が表示されてしまいます。
このように少し原因箇所の特定が難しくなる設計となっているので、
画像パスは正しいパスであることをちゃんと確認しましょう。
色々な方法で画像を読み込む(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の処理の流れとしては
- cv2.imread関数で画像を読み込む
- 画像処理をする
- cv2.imwrite関数で画像処理をした画像を保存する
という流れになります。
このように、Pythonで画像処理を行う上で、
OpenCVで画像をデータ化するという処理は欠かすことができません。
cv2.imread関数は使用頻度も高いので、覚えておきましょう。
なお、画像保存する方法については、
「OpenCVで画像を保存する方法【Python】」の記事で解説しています。
OpenCVやPythonについてもっとスキルをつけるなら
今回はOpenCVを使って画像を読み込む方法について解説しました。
OpenCVは今回解説した機能以外にも多くの便利な機能があり、
マスターすれば非常に強い武器になるでしょう。
もし、OpenCVについて独学でスキルをつけるなら、以下の書籍がオススメです。
この書籍はOpenCVの基礎から応用までを
丁寧にかつ詳細に解説しています。
OpenCVのほぼ全てを網羅しているとも言えるほどの徹底ぶりなので、
関数のリファレンスとしても使用することができます。
本記事で解説した画像の読み込むについても掲載されています。
エンジニアとしての自身の価値をチェックする(完全無料)
エンジニアとして、
自分の価値がどれくらいのものかご存知でしょうか?
エンジニアとしてIT業界に身を置いていると
今の会社でずっと働くのか、フリーランスとして独立するのか …
と様々な選択肢があります。
どの選択肢が正解なのかを見極めるためにも、選択肢を広げるためにも
自身の価値を知っておくことはとても重要です。
TechClips ME では、
職務経歴書をアップロードするだけで企業からのスカウトを受けることができます。
▼▼▼▼▼
▲▲▲▲▲
しかもTechClips MEでは想定年収を企業から提示してくれるので、
自身の価値を数字で分かりやすくたしかめることができます。
登録はもちろん完全無料なので、一度登録してみると良いかもしれません。
コメント