【Python】OpenCVのcv2.imread()で画像のRGB値を取得しよう!

今回はPythonで読み込んだ画像のRGB値をOpenCVを使って取得する方法を紹介します。

目次

画像のRGB値を取得する

事前準備

PythonにOpenCVをインストールしていない方は下記コマンドでOpenCVをインストールすることができます。

pip install -U opencv-python

1.画像を読み込む

以下サンプルコードです。

今回は画像処理でよく使われる「Lena.jpg」という画像を作業フォルダ内に置きました。

(Lena.jpg)
import cv2

path_image = "Lena.jpg"
image = cv2.imread(path_image)

height, width, channel = image.shape
print(height, width, channel)

# 実行結果
# 225 400 3

これでheight, width, channelにそれぞれ画像の高さと横幅、チャンネル数を格納することができました。

channelに3が格納されているのは、「この画像の色はRGBの3次元で表現していますよー」ということを表しています。

2. 画像のRGB情報を調べる

それでは実際に画像のRGB情報を調べてみましょう。

例えば画像の一番左上のRGB情報を取得するには次のようなコードで実装できます。

import cv2

path_image = "Lena.jpg"
image = cv2.imread(path_image)

height, width, channel = image.shape

blue = image[0, 0, 0]
green = image[0, 0, 1]
red = image[0, 0, 2]
print(blue, green, red)

# 実行結果
# 53 70 109

これで画像左上の画素のRGB値を取得することができました。

ここで注意しなければいけないのがcv2.imreadで読み込まれた画像はBGR(青、緑、赤)の順序で格納されている点です。

これを忘れると適切に画像処理をすることができなくなるので注意しましょう。

ちなみにある画素(height, width)のRGB情報をまとめて取得したい場合は下記コードで実現できます。

color = image[height, width, :]

まとめ

今回はPythonで読み込んだ画像のRGB値をOpenCVを使って取得する方法を紹介しました。

これから画像処理などをしたいと考えている方はぜひ参考にしてみてください。それではまた!

 iOSアプリ開発で学習に使用した本

よかったらシェアしてね!

この記事を書いた人

えだはのアバター えだは ITエンジニア

2001年生まれの♂。愛知県出身。
国立大学の情報学科を卒業後、某ユーザ系IT企業に就職。
2022年に当ブログ「えだはの部屋」を開設。
ブログ収益は100円〜1000円の間で常に低空飛行をしており、基本赤字。
将来の夢は億万長者。

コメント

コメントする

目次