LoginSignup
0
0

opencvとjupyterで画像を表示する

Posted at

この記事について

Jupyter Notebookにて、OpenCVを使って画像を読み込み、それをmatplotlibで表示します。

環境

  • Ubuntu 22.04 on WSL2
  • conda 24.3.0
    • opencv 4.9.0
    • matplotlib 3.8.3

やり方

カラー画像として出力する場合

import cv2 as cv
import matplotlib.pyplot as plt

img = cv.imread("./fuga.jpg")

# BGR -> RGBへ変換
plt.imshow(cv.cvtColor(img, cv.COLOR_BGR2RGB))
plt.show()

注意点として、cv.imread()ではBRGの順番で色を保持する一方、plt.imshow()にはRGBの順番の配列を渡さなければいけないため、cv.cvtColor()を使ってBRG->RGBの変換を行っています。

(参考:imread() | OpenCV)

白黒画像として出力する場合

import cv2 as cv
import matplotlib.pyplot as plt

img = cv.imread("./fuga.jpg")

# BGR -> RGBへ変換
# imshowのカラーマップに'gray'を指定
plt.imshow(cv.cvtColor(img, cv.COLOR_BGR2GRAY), cmap='gray', vmin=0, vmax=255)
plt.show()

今回は、cv.imread()で読んだRGBをグレースケールに変換するため、cv.COLOR_BGR2GRAYを指定してcvtColorします。

さらに、plt.imshow()のカラーマップに'gray'を指定し、vminvmaxも指定します。
(参考:matplotlib公式ドキュメント)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0