Python OpenCVで画像を読み込む方法をわかりやすく解説
PythonのOpenCVライブラリを使えば、数行のコードで簡単に画像を読み込んで表示することができます。本記事では、OpenCVで画像を読み取る基本的な手順とサンプルコードを紹介します。
画像を読み込む基本の手順
OpenCVで画像を読み取り・表示するには、以下のステップに従います。
- ファイルから画像を読み込む(
cv2.imread()) - 指定したウィンドウに画像を表示する(
cv2.imshow()) - キーが押されるまで待機する(
cv2.waitKey()) - すべてのHighGUIウィンドウを破棄する(
cv2.destroyAllWindows())
サンプルコード
以下は、画像ファイル「baseball.png」を読み込んで表示するシンプルな例です。
import cv2
# カラーモードで画像を読み込む
img = cv2.imread("baseball.png", cv2.IMREAD_COLOR)
# 「baseball」という名前のウィンドウに画像を表示
cv2.imshow("baseball", img)
# 何かキーが押されるまで待機
cv2.waitKey(0)
# 開いたすべてのウィンドウを閉じる
cv2.destroyAllWindows()実行結果
このコードを実行すると、「baseball」というタイトルのウィンドウが開き、読み込んだ画像が表示されます。任意のキーを押すとウィンドウが閉じられます。
各関数のポイント
- cv2.imread(): 第1引数に画像ファイルのパス、第2引数に読み込みモードを指定します。
cv2.IMREAD_COLORはカラー画像として読み込む設定です。ファイルが存在しない場合はNoneが返るため注意が必要です。 - cv2.waitKey(0): 引数に
0を指定すると、キー入力があるまで無期限に待機します。ミリ秒単位の数値を指定すると、その時間だけ待機します。 - cv2.destroyAllWindows(): プログラム終了時にメモリを解放し、開いているすべてのウィンドウを確実に閉じるために呼び出します。
これらの基本操作をマスターすれば、OpenCVを使った画像処理の第一歩を踏み出せます。ぜひ実際にコードを動かして試してみてください。
-
PythonとOpenCVで実現するテンプレートマッチングの基本とマルチスケール対応
テンプレートマッチングとは、実際の画像の中から、あらかじめ用意した小さな画像(テンプレート)と一致する部分を探し出す技術です。基本的にはパターンマッチングの一種であり、物体検出や顔認識など、さまざまなコンピュータビジョンのタスクの基礎となる手法です。PythonではOpenCVモジュールを使うことで、このマッチング処理を簡単に実装できます。本記事では、OpenCVのテンプレートマッチング機能を使った具体的な方法を解説します。OpenCVのインストールOpenCVの機能を利用するには、まずpipでライブラリをインストールします。sudo pip3 install opencv-python閾値(
-
Python・OpenCVでヒストグラム平坦化を実装する方法|cv2.equalizeHist()の使い方
ヒストグラム平坦化(Histogram Equalization)とは ヒストグラム平坦化は、画像処理において画像のヒストグラムを利用してコントラストを調整する手法です。 この手法は、多くの画像の全体的なコントラストを向上させる効果があります。特に、画像内の有効なデータが近いコントラスト値で表現されている場合に威力を発揮します。この調整を行うことで、輝度値がヒストグラム上により均等に分布するようになり、局所的にコントラストが低い領域でも高いコントラストを得られるようになります。 OpenCVの cv2.equalizeHist() 関数 OpenCVには、この処理を実行するための関数 cv2