2016-07-26 20 views
5

plt.show & cv2.imshow() का उपयोग कर एक ही छवि को कॉल करते समय आउटपुट छवि में कोई अंतर क्यों है?plt.show और cv2.imshow के बीच अंतर?

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() 

यहाँ plt.show से छवि है::

image output for plt.show

और दूसरा एक मूल छवि है:

image output from cv2.show

यहाँ मेरी कोड है

क्या कुछ संशोधन है plt.show() के साथ आवश्यक है?

उत्तर

8

क्योंकि ओपनसीवी आरजीबी के बजाय बीजीआर ऑर्डर में छवियों को स्टोर करता है।

plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))

एक उदाहरण के लिए here देखें का प्रयास करें।

संबंधित मुद्दे