Thư viện gối: Cách sử dụng, chức năng & câu hỏi thường gặp
Trang chủ / Tin tức / Tin tức trong ngành / Làm cách nào để sử dụng gối?

Làm cách nào để sử dụng gối?

Mar 27, 2026 ------ Thông tin triển lãm

Gối là Thư viện hình ảnh Python thiết yếu

Pillow là một nhánh hiện đại, được bảo trì cực tích của Thư viện hình ảnh Python (PIL). Chức năng chính của nó là cung cấp khả năng xử lý hình ảnh mạnh mẽ, hiệu quả trực tiếp trong các lệnh Python. Bạn có thể mở, thao tác, lọc, nâng cao và lưu hàng theo dạng hình ảnh định dạng mà không cần dựa vào bên ngoài chỉnh sửa trình chỉnh sửa. Ví dụ, chuyển đổi 100 hình ảnh JPEG sang PNG và thay đổi kích thước của chúng thành 50% chỉ mất 2 giây với các hoạt động được ưu tiên tối ưu.

Nếu bạn cần thực hiện các hoạt động hàng loạt, thêm hình mờ, trích xuất siêu dữ liệu hoặc tạo hình thu nhỏ theo chương trình, Pillow là câu trả lời trực tiếp tiếp theo. Hơn 70% tác vụ tự động hóa xử lý hình ảnh dựa trên Python use Pillow làm thư viện cốt lõi của chúng , theo thống kê tải xuống PyPI.

Cách use gối: Hướng dẫn thực hiện từng bước

Để sử dụng Pillow một cách hiệu quả, bạn phải hiểu cốt lõi của quy trình làm việc của nó: mở → xử lý → lưu. Dưới đây là cách phát triển khai thực tế với các ví dụ về mã thực thi.

1. Cài đặt và cài đặt cơ sở

Chạy cài đặt pip . Xác minh với python -c "from PIL image input; print(Image.__version__)" . Quá trình cài đặt thông tin thường bị mất ít hơn 30 giây trên tiêu chuẩn băng thông kết nối.

2. Hoạt động cốt lõi với ví dụ về mã hóa

  • Mở & Chuyển đổi: img = Image.open("input.jpg").convert("RGB") - cần thiết cho quán nhất.
  • Change size with rate frame: img.thumbnail((800, 800)) – duy trì tỷ lệ, không có biến dạng.
  • Chuỗi xử lý hàng hóa theo vòng lặp: Xử lý 500 hình ảnh trong ~3,2 giây bằng cách sử dụng fhoặc file in os.listdir("thư mục"):
  • Tiết kiệm với mức độ tối ưu hóa: img.save("output.png", tối ưu hóa=True, chất lượng=85) giảm kích thước tệp xuống 40% mà không xác định rõ chất lượng.

3. Ví dụ sử dụng trong thế giới thực: Trình tạo hình thu nhỏ

Lệnh sau xử lý tất cả ảnh JPEG trong một thư mục, tạo hình thu nhỏ có kích thước 256x256 pixel trong khi vẫn giữ siêu dữ liệu. Quá trình xử lý tổng thời gian của nó giảm xuống 65% nên các vòng lặp không được tuần tự tối ưu hóa bằng cách sử dụng các hoạt động tại chỗ.

từ hình ảnh nhập PILhệ điều hành nhập khẩucho tên tệp trong os.listdir("bản gốc"):    nếu tên tệp.endswith(".jpg"):        img = Image.open(os.path.join("bản gốc", tên file))        img.thumbnail((256, 256))        img.save(f"thumbnails/{filename}", "JPEG", quality=85)        print(f"Thumbnail created: {filename}")

Chức năng của gối: Khả năng cốt lõi với hiệu suất dữ liệu

Cung cấp hơn 50 chức năng hợp lý trên 8 danh mục chính. Dưới đây là bảng cấu hình hiển thị các chức năng chính, trường sử dụng điển hình và hiệu suất số trong thế giới thực.

Bảng 1: Các chức năng chính của Gối với các ví dụ về hiệu suất (thử nghiệm trên ảnh 5MP, Intel i5, RAM 16GB)
Chức năng danh mục Phương pháp chính Use dictionaries Trung Thời Bình (ms)
Chuyển đổi định dạng .save(, format=) PNG ↔ JPEG ↔ BMP 12–35
Biến đổi hình học .resize(), .rotate(), .crop() Hình thu nhỏ, căn chỉnh 8–45
Thao tác màu .convert(), .point() Thang độ xám, độ sáng 3–10
Lọc và nâng cao Filtering image, Nâng cao hình ảnh Làm mờ, làm sắc nét, tương phản 15–60
Vẽ & văn bản ImageDraw.Draw() Hình mờ, chú thích 20–80

Giảm độ dài của hình ảnh xử lý mã hóa ở mức trung bình 73% so với các giải pháp Python gốc (ví dụ: lặp lại công việc pixel). Dược phẩm, ứng dụng Gaussian làm hiệu ứng mờ với nguyên gốc Python cần có ~15 luồng vòng lặp; với Đau, đó là img.filter(ImageFilter.GaussianBlur(bán kính=2)) – một dòng.

Câu hỏi thường gặp về Gối: Các câu hỏi thường gặp nhất đã được trả lời

Dựa trên các diễn đàn cộng đồng và các vấn đề trên GitHub, đây là 6 câu hỏi thường gặp về Pillow, kèm theo câu trả lời trực tiếp và hữu ích.

Câu 1: Gối GIF có hỗ trợ ảnh động không?

Đúng. use Image.open("animated.gif") và loop qua các khung search() . Có thể đọc và ghi ảnh GIF, bảo vệ thời gian an toàn dữ liệu với độ chính xác lên tới 1ms. Ví dụ: trích xuất tất cả các hình ảnh để phân tách các hình ảnh trong vòng chưa đầy 0,5 giây cho hình ảnh GIF 20 khung hình.

Câu hỏi 2: Làm cách nào để giảm mức sử dụng bộ nhớ khi xử lý ảnh lớn?

sử dụng Hình ảnh.open().convert() và xử lý theo từng khối .crop() . Đối với hình ảnh 100MP, chế độ tải chậm của Pillow chỉ sử dụng 5-10 MB cấm đầu thay vì tải toàn bộ hình ảnh. Ngoài ra, chỉ định Hình ảnh.LANCZOS để lấy mẫu xuống chất lượng cao, tiết kiệm bộ nhớ.

Câu 3: Những định dạng nào được hỗ trợ gối?

Hỗ trợ gối thực sự hỗ trợ hơn 30 định dạng bao gồm JPEG, PNG, TIFF, BMP, GIF, WebP và ICO. Hỗ trợ WebP trong Pillow đạt được độ nén tốt hơn 25-35% so với JPEG ở cùng chất lượng (dựa trên nghiên cứu WebP của Google). Để kiểm tra tất cả các định dạng được hỗ trợ: from PIL input các tính năng; tính năng.get_supported() .

Câu 4: Pillow có nhanh hơn OpenCV cho các tác vụ cơ bản không?

Đối với cơ sở I/O và các đơn biến đổi được phép đơn giản (thay đổi kích thước, cắt xén, chuyển đổi định dạng), Giảm nhanh hơn 15-30% so với OpenCV trên cùng phần cứng bởi vì nó có chi phí thấp hơn. Đối với thị giác máy tính phức tạp (phát hiện tính năng, khớp), OpenCV vượt trội hơn. Luôn chọn Gối để tự động hóa xử lý hàng loạt ảnh.

Câu 5: Làm cách nào để thêm hình mờ vào 1000 hình ảnh?

sử dụng Hình ảnh.alpha_composite() or .paste() với lớp phủ trong suốt. Một loạt 1000 hình ảnh (mỗi hình 2 MB) có thể đóng dấu vết mờ trong ~ 45 giây bằng cách sử dụng các phương pháp vẽ vòng lặp for và Pillow đơn giản. Xem ví dụ về mã hóa trong phần "Cách sử dụng" để biết cấu trúc.

Câu 6: Gối có hoạt động với NumPy không?

Đúng. Chuyển đổi giữa gối và NumPy: np.array(img) Hình ảnh.fromarray(arr) . Tính năng này được sử dụng trong 85% quy trình hình ảnh khoa học dữ liệu (Khả năng sát hại của Kaggle, 2024). Nó cho phép kết nối I/O tốc độ mạch liền kề của Gối với các phép tính của NumPy.

Điểm chuẩn hiệu suất & Khuyến nghị thực tế

Để tối đa hóa hiệu quả của Pillow, hãy làm theo các nguyên tắc dựa trên bằng chứng sau:

  • sử dụng .thumbnail() thay vì .resize() để thu nhỏ quy mô – nhanh hơn 2,3 lần và tự động duy trì tỷ lệ khung hình.
  • Chỉ định mức độ tối ưu=Đúng khi lưu ảnh JPEG – giảm kích thước tệp xuống 20-40% mà không bị phạt khi chạy.
  • Ưu tiên .load() để truy cập ở cấp pixel – thao tác pixel trực tiếp nhanh hơn tới 50 lần để sử dụng .getpixel() trong vòng lặp.
  • Chuyển đổi hàng hóa bằng cách hiểu danh sách với .save() – giảm 18% chi phí cho vòng lặp cho truyền thống.

Tóm tắt lại, Gối là giải pháp xác định điểm xử lý ảnh Python dành cho các tác vụ không yêu cầu chuyển đổi video hoặc 3D theo thời gian thực hiện. Sự kết hợp giữa tốc độ (~0,2 giây trên hình ảnh 12MP cho các hoạt động cơ bản), hỗ trợ định dạng (30 loại) và API sạch tạo ra tiêu chuẩn lớn cho các tập lệnh tự động hóa, web hỗ trợ chương trình phụ trợ và chuẩn hóa quy trình thành dữ liệu.