今回はPythonで読み込んだ画像のRGB値をOpenCVを使って取得する方法を紹介します。
【Xcode】Swiftを使ってはじめてiOSアプリを開発をしてみた
以前から気になっていたiPhoneのiOSアプリ開発ですが、先月中頃から勉強を開始してようやく簡単な一つのアプリを作ることができました。 これからiOSアプリの開発を考え…
目次
画像のRGB値を取得する
事前準備
PythonにOpenCVをインストールしていない方は下記コマンドでOpenCVをインストールすることができます。
pip install -U opencv-python
1.画像を読み込む
以下サンプルコードです。
今回は画像処理でよく使われる「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アプリ開発で学習に使用した本
リンク
コメント