1
def on_pushButtonTwo_clicked(self):
img = np.asarray(Image.open("testtwo.tif").convert # read image, convert it('L'))
img = 1 * (img < 127)
areasplit = np.split(img.ravel(), 24) # here we are splitting converted to 1D array
for i in areasplit:
area = (i == 0).sum()
print area
maxr = areasplit[argmax(sum(areasplit == 0, axis = 0)), :] # selecting subarrays with min and max white pixel numbers
minr = areasplit[argmin(sum(areasplit == 0, axis = 0)), :]
distance = cityblock(maxr, minr) # computing distance between subarrays
print distance
Result: type error: areasplit[argmax(sum(areasplit == 0, axis=0)), :]
TypeError: list indices must be integers, not tuple
有什麼辦法可以選擇具有最小和最大白色像素數的子陣列嗎? 如何正確更改代碼?謝謝Numpy TypeError:列表索引必須是整數,而不是元組,如何更改代碼?
謝謝。然而所有的距離都是零。是否有argaverage或argmean函數,換句話說,如何選擇平均值/中值白色像素數的子陣列? – KvasDub