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
- 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.
from PIL import Image
- Để thay đổi kích thước hình ảnh bằng phương pháp Gối ____
resize[]
:image = Image.open['myimage.jpg']
Nhập lớp PIL
image
: - Tải hình ảnh từ một tệp với chức năng
open[]
:image = Image.open['myimage.jpg']
resize[]
0resize[]
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 separateImage
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:
- 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:resize[]
8resize[]
9image
0image
1
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.
image
5
Để 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 image
8 or image
9 and from PIL import Image
0, or all three.
Như được hiển thị trong image
2, 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.
- 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.
from PIL import Image
1from PIL import Image
2
- Dưới đây là cú pháp đầy đủ cho phương thức
resize[]
trong OpenCV:from PIL import Image
3from PIL import Image
4from PIL import Image
5from PIL import Image
6
- Các tham số như sau:
from PIL import Image
7
SRC
from PIL import Image
8
Đườ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 image 6. | FX |
open[] 1 | Nộ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[] 2 | Việc nội suy cho khu vực pixel, làm giảm hình ảnh. |
open[] 3 | Nộ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[] 4 | Nộ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:
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:
Ảnh gốc
Tập trung vào mô hình trong cây trồng chân dung
Phát hiện khuôn mặt cho cây thu nhỏ
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:
- Đăng ký một tài khoản đám mây miễn phí.
- Cài đặt SDK Python.
- Đặ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"]