【问题标题】:What does this thing returns : frame[:, :, ::-1]这个东西返回什么:frame[:, :, ::-1]
【发布时间】:2019-08-17 14:29:33
【问题描述】:

我无法理清这部分代码返回了什么frame[:, :, ::-1]

success, frame = video_capture.read()
rgb_image = frame[:, :, ::-1]
results = model.detect([rgb_image], verbose=0)

【问题讨论】:

  • 使用print(rgb_image) 查看它返回的内容。您应该添加opencv 标签,因为问题与它相关。

标签: python numpy opencv


【解决方案1】:

第一个:返回所有行,第二个:返回所有列,::-1以相反的方式返回帧通道。 Read more about slicing notation.

【讨论】:

    【解决方案2】:

    在这里,您将所有行和所有列以相反的顺序分配给 rgb_image 变量。

    -1 这里很重要,使用列的最后一个索引来反转列表。

    这也是对列表或元组进行切片的快捷方式。简而言之,这是一种在 Python 中对非线性数据结构进行切片的 Python 方法。

    【讨论】:

      【解决方案3】:

      OpenCV cv2.VideoCapture.read() 以 BGR 格式返回帧,因此 frame[:, :, ::-1] 将其转换为 RGB 格式。 这类似于使用 cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)

      【讨论】:

        猜你喜欢
        • 2023-02-07
        • 2015-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多