如何解决IndexError 的 Python 错误:尝试使用 openCV 减去蓝色时数组的索引过多
当我尝试使用 openCV 从灰色中减去蓝色通道时,我遇到了 IndexError
import numpy as np
import cv2
img = cv2.imread('Pictures/color2.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imshow('Gray',gray)
gray[:,:,0] = 0
cv2.imshow('Blue Subtracted',gray)
cv2.waitKey(0)
cv2.destroyWindow()
这是我遇到的错误
gray[:,0] = 0
IndexError: too many indices for array
谁能帮我解决这个问题? 我在 PyCharm 社区中使用 Python 3.7
解决方法
gray 是一个没有深度的二维数组,不需要指定通道
temp = img[0,:,:] - gray
此外,您应该注意 cv2.imread 读取为 BGR,而不是 RGB,因此蓝色通道是第一个通道
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。