That’s weird, as I’m pretty sure you are displaying an interleaved image.
You can easily reproduce it by loading the first (properly displayed) image and by running this code:
import PIL
import numpy as np
import matplotlib.pyplot as plt

img = PIL.Image.open("./discuss01.jpeg")
arr = np.array(img)
shape = arr.shape
print(shape)
plt.imshow(arr)

arr_interleaved = arr.transpose(2, 0, 1).reshape(shape)
plt.imshow(arr_interleaved)

which will result exactly in the interleaved second output you’ve posted.