Python

【OpenCV】画像処理の基礎知識

Python で OpenCV を使用した画像処理における基礎知識をまとめています。

この記事で学べること

  • 画像処理における最低限必要な知識
  • OpenCV 独自の基本知識

 

【共通】画像処理における座標軸

画像処理では、「左上」を座標軸の原点として扱います。
学校で習うグラフなど、普段の感覚とは異なるので、注意が必要です。

「左上」を原点にして、右方向にX軸、下向きにY軸を取ります。
普段の感覚で座標を計算すると、誤った画素へアクセスすることになります。

座標は、X軸・Y軸ともに「0」から始まります。

画像処理における座標軸

画像処理における座標軸

 

【OpenCV独自】OpenCV における画素値

色の3原色と言われる「赤」「緑」「青」は、それぞれの英語の頭文字をとって「RGB」と略されます。
普段使用しているお絵描きソフトなどでは、この「RGB」値で画素の色を調節したりします。

SANACHAN
SANACHAN
HTMLに装飾するCSSでも、「RGB」を使用します。

 

一方、OpenCV の画素値は「BGR」の順で保存されています。
普段慣れている順番とは異なりますので、注意が必要です。

OpenCVにおける画素値

OpenCVにおける画素値

「BGR」の順で並んでいるため、例えば上図の赤っぽい色の飴では、最後の「R」の値が大きくなります。
また、青っぽい色の飴では、最初の「B」の値が大きくなります。

 

【OpenCV独自】numpy の配列に格納されている画素値

OpenCV で画像を読み込むと、(y, x, color) の順番で numpy の配列に画素値が格納されます。
また、画像の大きさを取得する shape は、(高さ, 幅) の順番で値を返します。
※高さ=height、幅=width

numpy_画素値

numpyの配列に格納されている画素値

 

例えば、OpenCV で画素値、画像の大きさを取得する場合は、
以下のように Python のプログラムを記述します。

 

まとめ

  • 画像処理では、「左上」が原点
  • OpenCV では、(B, G, R) の順番で画素値が格納されている
  • OpenCV では、(y, x, color) の順番で numpy の配列に格納されている

 

こちらの記事もよく読まれています

  • この記事を書いた人
  • 最新記事
SANACHAN

SANACHAN

「生涯一エンジニア」を掲げ、大手グローバル企業でSE/PGとして8年勤め、キャリアアップ転職した現役のエンジニアです。世にあるメジャーな全プログラム言語(コボル除く)を自由に扱えます。一児の父。自分のため、家族のため、日々勉強してます。システムエンジニア、プログラミングに関する情報を蓄積している雑記帳です。

-Python
-,