Pythonで画像のヒストグラムをプロットする方法


Pythonを使用して画像のヒストグラムをプロットする方法について説明します。以下に、いくつかの方法をコード例とともに示します。

  1. NumPyとMatplotlibを使用する方法:
import matplotlib.pyplot as plt
import numpy as np
# 画像の読み込み
image = plt.imread('image.jpg')
# ヒストグラムの計算
histogram, bins = np.histogram(image.flatten(), bins=256, range=[0,256])
# ヒストグラムのプロット
plt.figure()
plt.title('Image Histogram')
plt.xlabel('Pixel Value')
plt.ylabel('Frequency')
plt.plot(histogram, color='black')
plt.xlim([0, 256])
plt.show()
  1. OpenCVとMatplotlibを使用する方法:
import cv2
import matplotlib.pyplot as plt
# 画像の読み込み
image = cv2.imread('image.jpg', 0)
# ヒストグラムの計算
histogram = cv2.calcHist([image], [0], None, [256], [0, 256])
# ヒストグラムのプロット
plt.figure()
plt.title('Image Histogram')
plt.xlabel('Pixel Value')
plt.ylabel('Frequency')
plt.plot(histogram, color='black')
plt.xlim([0, 256])
plt.show()

これらの方法を使用すると、Pythonで画像のヒストグラムを簡単にプロットすることができます。どちらの方法もMatplotlibを使用してヒストグラムを描画しますが、1つ目の方法ではNumPyを使用してヒストグラムを計算し、2つ目の方法ではOpenCVを使用してヒストグラムを計算します。選択する方法は、使用しているライブラリやプロジェクトの要件に応じて異なります。