Lompat ke konten utama
←

Mengolah Citra dengan Python

Pelajaran 3 dari 16

Citra sebagai larik

Memotong, mencerminkan, dan memutar

Setelah pelajaran ini kamu bisa memotong wilayah citra dengan slicing, mencerminkan dan memutarnya dengan numpy, serta menerjemahkan kotak potong Pillow ke slicing numpy.

±13 menitDiperiksa 28 Sep 2026

Materi

Memotong (crop) citra di numpy adalah slicing biasa: citra[r0:r1, c0:c1] mengambil baris r0 sampai sebelum r1 dan kolom c0 sampai sebelum c1. Batas akhir tidak ikut, jadi banyak barisnya r1 − r0. Pada citra berwarna, sumbu kanal bisa ikut dipotong: citra[:, :, 0] adalah kanal merah saja.

Pillow memotong dengan Image.crop(box), dan kotaknya berurutan (kiri, atas, kanan, bawah) dalam koordinat (x, y). Handbook Pillow menjelaskan bahwa koordinat itu menunjuk sudut piksel, sehingga kanan dan bawah juga tidak ikut, persis seperti batas akhir slicing. Karena x adalah kolom dan y adalah baris, kotak (kiri, atas, kanan, bawah) sama dengan citra[atas:bawah, kiri:kanan] — urutannya tertukar.

Mencerminkan kiri-kanan adalah np.fliplr (atau np.flip dengan axis=1), atas-bawah adalah np.flipud. np.rot90 memutar 90° dan, menurut dokumentasinya, arah bawaannya berlawanan jarum jam; argumen k mengulang putaran. Image.rotate di Pillow juga memutar berlawanan jarum jam untuk sudut positif.

import numpy as np

papan = np.arange(12, dtype=np.uint8).reshape(3, 4)
print(papan[0:2, 1:3])     # [[1 2] [5 6]]
print(np.flipud(papan)[0]) # baris bawah jadi baris atas: [ 8  9 10 11]
print(np.rot90(papan).shape)   # (4, 3): tinggi dan lebar bertukar

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Kode Pillow Image.fromarray(abu).crop((2, 1, 5, 4)) menghasilkan wilayah yang sama dengan slicing numpy yang mana?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke