Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Hiển thị chuỗi ảnh liên tiếp với Matplotlib

Để hiển thị một chuỗi ảnh (sequence of images) bằng Matplotlib:

  • Thiết lập kích thước figure và padding
  • Tạo danh sách các file ảnh cần vẽ
  • Tắt trục tọa độ
  • Lặp qua ảnh và vẽ lại lên axes
  • Tạm dừng sau mỗi lần vẽ

Ví dụ mã nguồn

import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

images = ['opera.jpg', 'mountain.jpg', '9.jpg']
plt.axis('off')
img = None
for f in images:
    im = plt.imread(f)
    if img is None:
        img = plt.imshow(im)
        plt.pause(0.5)
    else:
        img.set_data(im)
        plt.pause(0.5)
    plt.draw()

Kết quả

Chương trình hiển thị lần lượt 3 ảnh, mỗi ảnh dừng 0.5 giây.

Hiển thị chuỗi ảnh liên tiếp với Matplotlib Hiển thị chuỗi ảnh liên tiếp với Matplotlib Hiển thị chuỗi ảnh liên tiếp với Matplotlib

Lưu ý: Cần có file ảnh thực tế trong thư mục làm việc. Để làm animation mượt hơn, hãy dùng matplotlib.animation.FuncAnimation.