有人知道如何解决这行代码:
num = (frame[...,...,2] > 236)
执行时出现此错误:
IndexError: an index can only have a single ellipsis ('...')
以下是整个文件:https://pastebin.com/XNzYx6mJ
您需要一个网络摄像头和一些python模块才能执行此程序。
所需模块:cv2,numpy
我的python版本是:2.7.14
答案 0 :(得分:2)
你应该用这个:
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]])