title: cv2.cvtcolor bgr2gray seems get an error image
body: <p># the code is as follows, implemented, but the result is possibly wrong, it is not the grayscale i wanted, someone gonna help me with that, it's seems quite simple, but i just don't know what wrong</p>
  
  <p>import cv2
      import matplotlib.pyplot as plt
      import numpy as np
      import matplotlib.image as mpimg
      img = cv2.imread('calibration_test.png')</p>
  
  <pre><code># i want simply convert the rgb image to grayscale and then print it out
  gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  plt.imshow(gray)
  print(gray.shape)
  # but the outcome is a colorful image
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/ZTosh.png" alt="the original image i used"></p>
  
  <p><img src="https://i.stack.imgur.com/UPOZC.png" alt="the ugly outcome"></p>