title: Difference between plt.show and cv2.imshow?
body: <p>Why is there a difference in the output image when calling the same image using <code>plt.show</code> &amp; <code>cv2.imshow()</code>?</p>
  
  <p>Here is my code:</p>
  
  <pre><code>import cv2
  import numpy as np
  from matplotlib import pyplot as plt
  
  src=cv2.imread('fruits1.jpg') # Source image
  
  plt.subplot(211),plt.imshow(src),plt.title('image')
  plt.xticks([]),plt.yticks([])
  plt.show()
  
  cv2.imshow('image',src)
  cv2.waitKey(0)
  cv2.destroyWindow()
  </code></pre>
  
  <p>Here is the image from <code>plt.show</code>:</p>
  
  <p><a href="https://i.stack.imgur.com/gKjWJ.png" rel="noreferrer"><img src="https://i.stack.imgur.com/gKjWJ.png" alt="image output for plt.show"></a></p>
  
  <p>and the second one is the original image:</p>
  
  <p><a href="https://i.stack.imgur.com/0XGun.jpg" rel="noreferrer"><img src="https://i.stack.imgur.com/0XGun.jpg" alt="image output from cv2.show"></a></p>
  
  <p>Is there some modification required with the <code>plt.show()</code>?</p>