我正在尝试将照片的背景更改为红色,现在是白色。
不幸的是,我的背景色是numpy。
这是我的代码:
import imageio as imio
import matplotlib.pyplot as plt
import numpy as np
joe_data = imio.imread('./wifire/11.JPG')
print(joe_data.shape)
plt.figure(figsize=(10, 10))
plt.imshow(joe_data)
red_mask = (joe_data[:, :, 0] == 255)
green_mask = (joe_data[:, :, 1] == 255)
blue_mask = (joe_data[:, :, 2] == 255)
joe_data[red_mask] = 255
joe_data[green_mask] = 0
joe_data[blue_mask] = 0
plt.figure(figsize=(10, 10))
plt.imshow(joe_data)
# I can't change the background to blue or other colour, they are just grey
答案 0 :(得分:0)
遮罩是2维数组,因为您在定义中设置了一个维度,而joe_data[:, :, 0][red_mask] = 255
joe_data[:, :, 1][green_mask] = 0
joe_data[:, :, 2][blue_mask] = 0
是3维数组,请尝试以下操作:
{{1}}
此处的掩码和数据应具有相同的形状。