画像のデータのR,G,B値を算出して輝度をヒストグラムを描く
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
#画像の読み込み
src_img=Image.open("sample.jpg")
#画像のサイズをカウントする
width,height=src_img.size
#結果を格納する0行列の作成
hist=np.zeros(256)
#各ピクセルのRGB値の平均を計算して上の0行列に代入していく
for y in range(height):
for x in range(width):
r,g,b=src_img.getpixel((x,y))
Iv=int((r+g+b)/3)
hist[Iv]+=1
#X軸の範囲調整をしてプロットする
plt.figure()
x=range(0,256)
plt.bar(x,hist,1.0)
参考書籍





コメント