Yanıtlar:
Bir crop()
yöntem var:
w, h = yourImage.size
yourImage.crop((0, 30, w, h-30)).save(...)
Parameters: box – The crop rectangle, as a (left, upper, right, lower)-tuple.
Bunun için PIL (Yastık) ithal etmeniz gerekiyor. 1200, 1600 boyutunda bir resminiz olduğunu varsayalım. Resmi 400, 400'den 800, 800'e keseceğiz.
from PIL import Image
img = Image.open("ImageName.jpg")
area = (400, 400, 800, 800)
cropped_img = img.crop(area)
cropped_img.show()
(sol, üst, sağ, alt) iki nokta anlamına gelir,
800x600 piksel görüntüde, görüntünün sol üst noktası (0, 0), sağ alt noktası (800, 600).
Yani, görüntünün yarısını kesmek için:
from PIL import Image
img = Image.open("ImageName.jpg")
img_left_area = (0, 0, 400, 600)
img_right_area = (400, 0, 800, 600)
img_left = img.crop(img_left_area)
img_right = img.crop(img_right_area)
img_left.show()
img_right.show()
Python Görüntüleme Kitaplığı, sol üst köşede (0,0) ile bir Kartezyen piksel koordinat sistemi kullanır. Koordinatların ima edilen piksel köşelerine atıfta bulunduğunu unutmayın; (0, 0) olarak adreslenen bir pikselin merkezi aslında (0.5, 0.5) 'de yer alır.
Koordinatlar genellikle kütüphaneye 2-tuple (x, y) olarak aktarılır. Dikdörtgenler, önce sol üst köşe olmak üzere 4-tuple olarak temsil edilir. Örneğin, 800x600 piksellik bir görüntünün tamamını kaplayan bir dikdörtgen (0, 0, 800, 600) olarak yazılır.
Bunu yapmanın daha kolay bir yolu, ImageOps'tan kırpma kullanmaktır . Her iki taraftan kırpmak istediğiniz piksel sayısını besleyebilirsiniz.
from PIL import ImageOps
border = (0, 30, 0, 30) # left, up, right, bottom
ImageOps.crop(img, border)