スクリプト
import cv2
import numpy as np
#
# グレースケール画像の色ごとの画素数をカウント
#
infile = 'H:/py/old/20210215/jpeg/00190.jpeg'
img = cv2.imread(infile)
if len(img.shape) > 2:
# 多分カラーなのでグレースケールへ変換
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
color_list = np.zeros(256)
for i in range(len(color_list)):
color_list[i] = np.count_nonzero(img == i)
# 最大値
maxvalue = np.max(color_list)
maxindex = np.where(color_list == maxvalue)[0][0]
print("index:{0} value:{1}".format(maxindex, maxvalue))
結果
index:255 value:1120529.0
テストした画像は白色が多い画像でした。
コメント