Làm thế nào để bạn cắt một hình ảnh trong python?

Cảm ơn bạn đã ghé thăm website của chúng tôi. Chúng tôi sử dụng các cookie thiết yếu để giúp chúng tôi hiểu và nâng cao trải nghiệm người dùng. Bằng cách nhấp vào “Chấp nhận”, bạn đồng ý với việc sử dụng TẤT CẢ các cookie

Chấp nhận Chính sách bảo mật

Thư viện xử lý hình ảnh Gối (PIL) của Python cung cấp Image.crop() để cắt bỏ một phần diện tích của hình ảnh

Bài viết này mô tả các nội dung sau với mã mẫu

  • cây trồng bình thường
  • Chỉ định khu vực bên ngoài
  • Cắt trung tâm của hình ảnh
  • Cắt hình vuông lớn nhất từ ​​hình chữ nhật

Vui lòng xem bài viết sau để biết cách cài đặt và sử dụng cơ bản Gối (PIL)

  • Cách sử dụng Gối (PIL. Thư viện hình ảnh Python)

Sử dụng resize() để thay đổi kích thước toàn bộ hình ảnh thay vì cắt bỏ một phần của hình ảnh và sử dụng

im_crop = im.crop((60, 20, 400, 200))
im_crop.save('data/dst/astronaut_pillow_crop.jpg', quality=95)
0 để tạo hình ảnh trong suốt bằng cách cắt bỏ một hình dạng không phải hình chữ nhật (chẳng hạn như hình tròn)

  • Thay đổi kích thước hình ảnh bằng Python, Gối
  • Tạo ảnh png trong suốt với Python, Gối (putalpha)

Sử dụng cắt để cắt hình ảnh được đại diện bởi mảng NumPy

im_crop = im.crop((60, 20, 400, 200))
im_crop.save('data/dst/astronaut_pillow_crop.jpg', quality=95)
1

  • Xử lý ảnh với Python, NumPy

Nhập

im_crop = im.crop((60, 20, 400, 200))
im_crop.save('data/dst/astronaut_pillow_crop.jpg', quality=95)
2 từ
im_crop = im.crop((60, 20, 400, 200))
im_crop.save('data/dst/astronaut_pillow_crop.jpg', quality=95)
3 và mở hình ảnh mục tiêu

from PIL import Image

im = Image.open('data/src/astronaut_rect.bmp')

nguồn.

Liên kết được tài trợ

cây trồng bình thường

Đặt vùng cắt xén với

im_crop = im.crop((60, 20, 400, 200))
im_crop.save('data/dst/astronaut_pillow_crop.jpg', quality=95)
4

Tọa độ trên cùng bên trái tương ứng với

im_crop = im.crop((60, 20, 400, 200))
im_crop.save('data/dst/astronaut_pillow_crop.jpg', quality=95)
5 và tọa độ dưới cùng bên phải tương ứng với
im_crop = im.crop((60, 20, 400, 200))
im_crop.save('data/dst/astronaut_pillow_crop.jpg', quality=95)
6. Khu vực được cắt xén là
im_crop = im.crop((60, 20, 400, 200))
im_crop.save('data/dst/astronaut_pillow_crop.jpg', quality=95)
7 và
im_crop = im.crop((60, 20, 400, 200))
im_crop.save('data/dst/astronaut_pillow_crop.jpg', quality=95)
8 và không bao gồm các pixel của
im_crop = im.crop((60, 20, 400, 200))
im_crop.save('data/dst/astronaut_pillow_crop.jpg', quality=95)
9 và
im.crop((60, 20, 400, 200)).save('data/dst/astronaut_pillow_crop.jpg', quality=95)
0

Hãy cẩn thận đừng quên rằng

im.crop((60, 20, 400, 200)).save('data/dst/astronaut_pillow_crop.jpg', quality=95)
1 yêu cầu
im.crop((60, 20, 400, 200)).save('data/dst/astronaut_pillow_crop.jpg', quality=95)
2

im_crop = im.crop((60, 20, 400, 200))
im_crop.save('data/dst/astronaut_pillow_crop.jpg', quality=95)

nguồn.

Nếu bạn chỉ muốn lưu ảnh đã cắt mà không sử dụng cho các thao tác khác, bạn có thể viết trong một dòng

im.crop((60, 20, 400, 200)).save('data/dst/astronaut_pillow_crop.jpg', quality=95)

nguồn.

Làm thế nào để bạn cắt một hình ảnh trong python?

Chỉ định khu vực bên ngoài

Ngay cả khi phần bên ngoài của hình ảnh được đặt trong vùng cắt xén, lỗi vẫn không xuất hiện và hình ảnh được hiển thị bằng màu đen

im_crop_outside = im.crop((200, 150, 600, 360))
im_crop_outside.save('data/dst/astronaut_pillow_crop_outside.jpg', quality=95)

nguồn.

Làm thế nào để bạn cắt một hình ảnh trong python?

Liên kết được tài trợ

Cắt trung tâm của hình ảnh

Nếu bạn muốn cắt trung tâm của hình ảnh thành bất kỳ kích thước nào, thuận tiện để xác định chức năng sau

def crop_center(pil_img, crop_width, crop_height):
    img_width, img_height = pil_img.size
    return pil_img.crop(((img_width - crop_width) // 2,
                         (img_height - crop_height) // 2,
                         (img_width + crop_width) // 2,
                         (img_height + crop_height) // 2))

nguồn.

ví dụ sử dụng

im_new = crop_center(im, 300, 150)
im_new.save('data/dst/astronaut_pillow_crop_center.jpg', quality=95)

nguồn.

Làm thế nào để bạn cắt một hình ảnh trong python?

Cắt hình vuông lớn nhất từ ​​hình chữ nhật

Khi tạo một hình ảnh thu nhỏ, bạn có thể cần phải cắt một hình vuông càng lớn càng tốt từ hình ảnh hình chữ nhật

Xác định hàm cắt một hình vuông có cạnh ngắn từ tâm của hình chữ nhật

Sử dụng thuộc tính

im.crop((60, 20, 400, 200)).save('data/dst/astronaut_pillow_crop.jpg', quality=95)
3 để lấy chiều cao và chiều rộng của hình ảnh và
im.crop((60, 20, 400, 200)).save('data/dst/astronaut_pillow_crop.jpg', quality=95)
4 để lấy hình ảnh ngắn hơn. Hàm
im.crop((60, 20, 400, 200)).save('data/dst/astronaut_pillow_crop.jpg', quality=95)
5 được xác định ở trên được sử dụng