我想在python中找到3d数组的最大值。 我试过了
image_file1 = open("lena256x256.bmp","rb")
img_i = PIL.Image.open(image_file1)
pix = numpy.array(img_i);
maxval= max(pix)
但我犯了个错误
File "test.py", line 31, in <module>
maxval= max(pix)
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我在这里看不到我的错误,请帮帮我。
您正在使用不理解多维NumPy数组的内置
max
函数。您必须使用以下选项之一:pix.max()
numpy.max(pix)
在1D NumPy数组的情况下,它们也比内置的要快。
根据乔治斯写的,你可以使用
flat
获取数组的迭代器,然后执行一些操作 就像编辑:删除
lambda
,默认的max
应该是正常的。Max需要一个值,错误消息应该很清楚,您需要使用^{} 代替。
相关问题 更多 >
编程相关推荐