/ / Cách chuyển đổi định dạng tệp hình ảnh bằng Python

Cách chuyển đổi định dạng tệp hình ảnh bằng Python

Python được biết đến với tính linh hoạt của nó. Bạn có thể tạo các công cụ tiện ích trong thế giới thực bằng Python có thể đơn giản hóa và tự động hóa các tác vụ nhất định.


Tìm hiểu cách tạo bộ chuyển đổi loại hình ảnh chỉ với một vài dòng mã Python đơn giản. Cho dù đó là một tệp hình ảnh đơn lẻ hay tất cả các tệp trong một thư mục, bạn có thể dễ dàng chuyển đổi giữa các định dạng khác nhau.


Cài đặt Thư viện Bắt buộc

Bạn cần cài đặt Cái gối Thư viện Python để xây dựng một trình chuyển đổi kiểu hình ảnh bằng Python. Thư viện này nâng cao khả năng xử lý hình ảnh của trình thông dịch Python của bạn. Bạn có thể tạo một công cụ xử lý hình ảnh chung bằng cách sử dụng một số mô-đun của thư viện này. Một số hữu ích nhất là Hình ảnh, ImageFile, ImageFilterImageStat các mô-đun.

Chạy lệnh sau trong thiết bị đầu cuối để cài đặt thư viện Pillow Python:

pip install pillow

Khi bạn đã cài đặt Pillow trên hệ thống của mình, bạn đã sẵn sàng làm việc với hình ảnh.

Thuộc tính tải và hiển thị của một hình ảnh

Trước tiên, bạn cần nhập Hình ảnh mô-đun từ PIL thư viện để thiết lập mã. Tiếp theo, bạn cần sử dụng Image.open () để tải hình ảnh và gán nó cho một biến. Khi bạn đã tải hình ảnh, bạn có thể hiển thị hình ảnh đó bằng cách sử dụng buổi bieu diễn() phương pháp.

Mã chuyển đổi định dạng hình ảnh có sẵn trong kho lưu trữ GitHub và miễn phí cho bạn sử dụng theo Giấy phép MIT.

from PIL import Image
image = Image.open('sample-image.jpg')
image.show()

Hình ảnh mà bạn đã chuyển làm tham số cho mở() phương thức sẽ mở ra sau khi bạn thực thi mã. Đây là bước đầu tiên tốt, như một bước kiểm tra sự tỉnh táo, để đảm bảo bạn đã cài đặt thành công thư viện trên hệ thống của mình.

Mô-đun Hình ảnh cung cấp một số thuộc tính khác mà bạn có thể sử dụng để biết thêm thông tin về hình ảnh.


from PIL import Image


image = Image.open('sample-image.jpg')


print("Filename: ", image.filename)


print("Format: ", image.format)


print("Mode: ", image.mode)


print("Size: ", image.size)


print("Width: ", image.width)


print("Height: ", image.height)


image.close()

Bạn sẽ thấy một số dữ liệu có ý nghĩa và không có lỗi:

Cách chuyển đổi định dạng hình ảnh bằng Python

Bạn có thể chỉ cần chuyển đổi định dạng tệp của hình ảnh bằng cách sử dụng tiết kiệm() phương pháp. Bạn chỉ cần vượt qua cái mới tên tập tin và phần mở rộng làm tham số cho tiết kiệm() phương pháp. Các tiết kiệm() phương pháp sẽ tự động xác định phần mở rộng mà bạn đã vượt qua và sau đó lưu hình ảnh ở định dạng đã xác định. Nhưng trước khi sử dụng tiết kiệm() bạn có thể cần chỉ định chế độ của hình ảnh (RGB, RGBA, CMYK, HSV, v.v.).

Theo tài liệu gối chính thức, chế độ của hình ảnh là một chuỗi xác định loại và độ sâu của pixel trong hình ảnh. Thư viện gối hỗ trợ 11 chế độ bao gồm các chế độ tiêu chuẩn sau:

RGB (Pixel 3×8-bit, màu sắc trung thực)

RGBA (Pixel 4×8-bit, màu sắc trung thực với mặt nạ trong suốt)

CMYK (Pixel 4×8-bit, tách màu)

HSV (Pixel 3×8-bit, Hue, Saturation, Value color space)

Cách chuyển đổi hình ảnh từ PNG sang JPG và JPG sang PNG

Bạn cần chuyển chuỗi filename.jpg như một tham số cho tiết kiệm() phương pháp chuyển đổi các tệp hình ảnh ở bất kỳ định dạng nào (PNG, GIF, BMP, TIFF, v.v.) sang định dạng JPG. Ngoài ra, bạn cần cung cấp chế độ của hình ảnh. Đoạn mã sau chuyển đổi hình ảnh từ định dạng PNG sang định dạng JPG:


from PIL import Image


image = Image.open('sample-png-image.png')


image = image.convert('RGB')


image.save("converted-jpg-image.jpg")
print("Image successfully converted!"

Bạn sẽ mất bất kỳ độ trong suốt nào trong một hình ảnh nếu bạn chuyển đổi nó sang định dạng JPG. Nếu bạn cố gắng duy trì sự trong suốt bằng cách sử dụng RGBA Python sẽ xuất hiện một lỗi.

Bạn có thể chuyển đổi hình ảnh ở bất kỳ định dạng nào sang định dạng PNG bằng cách sử dụng tiết kiệm() phương pháp. Bạn chỉ cần chuyển hình ảnh PNG làm tham số cho tiết kiệm() phương pháp. Đoạn mã sau chuyển đổi hình ảnh từ định dạng JPG sang định dạng PNG:


from PIL import Image


image = Image.open('sample-jpg-image.jpg')


image.save("converted-png-image.png")
print("Image successfully converted!")

Việc chuyển đổi hình ảnh sang PNG sẽ bảo toàn độ trong suốt. Ví dụ: nếu bạn chuyển đổi ảnh GIF trong suốt sang ảnh PNG, kết quả sẽ vẫn là ảnh trong suốt.

Cách chuyển đổi hình ảnh sang bất kỳ định dạng nào khác bằng Python

Tương tự như các bước ở trên, bạn có thể chuyển đổi hình ảnh ở bất kỳ định dạng nào sang bất kỳ định dạng nào khác bằng cách sử dụng tiết kiệm() phương pháp. Bạn chỉ cần cung cấp đúng phần mở rộng hình ảnh (.webp, .png, .bmp, v.v.) cho tiết kiệm() phương pháp. Ví dụ: đoạn mã sau chuyển đổi hình ảnh từ định dạng PNG sang WebP:


from PIL import Image


image = Image.open('sample-transparent-png-image.png')


image.save("converted-webp-image.webp")
print("Image successfully converted!")

Xử lý lỗi khi thiếu tệp hình ảnh

Trong trường hợp mã không thể tìm thấy hình ảnh đầu vào, nó sẽ báo lỗi. Bạn có thể xử lý điều này bằng cách sử dụng FileNotFoundError Ngoại lệ Python.


from PIL import Image

try:
image = Image.open('wrong-filename.jpg')


image.save("converted-png-image.png")
print("Image successfully converted!")

except FileNotFoundError:
print("Couldn't find the provided image")

Chuyển đổi tất cả các hình ảnh trong một thư mục sang một định dạng khác

Nếu có một số tệp hình ảnh trong một thư mục mà bạn muốn chuyển đổi sang một định dạng khác, bạn có thể dễ dàng thực hiện việc đó chỉ với một vài dòng mã bằng Python. Bạn cần nhập quả cầu thư viện để lặp qua các tệp trong thư mục hiện tại hoặc bên trong một thư mục nhất định. Đoạn mã sau chuyển đổi tất cả các hình ảnh JPG trong thư mục hiện tại sang định dạng PNG:

from PIL import Image
import glob

for file in glob.glob("*.jpg"):
image = Image.open(file)
image.save(file.replace("jpg", "png"))

Nếu bạn muốn chuyển đổi một tập hợp tệp khác, hãy thay đổi tham số chuỗi mà bạn chuyển cho cầu () phương pháp.

Xây dựng GUI bằng Python

Các thư viện Python như Pillow giúp bạn dễ dàng phát triển các công cụ để xử lý hình ảnh bằng Python. Bạn có thể thực hiện các tác vụ nhanh chóng với giao diện dòng lệnh nhưng GUI là điều cần thiết để tạo ra trải nghiệm thân thiện với người dùng. Bạn có thể tạo các ứng dụng GUI chuyên dụng hơn bằng cách sử dụng các khung Python như Tkinter và wxPython.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *