cv2.imwrite("imageBlack.png", merged) #原始二值图merged,通过imwrite保存三通道
imageBlack = cv2.imread("imageBlack.png")
B, R, G = cv2.split(imageBlack)
height, width, channels = imageBlack.shape
##numpy->list
imageRed_list = imageBlack.tolist()
for i in range(height):
for j in range(width):
if imageRed_list[i][j] == [0, 0, 0]:
imageRed_list[i][j] = [255, 0, 0]
imageRed = np.array(imageRed_list, dtype=imageBlack.dtype)
cv2.imwrite("imageRed.png", imageRed)
还有个快速版
cv2.imwrite("imageBlack.png", merged) #原始二值图merged,通过imwrite保存三通道
imageBlack = cv2.imread("imageBlack.png")
imageBlue = np.where(imageBlack [...,[0]] == 0, (255, 0, 0, 255), imageBlack )
imageRed = np.where(imageBlack [...,[0]] == 0, (0, 0, 139, 255), imageBlack )
imageWhite = np.where(imageBlack [...,[0]] == 0, (255, 255, 255, 255), imageBlack )
cv.imwrite("imageRed.png", imageRed)
cv.imwrite("imageBlue.png", imageBlue)
cv.imwrite("imageWhite.png", imageWhite)
#修改后