Gối Python - Chuỗi hình ảnh
Thư viện hình ảnh Python (PIL) chứa một số hỗ trợ cơ bản cho Chuỗi hình ảnh (định dạng hoạt ảnh). FLI / FLC, GIF và một vài định dạng thử nghiệm là các định dạng chuỗi được hỗ trợ. Các tệp TIFF cũng có thể chứa nhiều hơn một khung.
Mở tệp trình tự, PIL tự động tải khung đầu tiên trong trình tự. Để di chuyển giữa các khung khác nhau, bạn có thể sử dụng phương pháp tìm kiếm và nói.
from PIL import Image
img = Image.open('bird.jpg')
#Skip to the second frame
img.seek(1)
try:
while 1:
img.seek(img.tell() + 1)
#do_something to img
except EOFError:
#End of sequence
pass
Đầu ra
raise EOFError
EOFError
Như chúng ta có thể thấy ở trên, bạn sẽ nhận được ngoại lệ EOFError khi trình tự kết thúc.
Hầu hết các trình điều khiển trong phiên bản thư viện mới nhất chỉ cho phép bạn tìm đến khung tiếp theo (như trong ví dụ trên), để tua lại tệp, bạn có thể phải mở lại.
Một lớp trình lặp trình tự
class ImageSequence:
def __init__(self, img):
self.img = img
def __getitem__(self, ix):
try:
if ix:
self.img.seek(ix)
return self.img
except EOFError:
raise IndexError # end of sequence
for frame in ImageSequence(img):
# ...do something to frame...