是否使用列表或数组存储红绿蓝通道的值 - python opencv

时间:2014-02-24 07:36:44

标签: python arrays list opencv numpy

我使用list存储通道值,我尝试了这段代码:

import cv2
import numpy as np
import os,glob
resizelist = list()
B_mean = list()
G_mean = list()
R_mean = list()
path = 'C:\Users\HP\Desktop\dataset1'
for infile in glob.glob(os.path.join(path,'*.jpg')):
   imge = cv2.imread(infile)
   arr1 = np.array(imge)
   re_img = cv2.resize(imge,(200,200))
   resizelist.append(re_img)
   blue, green, red = cv2.split(re_img)
   total = re_img.size
   B = sum(blue) / total
   G = sum(green) / total
   R = sum(red) / total
   B_mean.append(B)
   G_mean.append(G)
   R_mean.append(R)
main_list = [[],[],[]]
main_list[0] = B_mean
main_list[1] = G_mean
main_list[2] = R_mean
print main_list

而不是值,它只显示零。代码有什么问题吗?因为我要计算熵,对比度和同质性,并将所有这些值存储在一个列表/数组中。

谢谢!

1 个答案:

答案 0 :(得分:0)

数组将是一个很好的选择,您可以更直观地从以后访问它。