import numpy as np
def colour_index(image_data):
sz1 = image_data.shape
sz = list(sz1)
a1 = round(sz[0] / 4)
a2 = a1 * 3
b1 = round(sz[1] / 4)
b2 = b1 * 3
R = np.mean(np.mean(image_data[a1-1:a2, b1-1: b2,0]))
G = np.mean(np.mean(image_data[a1-1:a2, b1-1: b2,1]))
B = np.mean(np.mean(image_data[a1-1:a2, b1-1: b2,2]))
r2 = R / (R + G + B)
g2 = G / (R + G + B)
b2 = B / (R + G + B)
rb1 = R / B
rb2 = (R - B) / (R + G + B)
rb3 = (R + B) / (R + G + B)
rb4 = (R - B) / (R + B)
EXR = 1.4 * r2 - g2
VARI = (g2 - r2) / (g2 + r2 - b2)
GRVI = (g2 - r2) / (g2 + r2)
MGRVI = (g2 ** 2 - r2 ** 2) / (g2 ** 2 + r2 ** 2)
EXG = 2 * g2 - b2 - r2
GLA = (2 * G - B - R) / (2 * G + B + R)
index = [R, G, B, r2, g2, b2, rb1, rb2, rb3, rb4, EXR, VARI, GRVI, MGRVI, EXG, GLA]
return index
利用python中的colour_index()函数进行读取图片中的r、g、b值
于 2024-03-26 14:35:16 首次发布