我正在将 OpenCV 与 Python 一起使用。我有一个图像,我想要做的是将 BGR 值 [0, 0, 255] 的所有像素设置为 [0, 255, 255]。
我问了一个关于如何对图像进行后处理的问题,并从答案中我了解到使用索引数组进行索引,例如:image[image > 128] = 255
我了解这是如何工作的,因为 image > 128 将返回一个满足条件的多维索引数组,然后我将此数组应用于图像并将其设置为 255。但是,我对如何将其扩展到为数组做一个值。
我尝试执行以下操作:
red = np.array([0, 0, 255])
redIndex = np.where(np.equal(image, red))
image[redIndex] = np.array([0, 255, 255])
但它不起作用,出现错误:
ValueError: array is not broadcastable to correct shape
有没有一种有效的方法来处理这个问题?