Hướng dẫn how do you resize an image in python? - làm thế nào để bạn thay đổi kích thước một hình ảnh trong python?

Hình ảnh Python-Resize là gì?

Python là ngôn ngữ lập trình hướng đối tượng phổ biến cho các tác vụ liên quan đến hình ảnh cho các trang web, trực quan hóa hoặc khi sử dụng Python cho các hoạt động học máy thông qua các khung như OpenCV và Scikit learn.

Giảm kích thước của một hình ảnh có nghĩa là thay đổi kích thước của nó bằng cách loại bỏ các pixel của nó. Việc mở rộng một hình ảnh làm tăng số lượng pixel của nó nhưng làm giảm chất lượng. Dù bằng cách nào, tỷ lệ khung hình hình ảnh thay đổi, dẫn đến biến dạng.

Bài viết này mô tả cách thay đổi kích thước hình ảnh với số lượng lớn với Thư viện Gối, một ngã ba phổ biến của Thư viện hình ảnh Python (PIL); và, để duy trì tỷ lệ chất lượng và khung hình, trong OpenCV, một thư viện mạnh mẽ của các chức năng lập trình cho tầm nhìn máy tính. Cũng giải thích là làm thế nào để thay đổi kích thước và cắt hình ảnh Python với mây thông qua tự động hóa.

  • Thay đổi kích thước hình ảnh trong Python với gối
  • Thay đổi kích thước hình ảnh trong Python với OpenCV
  • Thay đổi kích thước và cắt hình ảnh trong Python với Cloudinary thông qua tự động hóa

Thay đổi kích thước hình ảnh trong Python với gối

Thay đổi kích thước hình ảnh trong Python với OpenCV

Thay đổi kích thước và cắt hình ảnh trong Python với Cloudinary thông qua tự động hóa

  1. Gối là một cái nĩa của Thư viện hình ảnh Python (PIL) hỗ trợ Python 3 và nhiều định dạng hình ảnh, bao gồm PNG, JPEG, TIFF và PPM. Khi bạn tải một hình ảnh từ một tệp, tạo một hình ảnh mới hoặc tạo các phiên bản riêng cho hình ảnh, bạn sẽ tạo một thể hiện của lớp hình ảnh PIL.
    1. from PIL import Image
  2. Để thay đổi kích thước hình ảnh bằng phương pháp Gối ____ resize():
    1. image = Image.open('myimage.jpg')

    Nhập lớp PIL image:

  3. Tải hình ảnh từ một tệp với chức năng open():
    1. image = Image.open('myimage.jpg')
    2. resize()0
    3. resize()1

    Lệnh trên trả về một đối tượng Image. Trong trường hợp thất bại, lệnh trả về một ngoại lệ OSError.Instead of modifying the image file, this function returns a separate Image instance with the new dimensions.

Gọi phương thức resize() trên thể hiện hình ảnh mới, chuyển đối số tuple với hai số nguyên để chỉ định chiều rộng và chiều cao mà bạn mong muốn:

  • Lưu ý: Thay vì sửa đổi tệp hình ảnh, hàm này trả về một thể hiện riêng biệt với các kích thước mới.
  • Phương pháp resize() có hai nhược điểm, tuy nhiên:

Thông thường, thay đổi kích thước chính xác và chiều cao thay đổi tỷ lệ khung hình hình ảnh, dẫn đến biến dạng.resize the image with the more advanced Pillow method, resize()5:

  1. Nếu bạn đặt kích thước của thể hiện mới là lớn hơn so với bản gốc, thì resize() đã thổi bay trường hợp, giảm chất lượng của nó.
  2. Là một giải pháp, hãy thay đổi kích thước hình ảnh bằng phương pháp gối nâng cao hơn, resize()5:
    1. resize()8
    2. resize()9
    3. image0
    4. image1

Thực hiện các bước 1 và 2 của quy trình trên.

Thay đổi kích thước hình ảnh trong Python với OpenCV

Thay đổi kích thước và cắt hình ảnh trong Python với Cloudinary thông qua tự động hóa

Gối là một cái nĩa của Thư viện hình ảnh Python (PIL) hỗ trợ Python 3 và nhiều định dạng hình ảnh, bao gồm PNG, JPEG, TIFF và PPM. Khi bạn tải một hình ảnh từ một tệp, tạo một hình ảnh mới hoặc tạo các phiên bản riêng cho hình ảnh, bạn sẽ tạo một thể hiện của lớp hình ảnh PIL.

image5

Để thay đổi kích thước hình ảnh bằng phương pháp Gối ____ resize():

Nhập lớp PIL image:Tải hình ảnh từ một tệp với chức năng open():
Lệnh trên trả về một đối tượng Image. Trong trường hợp thất bại, lệnh trả về một ngoại lệ OSError.Gọi phương thức resize() trên thể hiện hình ảnh mới, chuyển đối số tuple với hai số nguyên để chỉ định chiều rộng và chiều cao mà bạn mong muốn:
Lưu ý: Thay vì sửa đổi tệp hình ảnh, hàm này trả về một thể hiện riêng biệt với các kích thước mới.Phương pháp resize() có hai nhược điểm, tuy nhiên:
Thông thường, thay đổi kích thước chính xác và chiều cao thay đổi tỷ lệ khung hình hình ảnh, dẫn đến biến dạng.Nếu bạn đặt kích thước của thể hiện mới là lớn hơn so với bản gốc, thì resize() đã thổi bay trường hợp, giảm chất lượng của nó.
Là một giải pháp, hãy thay đổi kích thước hình ảnh bằng phương pháp gối nâng cao hơn, resize()5:Thực hiện các bước 1 và 2 của quy trình trên.

Gọi phương thức resize()5 trên ví dụ Image, chuyển đối số tuple với hai số nguyên để chỉ định chiều rộng và chiều cao mà bạn mong muốn: Apply either image8 or image9 and from PIL import Image0, or all three.

Như được hiển thị trong image2, kích thước của thể hiện mới là 400 × 350 pixel. Tỷ lệ khung hình của hình ảnh gốc vẫn không thay đổi. Ngoài ra, nếu kích thước của bản gốc nhỏ hơn so với quy định cho thể hiện mới, thay vì trên mạng, resize()5 sẽ trả về một thể hiện có cùng kích thước.

  1. OpenCV là một thư viện thị giác máy tính nguồn mở với hàng ngàn thuật toán học máy và học tập sâu để phát hiện khuôn mặt, nhận dạng đối tượng và nhiều tác vụ tầm nhìn máy tính khác. Cho rằng nhiều mô hình tầm nhìn máy tính đòi hỏi một mức độ và chất lượng nhất định cho hình ảnh của họ, thay đổi kích thước là rất quan trọng. Để xác định biến thể hình ảnh nào hoạt động tốt nhất, thử nghiệm với các kích thước hoặc độ phân giải khác nhau.
    1. from PIL import Image1
    2. from PIL import Image2
  2. Dưới đây là cú pháp đầy đủ cho phương thức resize() trong OpenCV:
    1. from PIL import Image3
    2. from PIL import Image4
    3. from PIL import Image5
    4. from PIL import Image6
  3. Các tham số như sau:
    1. from PIL import Image7

SRC

from PIL import Image8

Đường dẫn tệp trong đó hình ảnh đầu vào nằm.

Dsize

Kích thước của hình ảnh đầu ra, tuân thủ cú pháp image6.FX
open()1Nội suy hàng xóm gần nhất, mặc dù nhanh để chạy, tạo ra hình ảnh khối.
open()2Việc nội suy cho khu vực pixel, làm giảm hình ảnh.
open()3Nội suy bicubic với các vùng lân cận 4 × 4 pixel, mặc dù chậm chạy, tạo ra các trường hợp chất lượng cao.
open()4Nội suy Lanczos với vùng lân cận 8 × 8 pixel, tạo ra hình ảnh có chất lượng cao nhất nhưng là chậm nhất để chạy.

Thay đổi kích thước và cắt hình ảnh python với mây thông qua tự động hóa

Một dịch vụ dựa trên đám mây để quản lý hình ảnh và video, Cloudinary cung cấp gói đăng ký chuyển đổi miễn phí hào phóng. Trong khi trên nền tảng đó, bạn có thể tải lên hình ảnh và áp dụng các hiệu ứng, bộ lọc và sửa đổi tích hợp.

Bạn cũng có thể thay đổi kích thước hình ảnh thông qua tự động hóa, tập trung vào các yếu tố quan trọng nhất với AI hoặc điều chỉnh chúng với thiết kế trang web của bạn bằng cách chỉ định tỷ lệ chiều rộng, chiều cao và khung hình là vòng loại cho các trường hợp hình ảnh mới. Cloudinary sau đó tự động thực hiện các nhiệm vụ thay đổi kích thước và cắt xén để đáp ứng các tiêu chí. Không có nỗ lực thủ công được yêu cầu.

Chụp ảnh 1.200 × 1.200 pixel này:

Hướng dẫn how do you resize an image in python? - làm thế nào để bạn thay đổi kích thước một hình ảnh trong python?

Thay đổi kích thước nó thành 200 × 200 pixel với kết quả của cây trồng, tỷ lệ, lấp đầy và pad trong các hình ảnh sau:

Hướng dẫn how do you resize an image in python? - làm thế nào để bạn thay đổi kích thước một hình ảnh trong python?

Ảnh gốc

Hướng dẫn how do you resize an image in python? - làm thế nào để bạn thay đổi kích thước một hình ảnh trong python?

Tập trung vào mô hình trong cây trồng chân dung

Hướng dẫn how do you resize an image in python? - làm thế nào để bạn thay đổi kích thước một hình ảnh trong python?

Phát hiện khuôn mặt cho cây thu nhỏ

Hướng dẫn how do you resize an image in python? - làm thế nào để bạn thay đổi kích thước một hình ảnh trong python?

Tự động xác định những gì cần giữ trong một loại cây Banner

Để tự động hóa kích thước hình ảnh và cắt xén trên đám mây:

  1. Đăng ký một tài khoản đám mây miễn phí.
  2. Cài đặt SDK Python.
  3. Đặt các tiêu chí chuyển đổi cho các ví dụ trên:
    # Focus on the model in a portrait crop.
    
    CloudinaryImage("docs/model.jpg").image(gravity="person", height=600, width=450, crop="fill")
    
    # Detect the face for a thumbnail crop.
    
    CloudinaryImage("docs/model.jpg").image(gravity="face", height=250, width=250, crop="thumb")
    
    # Crop to a banner, automatically focusing on a region of interest.
    
    CloudinaryImage("docs/model.jpg").image(gravity="auto", height=150, width=600, crop="fill")
    

Làm cách nào để thay đổi kích thước một hình ảnh trong mã?

Một trong những cách đơn giản nhất để thay đổi kích thước hình ảnh trong HTML là sử dụng các thuộc tính chiều cao và chiều rộng trên thẻ IMG. Các giá trị này chỉ định chiều cao và chiều rộng của phần tử hình ảnh. Các giá trị được đặt trong pxel CSS.using the height and width attributes on the img tag. These values specify the height and width of the image element. The values are set in px i.e. CSS pixels.

Làm thế nào để tôi thay đổi kích thước một hình ảnh mà không cần cắt xén trong Python?

Resize_contain thay đổi kích thước hình ảnh để nó có thể phù hợp với khu vực được chỉ định, giữ tỷ lệ và không có cây trồng (hành vi tương tự như kích thước nền: chứa).Resize_height thay đổi kích thước hình ảnh theo chiều rộng điều chỉnh chiều cao được chỉ định để giữ cho tỷ lệ như nhau. (same behavior as background-size: contain). resize_height resize the image to the specified height adjusting width to keep the ratio the same.

Làm thế nào để bạn thay đổi kích thước mã trong Python?

thay đổi kích thước () trả về một bản sao kích thước của hình ảnh này ...
Cú pháp: Image.Resize (kích thước, mẫu lại = 0).
Parameters:.
Kích thước-Kích thước được yêu cầu tính bằng pixel, dưới dạng 2-Tuple: (chiều rộng, chiều cao) ..
Mẫu lại - một bộ lọc lấy mẫu tùy chọn.Đây có thể là một trong những PIL.Hình ảnh.Gần nhất (sử dụng hàng xóm gần nhất), pil.Hình ảnh.....
Trả về Loại: Một đối tượng hình ảnh ..

Làm thế nào để tôi thay đổi kích thước một hình ảnh trong một danh sách trong Python?

Bạn có thể thay đổi kích thước nhiều hình ảnh trong Python với thư viện PIL tuyệt vời và một trợ giúp nhỏ của thư viện HĐH (hệ điều hành).Bằng cách sử dụng hàm Os.ListDir (), bạn có thể đọc tất cả các tên tệp trong một thư mục. Sau đó, tất cả những gì bạn phải làm là tạo một vòng lặp để mở, thay đổi kích thước và lưu mỗi hình ảnh trong thư mục.By using os. listdir() function you can read all the file names in a directory. After that, all you have to do is to create a for loop to open, resize and save each image in the directory.