从numpy数组转换为PIL图像python后图像颜色发生变化

Jit*_*esh 3 python python-imaging-library cv2

我正在尝试将我使用存储在 numpy 数组中的 cv2.imread 读取的图像转换为 PIL Image 对象,图像的颜色将被更改这是代码

I=cv2.imread("Image.jpg")
PILImage=Image.fromarray(I,mode='RGB')
Run Code Online (Sandbox Code Playgroud)

如何找回我的原始图像?

Dav*_*ith 10

OpenCV 喜欢将图像视为具有 BGR 层而不是 RGB 层。添加

I = cv2.cvtColor(I, cv2.COLOR_BGR2RGB)
Run Code Online (Sandbox Code Playgroud)

将交换层到你所期望的。