Saya ingin memotong gambar dengan menghapus 30 baris pertama dan 30 baris terakhir dari gambar yang diberikan. Saya telah mencari tetapi tidak mendapatkan solusi yang tepat. Apakah ada yang punya saran?
python
python-imaging-library
crop
Taj Koyal
sumber
sumber
Parameters: box – The crop rectangle, as a (left, upper, right, lower)-tuple.
Anda perlu mengimpor PIL (Bantal) untuk ini. Misalkan Anda memiliki gambar dengan ukuran 1200, 1600. Kami akan memotong gambar dari 400, 400 hingga 800, 800
sumber
(kiri, atas, kanan, bawah) berarti dua poin,
dengan gambar 800x600 piksel, titik atas kiri gambar adalah (0, 0), titik bawah kanan adalah (800, 600).
Jadi, untuk memotong setengah gambar:
Sistem koordinasi
Python Imaging Library menggunakan sistem koordinat piksel Cartesian, dengan (0,0) di sudut kiri atas. Perhatikan bahwa koordinat mengacu pada sudut piksel tersirat; pusat piksel yang dialamatkan sebagai (0, 0) sebenarnya terletak pada (0,5, 0,5).
Koordinat biasanya diteruskan ke perpustakaan sebagai 2-tupel (x, y). Rectangles direpresentasikan sebagai 4-tupel, dengan sudut kiri atas diberikan terlebih dahulu. Misalnya, persegi panjang yang mencakup semua gambar 800x600 piksel ditulis sebagai (0, 0, 800, 600).
sumber
Cara yang lebih mudah untuk melakukan ini adalah menggunakan pemotongan dari ImageOps . Anda dapat memberi makan jumlah piksel yang ingin Anda potong dari setiap sisi.
sumber