有人知道如何修复这行代码吗:
num = (frame[...,...,2] > 236)
执行时出现此错误:
IndexError: an index can only have a single ellipsis ('...')
所需模块:cv2、numpy
我的Python版本是:2.7.14
你应该使用这个:
num = (frame[:,:,2] > 236)
如果您想明确索引(假设您尝试插入多个省略号),或者仅使用一个省略号:
num = (frame[...,2] > 236)
由于省略号只能使用一次,因此可以根据需要替换尽可能多的冒号(在您的情况下是两个)。
测试:
>>> frame = np.meshgrid(range(0,4), range(0,2), range(0,3))[0]
>>> frame[:,:,2]
array([[0, 1, 2, 3],
[0, 1, 2, 3]])
>>> frame[...,2]
array([[0, 1, 2, 3],
[0, 1, 2, 3]])