Cách thay đổi kích thước nhiều hình ảnh trong python

Trong bài đăng này, tôi sẽ giải thích cách đọc nhiều hình ảnh từ một thư mục, thay đổi kích thước chúng, lưu chúng vào một thư mục mới [có hoặc không đổi tên chúng] và hiển thị từng cái một

Đầu tiên, chúng tôi sẽ nhập các thư viện cần thiết

Bây giờ để thay đổi kích thước hình ảnh, chúng tôi sẽ tạo một thư mục đầu ra mới, đọc từng hình ảnh từ thư mục đầu vào bằng vòng lặp for, thay đổi kích thước hình ảnh, lưu chúng vào thư mục đầu ra và hiển thị từng hình ảnh đã thay đổi kích thước

Bây giờ trong mã này, chúng tôi đang đọc hình ảnh từ Thư mục đầu vào

Tạo một thư mục mới Đã thay đổi kích thước

i = 0 sẽ được sử dụng để đổi tên hình ảnh mà chúng tôi lưu trong thư mục Đã thay đổi kích thước

Trong vòng lặp for, chúng tôi đang đọc từng hình ảnh một bằng cách sử dụng cv2. imread

cv2. thay đổi kích thước được sử dụng để thay đổi kích thước hình ảnh

cv2. imwrite được sử dụng để ghi các hình ảnh đã thay đổi kích thước vào thư mục đầu ra, i = 0 mà chúng tôi đã xác định trước đó được sử dụng ở đây để đổi tên các hình ảnh

cv2. imshow cùng với cv. waitKey được sử dụng để hiển thị hình ảnh đã thay đổi kích thước

Nếu cần giữ lại tên của các hình ảnh đã thay đổi kích thước thì có thể sử dụng mã bên dưới

Khi chúng tôi đọc các hình ảnh đầu vào trong 'img', nó cũng sẽ chứa tên của thư mục chứa chúng, tôi. e, đường dẫn đầy đủ của hình ảnh và để lấy tên của hình ảnh, chúng ta phải xóa tên của thư mục đầu vào khỏi nó để thư mụcLen có độ dài bằng tên của thư mục đầu vào và trong cv2. imwrite chúng tôi đang xóa nó và chỉ lấy tên của hình ảnh tại img[folderLen. ]

Bài viết ngắn này sẽ chỉ cho bạn từng bước cách sử dụng Gối trong Python tập trung vào thay đổi kích thước hàng loạt hình ảnh với một tập lệnh mẫu. Mặc dù thư viện Gối này đã được giới thiệu từ lâu nhưng nó vẫn mạnh mẽ và rất hữu ích như năm 2020

Ví dụ về việc sử dụng Python với Gối để thay đổi kích thước tất cả hình ảnh trong một thư mục. [gif của tác giả]

Ví dụ: hình ảnh gif ở trên cho thấy Python với Gối có thể thay đổi kích thước/thay đổi tỷ lệ tất cả các tệp hình ảnh trong một thư mục chỉ với ~ 8-10 dòng mã. Một số thao tác có thể được thực hiện với Gối như thay đổi kích thước, thay đổi tỷ lệ, xoay, chuyển đổi, chuyển đổi giữa các định dạng tệp, tăng cường độ tương phản, v.v.

Bắt đầu nào

Cài đặt

Bạn chỉ cần cài đặt thư viện Gối bằng cách sử dụng pip như sau

$ pip install pillow

Gối mới nhất không còn được hỗ trợ với Python 2. x. Bạn có thể kiểm tra phiên bản Gối để khớp với phiên bản Python của bạn bên dưới

Hỗ trợ phiên bản gối [Nguồn. https. //cái gối. đọcthedocs. io/vi/ổn định/cài đặt. html]

Sử dụng cơ bản

Khái niệm Gối khá đơn giản với ba bước này

  1. Tải một hình ảnh [Hoặc tấn hình ảnh]
  2. Thực hiện một số thao tác chỉnh sửa/thao tác hình ảnh
  3. Lưu hình ảnh đã chỉnh sửa ở định dạng bạn thích
from PIL import Image
# ---- 1 ----
im = Image.open["input_path"]
# ---- 2 ----
# .. Do some operation
# ---- 3 ----
im = Image.save["output_path"]

Hỗ trợ các định dạng

Gối hỗ trợ nhiều định dạng tệp raster. Thư viện có thể xác định và đọc hơn 30 định dạng tệp khác nhau. Hỗ trợ viết ít rộng rãi hơn, nhưng hầu hết các định dạng trình bày và trao đổi phổ biến đều được hỗ trợ. [1]

Bây giờ, hãy xem một số ví dụ thực tế

thực hành

Bạn có thể lặp qua từng tệp hình ảnh trong thư mục bằng cách sử dụng pathlib hoặc os sau đó sử dụng Gối để tải hình ảnh. Sau đó, bạn có thể sử dụng lệnh thumbnail để thu nhỏ kích thước hình ảnh xuống giá trị chiều rộng tối đa hoặc chiều cao tối đa được chỉ định và giữ nguyên khía cạnh của hình ảnh

# Load image 
im = Image.open[input_img_path]
# Smaller image/ preserve the aspect of the image
resized_im = im.thumbnail[, ]
# Or Resize image to exact specified size
resized_im = im
.resize[, ]
# Then, save the resized image
resized_im.save[, , dpi, ...]

Ví dụ: tập lệnh bên dưới cho biết cách thay đổi kích thước tất cả hình ảnh trong thư mục có tên là “đầu vào” của bạn để có chiều rộng và chiều cao tối đa là 512 pixel, đồng thời giữ nguyên kích thước của hình ảnh và lưu chúng với cùng tên là định dạng JPEG ở 300 dpi trong . Ví dụ này sử dụng pathlib để lặp qua tất cả các tệp trong một thư mục

thay đổi kích thước hình ảnh. py

Với tập lệnh này, bạn có thể thêm bất kỳ thao tác hình ảnh nào giữa dòng 7 và 8. Chẳng hạn như xoay, chuyển đổi, chuyển đổi giữa các định dạng tệp, tăng cường độ tương phản. Bạn có thể thấy danh sách các thao tác khả dụng từ tài liệu Gối

Ngoài ra, có một số công cụ Thao tác hình ảnh Python khác để sử dụng như OpenCV và scikit Image

Những từ cuối

Vì vậy, đó là về nó. Tôi hy vọng bạn thích bài viết này và thấy nó hữu ích cho công việc hoặc dự án hàng ngày của bạn. Vui lòng để lại tin nhắn cho tôi nếu bạn có bất kỳ câu hỏi hoặc nhận xét nào

Giới thiệu về tôi & Kiểm tra tất cả nội dung blog của tôi. liên kết

Hãy an toàn và khỏe mạnh. 💪

Cảm ơn bạn đã đọc. 📚

Người giới thiệu

[1] Alex Clark https. //cái gối. đọcthedocs. io/en/ổn định/sổ tay/định dạng tệp hình ảnh. html [2020], Gối [PIL Fork]

Làm cách nào để thay đổi kích thước nhiều ảnh cùng một lúc?

Thay đổi kích thước hàng loạt ảnh trong 5 bước đơn giản. .
Hợp nhất hình ảnh của bạn. Đặt tất cả các hình ảnh bạn muốn thay đổi kích thước trong một thư mục
Nhập để bắt đầu. Chọn Nhập rồi chọn hình ảnh của bạn
Xuất để thay đổi kích thước. Tìm Cài đặt tệp và Kích thước hình ảnh trên màn hình xuất. .
Chọn chiều rộng và chiều cao hình ảnh của bạn. .
chọn vị trí của bạn

Bạn có thể thay đổi kích thước hình ảnh bằng Python không?

Để thay đổi kích thước hình ảnh, bạn gọi phương thức resize[] trên hình ảnh đó, chuyển vào đối số bộ hai số nguyên biểu thị chiều rộng và chiều cao của hình ảnh đã thay đổi kích thước . Chức năng này không sửa đổi hình ảnh được sử dụng; .

Chủ Đề