使用python opencv将二进制图像中的黑色像素转换为红色

时间:2021-05-26 23:35:29

标签: python numpy opencv

我有一个黑白二进制图像,我使用 opencv 创建 我想将此图像上的黑色像素转换为红色,我该如何实现?

def convertImageToBinary():
    print('converting image to black and white')
    originalImage = cv2.imread('lena.png')
    grayImage = cv2.cvtColor(originalImage, cv2.COLOR_BGR2GRAY)

    (thresh, blackAndWhiteImage) = cv2.threshold(grayImage, 127, 255, cv2.THRESH_BINARY)


    cv2.imshow('Black white image', blackAndWhiteImage)
    cv2.imshow('Original image',originalImage)
    cv2.imshow('Gray image', grayImage)

    cv2.waitKey(0)
    cv2.destroyAllWindows()

1 个答案:

答案 0 :(得分:2)

您可以在 Python/OpenCV 中通过将 blackAndWhiteImage 转换为 3 通道,然后使用 Numpy 使用单通道 blackAndWhiteImage 作为掩码来更改颜色

blackAndWhiteImage3 = cv2.cvtColor(blackAndWhiteImage, cv2.COLOR_GRAY2BGR)
blackAndWhiteImage3[blackAndWhiteImage==0] = (0,0,255)