PythonとOpenCVで画像をグレースケールに変換する方法【初心者向け解説】
このチュートリアルでは、OpenCVを使って画像をグレースケールに変換する方法を学びます。
グレースケーリングとは、RGBやCMYKなどのカラースペースで表現された画像を、濃淡の異なる灰色(白〜黒の階調)に変換する処理のことです。カラー情報を取り除くことで、画像認識やエッジ検出など、さまざまな画像処理の前処理としても広く活用されています。
OpenCVのインストール
まだOpenCVモジュールをインストールしていない場合は、以下のコマンドでインストールしてください。
pip install opencv-python
グレースケール変換の手順
OpenCVのインストールが完了したら、以下の手順に従ってコードを書いていきましょう。
cv2モジュールをインポートする。- cv2.imread(image_path)で画像を読み込み、変数に格納する。
- cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)でカラースペースをグレースケールに変換し、変数に格納する。
- cv2.imshow()で変換後の画像を表示する。
- cv2.waitKey()でキーが押されるまで待機する。
- cv2.destroyAllWindows()メソッドですべてのウィンドウを閉じる。
サンプルコード
# OpenCV(cv2)モジュールをインポート
import cv2
# 画像を読み込む
image = cv2.imread('lion.png')
# カラースペースをグレースケールに変換
color_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 変換結果の画像を表示
cv2.imshow('Grayscale Lion', color_image)
# キー入力があるまで待機
cv2.waitKey()
# 開いているすべてのウィンドウを破棄
cv2.destroyAllWindows()実行結果
上記のコードを実行すると、以下のようにグレースケール化された画像が表示されます。元のカラー画像から色味が失われ、明るさの差だけを表現した白黒の階調画像になっていることが確認できます。

まとめ
本記事では、OpenCVのcv2.cvtColor()関数を使って、カラー画像を簡単にグレースケールへ変換する方法を紹介しました。わずか数行のコードで実装できるため、画像処理の入門として最適な題材です。ぜひ自分の好きな画像でも試してみてください。
チュートリアルについて不明な点や疑問がある場合は、コメント欄でお気軽にお尋ねください。
-
PythonのOpenCVモジュールで画像に幾何学図形を描画する方法
はじめに OpenCVの基本操作のひとつが「画像への描画」です。線、円、矩形(長方形)など、さまざまな幾何学形状を画像上に追加できます。 画像解析の現場では、画像の一部を強調表示したい場面がよくあります。たとえば、注目したい領域を囲む矩形を追加したり、特定の場所を指し示す矢印を描いたりするケースです。本記事では、PythonのOpenCVモジュールを使って画像に幾何学図形を描画する方法を、サンプルコードとともにわかりやすく解説します。 主な描画関数一覧 cv2.line() … 画像に直線を描画する関数 cv2.rectangle() … 画像に矩形を描画する関数 cv2.circle()
-
【Python×OpenCV】画像の収縮(エロージョン)と膨張(ダイレーション)の基本を解説
本記事では、PythonのOpenCVモジュールを使って、エロージョン(収縮)やダイレーション(膨張)といったモルフォロジー演算(形態学的処理)を実行する方法を解説します。 OpenCVはコンピュータビジョン向けに設計されたオープンソースのライブラリで、もともとはIntelによって開発されました。BSDライセンスのもとで誰でも無料で利用できます。 OpenCVの機能を使うには、まずpipでインストールしておきましょう。 sudo pip3 install opencv-python エロージョン(収縮)とは?仕組みを解説 エロージョンは、前景オブジェクトの境界を削り取っていく処理です。画像内の