Q:

Why is subplot changing the color of my image? 

I am trying to extract a frame from video and display each frame as an image.  For comparison I tried subplotting.  The read RGB image is different when plotted.  Where could I be possibly wrong? 
vid = cv2.VideoCapture(file1)
num_frames = int(vid.get(cv2.cv. CV_CAP_PROP_FRAME_COUNT))
fig, ax = plt.subplots(nrows=1, ncols=3)
plt.ion()
for i in range(num_frames):
    f,img = vid.read(i)
    cv2.imshow("V",img)

the rgb image is read correctly but when 
for i in range(num_frames):
    f,img = vid.read(i)
    ax[0].imshow(img)
    ax[1].imshow(img)
    ax[2].imshow(img)
    plt.draw()
    plt.pause(0.01)

the color of the displaying images is changed 
subplot image cv2 image

A:

Try 
ax[0].imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))

