20250422/佐藤綺羅/画像の色変換
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
[[log/20250422/佐藤綺羅]]
*画像の色変換 [#be8eb88a]
**cv2.cvtColor関数 [#d6791144]
色にはRGBやHSVなどの複数の表現手法(色空間)がある。~
openCVではcv2.cvtColorという関数を用いて、画像の色空間を変換することができる。~
cv2.cvtColor(入力画像, code, dst, dstCn)
引数は以下の通り。
|入力画像(必須)|入力画像|
|code(必須)|色空間変換コード|
|dst(任意)|出力画像。指定された場合、結果がこの変数に格納される。指定されない場合は、新しい配列が作成されて結果が格納され戻り値として取得できる。|
|dstCn(任意)|出力画像のチャンネル数|
codeには以下のようなものがある。
|cv2.COLOR_BGR2RGB|BGRからRGBへチャンネルの並びを変換する。|
|cv2.COLOR_BGR2GRAY|BGRからグレースケールに変換する。|
|cv2.COLOR_BGR2XYZ|BGRからXYZに色空間を変換する。|
|cv2.COLOR_BGR2HSV|BGRからHSVに色空間を変換する。色相(H)のレンジは8bit画像の場合、0〜180。|
|cv2.COLOR_BGR2Lab|BGRからLab*に色空間を変換する。|
|cv2.COLOR_BGR2Luv|BGRからLuv*に色空間を変換する。|
|cv2.COLOR_BGR2HLS|BGRからHLSに色空間を変換する。色相(H)のレンジは8bit画像の場合、0〜180。|
|cv2.COLOR_HSV2BGR|HSVからBGRに色空間を変換する。色相(H)のレンジは8bit画像の場合、0〜180。|
|cv2.COLOR_HLS2BGR|HLSからBGRに色空間を変換する。色相(H)のレンジは8bit画像の場合、0〜180。|
|cv2.COLOR_BGR2YUV|BGRからYUVに色空間を変換する。|
これらはあくまで一例であり、実際にはより多数の色空間変換コードが存在する。
***グレー化 [#b3cc6523]
以下に画像のグレー化を行うプログラムの実行例を示す。
取り込んだ画像~
&attachref(neko.jpeg);~
コード
#code(python){{
#!/usr/bin/python
import cv2
img = cv2.imread("neko.jpeg")
gimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("neko", gimg)
cv2.waitKey(0)
}}
実行結果~
&attachref(neko_gray.png);~
なお、5行目の記述を
img = cv.2imread("neko.jpeg", 0)
とすることでもグレー画像の取り込みは可能だが、取り込んだ時点でグレー画像しか扱えなくなる。~
cvtColor関数を用いた場合、カラー画像の情報が格納された変数imgと、グレー画像の情報が格納された変数gimgの2つが扱えるようになるため、こちらの方が無難である。
終了行:
[[log/20250422/佐藤綺羅]]
*画像の色変換 [#be8eb88a]
**cv2.cvtColor関数 [#d6791144]
色にはRGBやHSVなどの複数の表現手法(色空間)がある。~
openCVではcv2.cvtColorという関数を用いて、画像の色空間を変換することができる。~
cv2.cvtColor(入力画像, code, dst, dstCn)
引数は以下の通り。
|入力画像(必須)|入力画像|
|code(必須)|色空間変換コード|
|dst(任意)|出力画像。指定された場合、結果がこの変数に格納される。指定されない場合は、新しい配列が作成されて結果が格納され戻り値として取得できる。|
|dstCn(任意)|出力画像のチャンネル数|
codeには以下のようなものがある。
|cv2.COLOR_BGR2RGB|BGRからRGBへチャンネルの並びを変換する。|
|cv2.COLOR_BGR2GRAY|BGRからグレースケールに変換する。|
|cv2.COLOR_BGR2XYZ|BGRからXYZに色空間を変換する。|
|cv2.COLOR_BGR2HSV|BGRからHSVに色空間を変換する。色相(H)のレンジは8bit画像の場合、0〜180。|
|cv2.COLOR_BGR2Lab|BGRからLab*に色空間を変換する。|
|cv2.COLOR_BGR2Luv|BGRからLuv*に色空間を変換する。|
|cv2.COLOR_BGR2HLS|BGRからHLSに色空間を変換する。色相(H)のレンジは8bit画像の場合、0〜180。|
|cv2.COLOR_HSV2BGR|HSVからBGRに色空間を変換する。色相(H)のレンジは8bit画像の場合、0〜180。|
|cv2.COLOR_HLS2BGR|HLSからBGRに色空間を変換する。色相(H)のレンジは8bit画像の場合、0〜180。|
|cv2.COLOR_BGR2YUV|BGRからYUVに色空間を変換する。|
これらはあくまで一例であり、実際にはより多数の色空間変換コードが存在する。
***グレー化 [#b3cc6523]
以下に画像のグレー化を行うプログラムの実行例を示す。
取り込んだ画像~
&attachref(neko.jpeg);~
コード
#code(python){{
#!/usr/bin/python
import cv2
img = cv2.imread("neko.jpeg")
gimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("neko", gimg)
cv2.waitKey(0)
}}
実行結果~
&attachref(neko_gray.png);~
なお、5行目の記述を
img = cv.2imread("neko.jpeg", 0)
とすることでもグレー画像の取り込みは可能だが、取り込んだ時点でグレー画像しか扱えなくなる。~
cvtColor関数を用いた場合、カラー画像の情報が格納された変数imgと、グレー画像の情報が格納された変数gimgの2つが扱えるようになるため、こちらの方が無難である。
ページ名: