Я работаю с OpenCV и Python.
Я разделил зеленый, красный и синий компоненты изображения RGB с помощью OpenCV и Python. Затем разделите каждую из этих матриц на подматрицы 8x8, чтобы работать с ними. Пока это уже сделано.
Для каждой из подматриц 8x8, которые она генерирует, мне нужно получить среднее значение каждой из них и упорядочить матрицы в порядке убывания в соответствии с полученным средним значением. Я застрял в этом. Мне нужна помощь.
Код, который у меня есть, следующий:
import cv2
import numpy as np
img = cv2.imread("6.jpg")
b,g,r = cv2.split(img)
def sub_matrices(color_channel):
matrices = []
for i in range(int(color_channel.shape[0]/8)):
for j in range(int(color_channel.shape[1]/8)):
matrices.append(color_channel[i*8:i*8 + 8, j*8:j*8+8])
return matrices
#returns list of sub matrices
r_submatrices = sub_matrices(r)
g_submatrices = sub_matrices(g)
b_submatrices = sub_matrices(b)
print (r_submatrices)
print (g_submatrices)
print (b_submatrices)
for i in r_submatrices:
x = np.mean(i)
print(i)
Я использую numpy для получения среднего значения, но тогда я не очень хорошо понимаю, как я могу упорядочить эти матрицы в зависимости от значения, которое я получаю в среднем?