cyberkunのデータ分析やIoT、電子工作、組み込みなどについての知識の蓄積

ラズパイ、Linux、データ分析やIoT、電子工作、組み込みなどについての知識の蓄積

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

できました。

f:id:cyberkun:20200530141609j:image

Twitterやってます。

https://mobile.twitter.com/Homepi34/

ほな