CodeGym /Khóa học Java /Python SELF VI /Giới thiệu xử lý hình ảnh với thư viện Pillow

Giới thiệu xử lý hình ảnh với thư viện Pillow

Python SELF VI
Mức độ , Bài học
Có sẵn

1. Các khái niệm cơ bản về xử lý hình ảnh

Tại sao cần xử lý hình ảnh?

Xin chào các bậc thầy kỹ thuật số mới chớm nở! Hôm nay chúng ta sẽ khám phá thế giới kỳ bí của xử lý hình ảnh bằng Python và thư viện Pillow. Đây sẽ là bước đầu tiên của bạn đến với "phép thuật", nơi chương trình của bạn có thể chỉnh sửa hình ảnh nhanh hơn bạn có thể nói "Pillow". Trong chương trình hôm nay: xử lý hình ảnh là gì, tại sao nó cần thiết và làm thế nào để chinh phục các pixel bằng Pillow. Sẵn sàng chưa? Hãy cùng khám phá nào!

Xử lý hình ảnh là bài toán về cách làm thế nào để biến một bức ảnh kỹ thuật số thô sơ thành một kiệt tác. Bạn đã từng thu nhỏ một bức ảnh để gửi cho bạn bè chưa? Hoặc thêm văn bản lên hình ảnh để giải thích điều gì kỳ lạ đã lọt vào khung hình? Tất cả đó chính là xử lý hình ảnh.

Các nhiệm vụ chính

Xử lý hình ảnh bao gồm rất nhiều nhiệm vụ, từ việc thay đổi kích thước đơn giản đến áp dụng các hiệu ứng khác nhau và tạo ra các bức ảnh ghép. Dưới đây là một số ví dụ:

  • Thay đổi kích thước: Chúng ta luôn muốn các bức ảnh mang đủ "hành lý" pixel quan trọng của mình, nhưng đôi khi cần phải nén lại — ví dụ, dành cho các website.
  • Chuyển đổi định dạng: Muốn đổi từ JPEG sang PNG xịn xò để giữ chất lượng? Chương trình của bạn có thể làm điều đó giúp bạn.
  • Thêm đồ họa: Watermark, chú thích văn bản và nhiều thứ khác — tất cả chỉ trong vài cú lệnh code.

2. Khả năng của thư viện Pillow

Pillow là một thư viện Python cho phép xử lý hình ảnh. Đây là bản fork của thư viện PIL (Python Imaging Library) cũ hơn, nhưng Pillow mở rộng chức năng của nó và hỗ trợ các định dạng hình ảnh hiện đại. Nếu PIL giống như chiếc máy nhắn tin trong thế giới các thư viện Python, thì Pillow chính là chiếc smartphone.

Khả năng của Pillow:

  • Thay đổi kích thước hình ảnh
  • Cắt và xoay
  • Thêm text và watermark
  • Chuyển đổi định dạng hình ảnh (ví dụ, từ PNG sang JPEG)
  • Thay đổi bảng màu và thêm bộ lọc

Khái quát về Pillow

Pillow hỗ trợ một loạt các định dạng hình ảnh rộng lớn như JPEG, PNG, BMP, GIF và cả những định dạng "huyền bí" như TIFF. Nó cho phép bạn không chỉ nhìn hình ảnh, mà còn xoay chúng, thay đổi màu sắc và tạo ra thumbnail. Sự đặc biệt ở đây là Pillow thực hiện điều đó nhanh và dễ như thể đó là công việc sinh ra cho nó.

3. Cài đặt Pillow

Hãy cùng làm quen với người bạn mới của chúng ta — Pillow, và học cách cài đặt nó. May mắn thay, điều này không khó hơn việc cài một ứng dụng trên điện thoại của bạn. Bây giờ, hãy bắt đầu:

Bash

pip install pillow

Chỉ một dòng lệnh, và Python của bạn đã sẵn sàng xử lý hình ảnh như một chuyên gia thực thụ. Sau khi cài đặt, hãy chắc chắn rằng mọi thứ hoạt động bằng cách viết một đoạn script nhỏ để mở và hiển thị hình ảnh.

Python

from PIL import Image

# Mở hình ảnh
image = Image.open("path_to_your_image.jpg")

# Hiển thị hình ảnh
image.show()

Trong Pillow, hầu hết các chức năng được triển khai qua lớp Image. Các phương thức của nó cho phép dễ dàng tải, chỉnh sửa và lưu trữ hình ảnh.

Kiểm tra cài đặt

Chạy script này sẽ mở hình ảnh của bạn trong ứng dụng xem hình ảnh mặc định. Nếu điều đó xảy ra — chúc mừng, bạn và Pillow giờ đã chính thức là một đội!

4. Trình diễn phép thuật của Pillow

Mở và xem hình ảnh

Sử dụng Pillow giống như học cách thực hiện phép thuật với ảnh: bạn tải một hình ảnh, và chỉ cần vài dòng code, bạn có thể biến nó thành điều gì đó mới mẻ. Hãy thử làm điều gì đó thú vị.

Python

# Import module Image
from PIL import Image

# Mở hình ảnh
image = Image.open("path_to_your_image.jpg")

# Kiểm tra kích thước hình ảnh
print(image.size)

# Thay đổi kích thước
image = image.resize((300, 200))  # Đặt kích thước mới

# Lưu hình ảnh mới
image.save("resized_image.jpg")

Khi sử dụng phương thức resize, chúng ta điều chỉnh kích thước hình ảnh thành kích thước chỉ định (300x200 pixel). Khi hình ảnh của bạn quá lớn hoặc quá nhỏ, bạn có thể điều chỉnh điều đó với Pillow, giống như một DJ điều chỉnh nhạc cụ của mình.

Xoay và thay đổi độ sáng

Chúng ta có thể tiến xa hơn và thêm một chút phép màu với ánh sáng và bóng tối:

Python

# Có thể xoay hình ảnh
rotated_image = image.rotate(45)  # Xoay 45 độ
rotated_image.show()

# Thay đổi độ sáng
from PIL import ImageEnhance

enhancer = ImageEnhance.Brightness(image)
brightened_image = enhancer.enhance(2)  # Tăng độ sáng lên gấp 2 lần
brightened_image.show()

Xoay như vòng quay ngựa gỗ và thay đổi độ sáng, chúng ta bắt đầu nhận ra sự tuyệt vời của cây cọ kỹ thuật số trong tay mình. Đây chỉ là phần nổi của tảng băng về khả năng của Pillow.

5. Kết luận

Bóng tối đang bao phủ, nhưng script của bạn vẫn sáng bừng vì có Pillow trong đó. Bây giờ bạn đã có công cụ mạnh mẽ để làm việc với hình ảnh: từ thay đổi kích thước và định dạng đến các chuyển đổi phức tạp hơn. Bạn có thể xử lý hình ảnh một cách tự động, khiến chúng làm những gì bạn muốn, khi bạn muốn!

Trong buổi tiếp theo, chúng ta sẽ tiếp tục khám phá thêm thế giới của Pillow và học cách thiết lập môi trường phát triển để làm việc với thư viện này, và tạo ra các script tự động hóa đầu tiên của bạn. Hẹn gặp lại trong những cuộc phiêu lưu code tiếp theo!

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION