我有两个np.array A和B,它们存储一些图片样本,A.shape是(20000,45,45,3),B.shape是(100000,45,45,3)。我想知道有多少张图片与B相同。
我这样写:
for i in list(A):
if i in list(B):
count = count + 1但是python告诉我:包含多个元素的数组的真值是不明确的。使用a.any()或a.all()
如何得到两个四维nparray子数组的交集?
非常感谢!
发布于 2018-03-14 13:07:58
count = 0
for img in A:
if (img == B).all(axis=(1, 2, 3)).any():
count += 1迭代A中的每个图像,我们使用==运算符检查B中是否有相同的图像,该操作符逐个比较元素,并检查是否存在与img相同的3D数组(即轴1、2和3中的所有元素)。然后我们使用any(),因为我们只需要在B中有一个图像是相同的。
https://stackoverflow.com/questions/49269584
复制相似问题