【发布时间】:2019-05-02 02:42:03
【问题描述】:
我正在使用 OpenCV 和 Python。
我使用 OpenCV 和 Python 分离了 RGB 图像的绿色、红色和蓝色分量。然后将这些矩阵中的每一个细分为 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 来获取均值,但是我不太明白如何根据均值获得的值对这些矩阵进行排序?
【问题讨论】: