前提
素人なのでご教授いただければ幸いです。
Open-CVで色の割合を求めるシステムをつくっている。
実現したいこと
紅葉を定点観測して得た画像を分析して紅葉日と落葉日を判断させたい。その中で今回、撮影した画像のなかの色の割合を出したいと考えています。
発生している問題
紅葉と判定している部分が明らかに35%を超えているように感じているが35%と出ており、おかしい気がする。
該当のソースコード
import numpy as np import cv2 import collections import pandas as pd from matplotlib import pyplot as plt img_bgr = cv2.imread('IMG_7170.jpg', 6) for i in range(int(hit/2)):img_bgr[i] = img_bgr[i] / 2 img_hsv = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2HSV) hsv_min = np.array([ 20, 64, 0]) hsv_max = np.array([ 90, 255, 255]) mask = cv2.inRange(img_hsv, hsv_min, hsv_max) plt.imshow(mask) print("Rust ratio is :", sum(mask) / 255 / hit / wid * 100, '%')
試したこと
他の画像でやってみたが他の画像だとそれ相応の値が出ていると感じている。


