こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
- Pythonによる画像処理に興味がある。
- カラー画像をモノクロ・HSV・L*a*b空間に変換する方法が知りたい。
OpenCVとは
OpenCV(Open Source Computer Vision Library)とは、画像処理やコンピュータビジョンの分野で広く活用されているオープンソースライブラリです。画像データの数値処理に強いのが特徴であり、高度な統計アルゴリズムも多数含まれていることから、近年機械学習の分野でも広く利用されています。
本記事では、画像のカラー変換処理について解説します。具体的に以下を言及します。
- モノクロ(グレースケール)
- HSV
- L*a*b
- RGB2BGR
【Python】OpenCVによる画像変換|モノクロ(グレースケール)
PythonのOpenCVライブラリを用いてグレースケール画像に変換する方法を解説します。
画像指定
部分にグレースケール化したい画像のディレクトリを指定し、以下を実行してみましょう。
import cv2
# 画像指定
img = cv2.imread("image_data.jpg")
# グレースケールに変更
gray_img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
# 画像情報
print("(高さ, 幅, 色)="+str(gray_img.shape))
# 画像出力
cv2.imshow("img",gray_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
画像のグレースケール化はcv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
をもとに実現できます。また、別解として以下のコードでもグレースケール化が可能です。
import cv2
# 画像指定|第二引数にゼロを付与するとグレースケール可
img = cv2.imread("image_data.jpg", 0)
# 画像出力
cv2.imshow("img",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
【Python】OpenCVによる画像変換|HSV
PythonのOpenCVライブラリを用いてHSV空間に変換する方法を解説します。以下を実行してみましょう。
import cv2
# 画像指定
img = cv2.imread("image_data.jpg")
#hsv変換
hsv_img = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
# 画像情報
print("(高さ, 幅, 色)="+str(hsv_img.shape))
# 画像出力
cv2.imshow("img",hsv_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
【Python】OpenCVによる画像変換|L*a*b*
PythonのOpenCVライブラリを用いてL*a*b*空間に変換する方法を解説します。以下を実行してみましょう。
import cv2
# 画像指定
img = cv2.imread("image_data.jpg")
# 画像変換
img = cv2.cvtColor(img,cv2.COLOR_BGR2LAB)
# 画像情報
print("(高さ, 幅, 色)="+str(img.shape))
# 画像出力
cv2.imshow("img",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
【Python】OpenCVによる画像変換|RGB→BGR
PythonのOpenCVライブラリを用いて色チャネルを変換(RGB→BGR)したい場合、次のように記述します。
import cv2
# 画像指定
img = cv2.imread("image_data.jpg")
# 変換
img = cv2.cvtColor(img,cv2.COLOR_RGB2BGR)
# 画像情報
print("(高さ, 幅, 色)="+str(img.shape))
# 画像出力
cv2.imshow("img",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
【参考】Python・OpenCVを用いた画像処理
当サイトでは、PythonのOpenCVライブラリを用いた画像処理ノウハウを多数公開しています。
用途 | 【Python×OpenCV】記事名 |
---|---|
画像変換 | 画像のリサイズ・拡大・縮小 |
画像変換 | 画像の回転・反転・平行移動|アフィン変換 |
画像変換 | 画像の明るさ調節|ガンマ補正 |
画像変換 | グレースケール・HSV・L*a*b|色空間の変換 |
画像変換 | モノクロ(白黒)画像変換|2値化処理 |
画像変換 | ヒストグラムの描画・ヒストグラム均一化処理 |
画像変換 | 画像上にテキスト・図形(直線・長方形・円)を描画 |
画像変換 | 画像の透視変換・遠近法 |
画像変換 | 画像のノイズ除去・平滑化 |
画像変換 | 画像の畳み込み(空間フィルタリング) |
特徴抽出 | エッジの検出方法 |
画像認識や物体検出を学ぶ上でおすすめの教材はこちらをご参考ください。
画像処理・コンピュータビジョンの勉強におすすめ入門本・動画教材7選|OpenCV解析結果をディープラーニングに適用!
「画像処理・コンピュータビジョン分野に興味があり、画像処理のプログラミングスキルを習得したい」「OpenCVを用いた画像解析手法を学びたい」このような方向けにおすすめの教材を紹介します。
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら