python+Opencvによる画像処理2(ヒストグラム)
続いてヒストグラム
1. opencvに集計させるパターン
import cv2 import pylab as plt im = cv2.imread("lena.jpg") hist = cv2.calcHist([im],[0],None,[256],[0,256]) plt.plot(hist) plt.xlim([0,256]) plt.show()
2. ヒストグラム(matplotlib)で集計
import cv2 import pylab as plt im = cv2.imread("lena.jpg") hist=im.ravel() plt.hist(hist,256,[0,256]) plt.xlim([0,256]) plt.show()
前者はデータを集計済み。ヒストグラムしか存在しない。
後者はグレースケール画像そのものを 保持している。
使い分けると面白いかも。
グラフの形が前後で微妙に違う ……なんだこれ