python 画像ヒストグラムやってみた。
こんにちは。画像ヒストグラムやってみた。熱帯雨林と砂漠のサンプル写真で。違うものですね。森林の砂漠化の解析などに使えないかしら。可視化はopencvとnumpy二つの方法があります。
#モジュールのインポート
import cv2
import numpy as np
from matplotlib import pyplot as plt
#入力画像の読み込み
img =cv2.imread("/home/pi/satellite_photo/Sahara.jpg")
b, g , r = img[:,:,0], img[:,:,1], img[:,:,2]
#numpy方式
hist_r, bins=np.histogram(r.ravel(),256,[0,256])
hist_g,bins=np.histogram(g.ravel(),256,[0,256])
hist_b,bins=np.histogram(b.ravel(),256,[0,256])
#opencv方式
#hist_r=cv2.calcHist([r],[0],None,[256],[0,256])
#hist_g=cv2.calHist([g],[0],None,[256],[0,256])
#hist_b=cv2.calHist([b],[0],None,[256],[0,256])
#グラフの作成
plt.xlim(0,255)
plt.plt(hist_r,"-r",label="Red")
plt.plt(hist_g,"-g",label="Green")
plt.plt(hist_b,"-b",label="Blue")
plt.xlabel("Pixel value",fontsize =20)
plt.ylabel("Number of pixels",fontsize=20)
plt.legend()
plt.grid()
plt.show
できました。
Twitterやってます。
https://mobile.twitter.com/Homepi34/
ほな