plt.imshow() (Matplotlib) और cv2.imshow() (OpenCV) में मुख्य अंतर कलर चैनल ऑर्डर का है: Matplotlib RGB ऑर्डर उपयोग करता है, जबकि OpenCV BGR ऑर्डर उपयोग करता है।
चरण
- फिगर साइज़ और ऑटोलेआउट सेट करें।
- दो सबप्लॉट्स बनाएं (1 पंक्ति, 2 कॉलम)।
- पहले में
cv2.imread()से इमेज पढ़ें औरplt.imshow()से दिखाएं (कलर गलत दिखेंगे)। - दूसरे में
plt.imread()याimage.imread()से पढ़ें और दिखाएं (कलर सही)। - दोनों में एक्सिस ऑफ करें और टाइटल दें।
plt.show()से तुलना देखें।
उदाहरण कोड
import cv2
from matplotlib import pyplot as plt, image
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
filename = "bird.jpg"
plt.subplot(121)
img = cv2.imread(filename)
plt.axis("off")
plt.imshow(img)
plt.title("with cv2 (BGR)")
plt.subplot(122)
img = image.imread(filename)
plt.axis("off")
plt.imshow(img)
plt.title("with plt (RGB)")
plt.show()
आउटपुट
बाएं: OpenCV से पढ़ी इमेज (BGR, कलर स्वैप्ड)। दाएं: Matplotlib से पढ़ी इमेज (RGB, सही कलर)।