Gối Python - Sử dụng Mô-đun Hình ảnh
Để hiển thị hình ảnh, thư viện gối đang sử dụng một lớp hình ảnh bên trong nó. Mô-đun hình ảnh bên trong gói gối chứa một số chức năng sẵn có quan trọng như tải hình ảnh hoặc tạo hình ảnh mới, v.v.
Mở, xoay và hiển thị hình ảnh
Để tải hình ảnh, chúng tôi chỉ cần nhập mô-đun hình ảnh từ gối và gọi Image.open(), chuyển tên tệp hình ảnh.
Thay vì gọi mô-đun Pillow, chúng tôi sẽ gọi mô-đun PIL để làm cho nó tương thích ngược với một mô-đun cũ hơn được gọi là Thư viện ảnh Python (PIL). Đó là lý do tại sao mã của chúng tôi bắt đầu bằng“from PIL import Image” thay vì “from Pillow import Image”.
Tiếp theo, chúng tôi sẽ tải hình ảnh bằng cách gọi Image.open() function, trả về một giá trị của kiểu dữ liệu đối tượng Hình ảnh. Bất kỳ sửa đổi nào chúng tôi thực hiện đối với đối tượng hình ảnh đều có thể được lưu vào tệp hình ảnh vớisave()phương pháp. Đối tượng hình ảnh chúng tôi nhận được bằng cách sử dụngImage.open(), sau này có thể được sử dụng để thay đổi kích thước, cắt, vẽ hoặc các lệnh gọi phương thức thao tác hình ảnh khác trên đối tượng Hình ảnh này.
Thí dụ
Ví dụ sau minh họa việc xoay một hình ảnh bằng cách sử dụng gối con trăn:
from PIL import Image
#Open image using Image module
im = Image.open("images/cuba.jpg")
#Show actual Image
im.show()
#Show rotated Image
im = im.rotate(45)
im.show()
Đầu ra
Nếu bạn lưu chương trình trên dưới dạng example.py và thực thi, nó sẽ hiển thị các hình ảnh gốc và được xoay bằng tiện ích hiển thị PNG tiêu chuẩn, như sau:
Actual image
Rotated image (45 degrees)
Các thuộc tính của mô-đun hình ảnh
Thể hiện của lớp Image có một số thuộc tính. Hãy thử tìm hiểu một vài trong số chúng bằng ví dụ -
Image.filename
Hàm này dùng để lấy tên tệp hoặc đường dẫn của ảnh.
>>>image = Image.open('beach1.jpg')
>>> image.filename
'beach1.jpg'
Định dạng hình ảnh
Hàm này trả về định dạng tệp của tệp hình ảnh như 'JPEG', 'BMP', 'PNG', v.v.
>>> image = Image.open('beach1.jpg')
>>>
>>> image.format
'JPEG'
Chế độ ảnh
Nó được sử dụng để lấy định dạng pixel được sử dụng bởi hình ảnh. Các giá trị điển hình là “1”, “L”, “RGB” hoặc “CMYK”.
>>> image.mode
'RGB'
Kích thước ảnh
Nó trả về bộ giá trị bao gồm chiều cao và trọng lượng của hình ảnh.
>>> image.size
(1280, 721)
Chiều rộng hình ảnh
Nó chỉ trả về chiều rộng của hình ảnh.
>>> image.width
1280
Image.height
Nó chỉ trả về chiều cao của hình ảnh.
>>> image.height
721
Image.info
Nó trả về một từ điển chứa dữ liệu được liên kết với hình ảnh.
>>> image.info
{'jfif': 257, 'jfif_version': (1, 1), 'dpi': (300, 300), 'jfif_unit': 1, 'jfif_density': (300, 300), 'exif': b"Exif\x00\x00MM\x00*\x00\x00\x00
....
....
\xeb\x00\x00'\x10\x00\x00\xd7\xb3\x00\x00\x03\xe8"}
Image.palette
Nó trả về bảng bảng màu, nếu có.
>>> image.palette
Output above - Không có