我有一个称为像素点的像素坐标数组(从蒙版图像中跳出来):
pixelpoints = np.transpose(np.nonzero(masked_orig))
,我想接收“ masked_orig”图像中每个像素的颜色信息。 因此,我首先对pixellist进行了一些评估:
a = pixelpoints.size
print("pixelpoints.size {} ".format(a))
b = len(pixelpoints)
print("len pixelpoints {} ".format(b))
c = pixelpoints[0][:2]
print("c:", c)
d = masked_orig[c[0],c[1]]
print("d:", d)
这给了我以下输出:
pixelpoints.size 95604
a: 95604
len pixelpoints 31868
c: [ 62 134]
d: [131 126 128]
我启动了一个for循环,以将所有这些像素集中在一个列表中,以执行K-Means分析:
pixelliste = []
for pixel in range(len(pixelpoints)):
c = pixelpoints[pixel][:2]
d = masked_orig[c[0],c[1]]
pixelliste.append(d)
不仅for循环真的很慢,它还会在之后产生一些奇怪的输出
print("pixelliste: ", pixelliste)
显示如下: ...,数组([128,140,146],dtype = uint8),数组([132,146,152],dtype = uint8),数组([132,146,152],dtype = uint8),数组([132,146,152],dtype = uint8)]
也许我没有意识到循环的更短(更快)方式,我对输出有些困惑。 我请你提供建议...