Python - 63/5000 Ordenar matrices por valor medio obtenido (OpenCV, Python y Numpy)

 
Vista:

63/5000 Ordenar matrices por valor medio obtenido (OpenCV, Python y Numpy)

Publicado por Danny (1 intervención) el 01/05/2019 08:24:00
Hola necesito ayuda

Estoy trabajando con OpenCV y Python.

Separé los componentes verde, rojo y azul de una imagen RGB con OpenCV y Python. Luego subdivide cada una de estas matrices en submatrices 8x8 para trabajar con ellas. Hasta ahora, esto ya está hecho.

Para cada una de las submatrices 8x8 que genere, necesito obtener la media de cada una y ordenar las matrices en orden descendente según la media obtenida. Estoy atrapado en esto. Necesito ayuda.

El código que tengo hasta ahora es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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.array(i)
 
    print('mean: ',np.mean(x))

Estoy usando numpy para obtener la media, pero entonces no entiendo muy bien cómo puedo ordenar estas matrices, dependiendo del valor que obtengo en la media.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder