Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

plt.show และ cv2.imshow ใน Matplotlib แตกต่างกันอย่างไร


การเรียกใช้เมธอด imread แบบง่ายๆ จะโหลดรูปภาพของเราเป็นอาร์เรย์ NumPy แบบหลายมิติ (หนึ่งรายการสำหรับองค์ประกอบสีแดง สีเขียว และสีน้ำเงินแต่ละรายการตามลำดับ) และ imshow จะแสดงรูปภาพของเราบนหน้าจอ ในขณะที่ cv2 แสดงถึงภาพ RGB เป็นอาร์เรย์ NumPy แบบหลายมิติ แต่อยู่ในลำดับที่กลับกัน

ขั้นตอน

  • กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย

  • เริ่มต้นชื่อไฟล์

  • เพิ่มโครงเรื่องย่อยให้กับตัวเลขปัจจุบันโดยใช้ nrows=1, ncols=2, และ index=1 .

  • อ่านรูปภาพโดยใช้ cv2 .

  • ปิดแกนแล้วเอารูปมาโชว์ในคำสั่งถัดไป

  • เพิ่มโครงเรื่องย่อยให้กับตัวเลขปัจจุบันโดยใช้ nrows=1, ncols=2, และ ดัชนี=2 .

  • อ่านรูปภาพโดยใช้ 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")
plt.subplot(122)
img = image.imread(filename)
plt.axis("off")
plt.imshow(img)
plt.title("with plt")
plt.show()

ผลลัพธ์

plt.show และ cv2.imshow ใน Matplotlib แตกต่างกันอย่างไร