Làm thế nào để thay đổi kích thước hình ảnh hoạt động Python?

Gối là một nhánh của Thư viện hình ảnh Python (PIL) và là một trong những công cụ Python hữu ích nhất để thay đổi kích thước hình ảnh. Gối thực sự có thể thực hiện rất nhiều tác vụ xử lý hình ảnh, từ lấy thông tin về định dạng hình ảnh, chuyển đổi loại hình ảnh hoặc cắt xén hoặc thay đổi kích thước hình ảnh

Trong dự án đơn giản này, chúng ta sẽ xem qua một số mã ví dụ mà bạn có thể sử dụng để thay đổi kích thước hàng loạt hình ảnh thành hình thu nhỏ hoặc các kích thước khác bằng Python

Nhập các gói

Để bắt đầu, hãy mở một sổ ghi chép Jupyter và nhập các gói images = os.listdir(path) images 0 và images = os.listdir(path) images 1. Chúng tôi sẽ sử dụng lớp images = os.listdir(path) images 2 từ Gối. Điều này bao gồm một loạt các chức năng hữu ích mà bạn có thể sử dụng để mở và tương tác với các hình ảnh được lưu trữ trên máy tính hoặc máy chủ của mình

import os from PIL import Image

Nhận danh sách hình ảnh bên trong một thư mục

Tiếp theo, bạn sẽ cần đặt một số hình ảnh đã chọn vào một thư mục trên máy chủ máy tính hoặc máy tính xách tay của mình để chúng tôi có thể truy cập chúng và thay đổi kích thước hoặc chuyển đổi chúng thành hình thu nhỏ. Tôi đã lưu trữ các hình ảnh của mình trong một thư mục có tên là images = os.listdir(path) images 3 và đã lưu trữ nó trong một biến có tên là images = os.listdir(path) images 4

Bây giờ tôi sẽ sử dụng hàm images = os.listdir(path) images 5 từ gói Python OS để lấy tên tệp của từng tệp trong thư mục của tôi. Hàm trả về một danh sách Python, vì vậy chúng tôi sẽ lưu trữ danh sách này trong một biến có tên là images = os.listdir(path) images 6

images = os.listdir(path) images

['tranmautritam.jpg', 'credit-card.jpg', 'roberto-nickson.jpg', 'gapandas4.jpg']

Thay đổi tỷ lệ hình ảnh thành chiều rộng hoặc chiều cao tối đa

Bây giờ, chúng tôi sẽ sử dụng Gối để thay đổi kích thước hình ảnh thành hình thu nhỏ và hạn chế tỷ lệ của hình ảnh đó hoặc duy trì tỷ lệ khung hình của hình ảnh để hình ảnh trông không bị méo mó

Trước tiên, chúng tôi sẽ đặt hai biến - images = os.listdir(path) images 7 và images = os.listdir(path) images 8 để giữ chiều rộng và chiều cao tối đa cho mỗi hình ảnh. Tất nhiên, bạn có thể sử dụng bất kỳ kích thước nào. Bạn không cần phải đi với một hình thu nhỏ. Sau đó, chúng tôi sẽ sử dụng images = os.listdir(path) images 9 để tải lên một hình ảnh bằng Gối và chúng tôi sẽ lưu trữ dữ liệu trong một biến có tên là ['tranmautritam.jpg', 'credit-card.jpg', 'roberto-nickson.jpg', 'gapandas4.jpg'] 0

max_width = 100 max_height = 100 im = Image.open(path + 'gapandas4.jpg') im

Tiếp theo, chúng tôi sẽ tạo một bộ có tên là ['tranmautritam.jpg', 'credit-card.jpg', 'roberto-nickson.jpg', 'gapandas4.jpg'] 1 trong đó chúng tôi sẽ chuyển các giá trị images = os.listdir(path) images 7 và images = os.listdir(path) images 8 của mình, đồng thời chúng tôi sẽ gọi các hàm ['tranmautritam.jpg', 'credit-card.jpg', 'roberto-nickson.jpg', 'gapandas4.jpg'] 4 và chuyển bộ này làm đối số

max_size = (max_width, max_height) im.thumbnail(max_size)

Hình ảnh đã thay đổi kích thước hiện được gán cho biến ['tranmautritam.jpg', 'credit-card.jpg', 'roberto-nickson.jpg', 'gapandas4.jpg'] 0, vì vậy chúng tôi sẽ sử dụng ['tranmautritam.jpg', 'credit-card.jpg', 'roberto-nickson.jpg', 'gapandas4.jpg'] 6 để ghi hình ảnh đã thay đổi kích thước mới trở lại một thư mục mới có tên là ['tranmautritam.jpg', 'credit-card.jpg', 'roberto-nickson.jpg', 'gapandas4.jpg'] 7. Thay vào đó, bạn có thể đổi tên hình ảnh

im.save(path + '/thumbnails/' + 'gapandas4.jpg')

Bây giờ, chúng tôi sẽ mở hình ảnh đã thay đổi kích thước và kiểm tra kích thước. Như bạn có thể thấy, nó đã được thay đổi kích thước thành chiều rộng hoặc chiều cao tối đa là 100 pixel và tỷ lệ của nó đã bị hạn chế

im = Image.open(path + '/thumbnails/' + 'gapandas4.jpg') im

Thay đổi kích thước thư mục hình ảnh thành chiều rộng hoặc chiều cao tối đa

Nếu bạn có nhiều hình ảnh muốn thay đổi kích thước hoặc chuyển đổi thành hình thu nhỏ, bạn có thể sử dụng vòng lặp ['tranmautritam.jpg', 'credit-card.jpg', 'roberto-nickson.jpg', 'gapandas4.jpg'] 8 để lặp lại quy trình cho từng hình ảnh được tìm thấy. Trong ví dụ bên dưới, chúng tôi sẽ tải từng hình ảnh được tìm thấy, tạo hình thu nhỏ và sau đó lưu hình ảnh đó vào thư mục ['tranmautritam.jpg', 'credit-card.jpg', 'roberto-nickson.jpg', 'gapandas4.jpg'] 7

for image in images: im = Image.open(path + image) im.thumbnail((max_width, max_height)) im.save(path + '/thumbnails/' + image)

Nếu bạn muốn lấy lại thông tin về hình ảnh được xử lý, chẳng hạn như tên, kích thước, đường dẫn, chiều rộng hoặc chiều cao của chúng, bạn có thể kết hợp một số hàm từ images = os.listdir(path) images 0 và trả lại dữ liệu cho từ điển

Thay đổi kích thước hình ảnh hoạt động như thế nào?

Khi bạn thay đổi kích thước hình ảnh và không lấy mẫu lại hình ảnh đó, bạn thay đổi kích thước hình ảnh mà không thay đổi lượng dữ liệu trong hình ảnh đó . Thay đổi kích thước mà không lấy mẫu lại sẽ thay đổi kích thước vật lý của hình ảnh mà không thay đổi kích thước pixel trong hình ảnh.

Thay đổi kích thước cv2 hoạt động như thế nào?

resize() của thư viện OpenCV cv2. Thay đổi kích thước theo mặc định chỉ thay đổi chiều rộng và chiều cao của hình ảnh . Tỷ lệ khung hình có thể được giữ nguyên hay không, dựa trên yêu cầu. Tỷ lệ khung hình có thể được giữ nguyên bằng cách tính toán chiều rộng hoặc chiều cao tương ứng với chiều cao hoặc chiều rộng của mục tiêu nhất định.

Cách xử lý hình ảnh hoạt động trong Python?

Hãy bắt đầu .
Bước 1. Nhập thư viện cần thiết. Gói Skimage cho phép chúng tôi xử lý hình ảnh bằng Python. .
Bước 2. Nhập hình ảnh. Khi chúng tôi có tất cả các thư viện, chúng tôi cần nhập tệp hình ảnh của mình vào python. .
Bước 3. Tìm số sao. .
Bước 4. Đã xác thực xem chúng tôi có chụp được tất cả các ngôi sao hay không

Chủ đề