リハビリ 人工知能 理学療法 Deep learning Deep Neural Network ディープラーニング AI 鍼灸

人工知能・リハビリ・日記・理学療法

タイトルはAIですが、個人的な日記なので、あまり気になさらないように。

画像をヒストグラムにしてみた。Python OpenCV

どうも、体調不良ぎみのGuchiです。

今日は、画像をヒストグラムにしてみましたので更新します。

 

 

Pythonで画像をヒストグラムにする

 

その前に、ヒストグラムは何かご存知でしょうか?Wikipediaをご覧下さい.w

ja.wikipedia.org

 

統計では、正規分布やらノンパラやら言われるあんな感じです。雑な感じですみません。

 

画像といってもカラー画像とグレースケール画像があります。カラー画像は赤青緑の3つの色がそれぞれ合わさって1つの色を表しています。

 

そして、それぞれ0から255までの256パターンあります。例えば、白だと(255.255.255)になります。

 

グレースケール画像は単純に0から255までの256パターンです。0が黒、255が白になります。

 

画像からそれぞれの色の配置がどれくらいなのかを見る事ができます!

 

では、こちらの画像をヒストグラムにしてみましょう!

f:id:Takuma_AI:20200509085520j:plain

 

 

ヒストグラム

f:id:Takuma_AI:20201230094949p:plain

RGBのヒストグラム

 

次はこちらの画像をヒストグラムにしました。

f:id:Takuma_AI:20200628210721j:plain

 

ヒストグラム(極端ですね、すみません)

f:id:Takuma_AI:20201230095202p:plain

グレースケール

 

カラー写真のヒストグラム コード:

OpenCVはインポートしておいてください

pip install opencv-python

 

ImgDIR =r"パス"

 

import cv2
import matplotlib.pyplot as plt
%matplotlib inline
import glob

#R, G, Bヒストグラムの表示
def show_imghys(path):

# 画像の読み込み
img = cv2.imread(path)
b = img[:,:,0]
g = img[:,:,1]
r = img[:,:,2]
# ヒストグラムの取得
hist_b = cv2.calcHist([b],[0],None,[256],[0,256])
hist_g = cv2.calcHist([g],[0],None,[256],[0,256])
hist_r = cv2.calcHist([r],[0],None,[256],[0,256])
# ヒストグラムの表示
plt.title(path)
plt.plot(hist_r, color='r', label="R",ls=":")
plt.plot(hist_g, color='g', label="G",ls="--")
plt.plot(hist_b, color='b', label="B",ls="-")
#plt.xlim(0, 256)
#plt.ylim(0)

plt.legend()
plt.show()

return hist_r,hist_g, hist_b

# フォルダ内の画像のパスを取得し、ヒストグラムを表示
ImagePaths = glob.glob(ImgDIR+"\*")
for ImagePath in ImagePaths:
show_imghys(ImagePath)

 

 雑な記事ですみません