Pertemuan 1 (Intoduction)

Pertemuan 1 (Intoduction)

Materi Kuliah: Pengolahan Citra Digital (Image Processing)

Selamat datang di perkuliahan Pengolahan Citra Digital. Berikut adalah informasi mengenai kontrak kuliah, pengantar materi, contoh implementasi di dunia nyata, hingga dasar-dasar pemrograman citra menggunakan Python.

1. Kontrak Kuliah & Penilaian

Untuk kelulusan mata kuliah ini, komponen penilaian terdiri dari:

  • Tugas: 40% (Harus diselesaikan tepat waktu. Keterlambatan akan dikenakan pengurangan nilai sebesar 7%).

  • UTS (Ujian Tengah Semester): 20% (Berupa pembuatan Video Pembelajaran).

  • UAS (Ujian Akhir Semester): 30% (Berupa Project atau Laporan).

  • Usaha: 10% (Meliputi absensi dan progress belajar).

Buku Referensi Rekomendasi:

  • Judul: Teori dan Aplikasi Pengolahan Citra

  • Penulis: Abdul Kadir & Adhi Susanto

  • Penerbit: Andi Publisher

2. Pengantar Computer Vision

“Every picture tells a story.” Tujuan utama dari Computer Vision adalah menulis program komputer yang dapat menginterpretasikan citra atau gambar.

Apakah komputer bisa menandingi (atau mengalahkan) penglihatan manusia? Jawabannya adalah Ya dan Tidak (namun sebagian besar Tidak!). Manusia jauh lebih baik dalam mengenali hal-hal yang "sulit" secara visual, sedangkan komputer bisa bekerja lebih baik dan cepat untuk hal-hal yang bersifat "mudah" dan terstruktur.

Pengolahan Citra Digital sendiri memiliki hubungan yang erat dengan beberapa bidang ilmu lain, yaitu:

  • Grafika Komputer (Computer Graphics)

  • Pengenalan Pola (Pattern Recognition)

  • Pengolahan Citra itu sendiri

3. Contoh Aplikasi Pengolahan Citra (State of the Art)

Saat ini, teknologi Computer Vision dan Pengolahan Citra telah diterapkan secara luas. Berikut adalah beberapa contoh penerapannya:

  • Photosynth: Sebuah teknik untuk "menggabungkan" banyak foto menjadi tampilan 3D. Dari sekumpulan foto suatu benda dari berbagai sisi, sistem dapat memprosesnya untuk menghasilkan tampilan 360° dari benda tersebut.

  • Optical Character Recognition (OCR): Teknologi untuk mengenali digit huruf/angka, mengonversi dokumen hasil scan menjadi teks digital, hingga sistem pendeteksi plat nomor kendaraan otomatis.

  • Face Detection & Recognition (Deteksi & Pengenalan Wajah): Digunakan pada kamera digital modern untuk mendeteksi wajah dan senyuman, fitur tagging otomatis di media sosial seperti Facebook, hingga sistem keamanan biometrik (seperti login komputer tanpa password).

  • Object Recognition (Pengenalan Objek): Diterapkan di supermarket (contohnya teknologi LaneHawk untuk mendeteksi dan mencegah kehilangan barang di keranjang bagian bawah) serta pada aplikasi ponsel cerdas (seperti fitur Point & Find).

  • Smart Cars (Mobil Pintar): Sistem penglihatan yang ditanamkan pada mobil (seperti Mobileye) untuk fitur peringatan tabrakan dan pelindungan pejalan kaki.

  • Medical Imaging (Pencitraan Medis): Digunakan secara ekstensif pada teknologi MRI, CT Scan, pencitraan 3D, hingga sistem panduan visual untuk operasi bedah.

4. Alur Program Pengolahan Citra (OpenCV + Tkinter)

Dalam materi ini, kita akan menggunakan bahasa pemrograman Python dengan library OpenCV dan Tkinter. Berikut adalah ringkasan alur pemrogramannya:

Ringkasan Alur Program:

  1. Program dimulai.

  2. Sistem memeriksa argumen CLI (--image / --gui).

  3. Jika mode GUI aktif, dialog file akan terbuka untuk memilih gambar.

  4. Jika dibatalkan, program keluar dengan pesan peringatan.

  5. Jika file gambar tersedia, sistem akan: membaca citra, menampilkan informasi (dimensi, jumlah piksel, nilai RGB), menampilkan citra ke layar, dan menyimpan salinannya.

  6. Program selesai.

Penjelasan Fungsi-Fungsi dalam Script Python:

  • read_image(path): Berfungsi untuk membaca citra dari path direktori menggunakan OpenCV, mengembalikan array citra dalam format RGB, dan akan memunculkan peringatan FileNotFoundError jika file gagal dibaca.

  • save_image(path, img_rgb): Menyimpan citra RGB ke file komputer. File dikonversi kembali ke BGR agar sesuai dengan standar OpenCV. Jika gagal, akan muncul IOError.

  • show(img_rgb, title): Menampilkan citra di jendela aplikasi menggunakan cv2.imshow(). Jendela akan terus muncul hingga pengguna menekan tombol apapun, lalu ditutup dengan cv2.destroyAllWindows().

  • main(args): Merupakan fungsi utama yang mengatur alur program. Mulai dari menentukan sumber gambar, menampilkan informasi dimensi dan shape, mencetak total piksel dan nilai RGB, menampilkan gambar asli, hingga menyimpan salinan gambar tersebut ke dalam folder bernama outputs.

  • if __name__ == '__main__':: Blok ini digunakan untuk mengatur argumen input program menggunakan argparse (seperti --image untuk path gambar dan --gui untuk memunculkan antarmuka pemilihan file) sebelum memanggil fungsi main(args).

5. Kesimpulan & Tugas Mahasiswa

Sebagai evaluasi dari materi ini, silakan kerjakan tugas berikut:

  1. Jelaskan pengertian PENGOLAHAN CITRA DIGITAL menggunakan bahasa Anda sendiri!

  2. Berikan 1 (satu) contoh aplikasi dari PENGOLAHAN CITRA DIGITAL yang Anda ketahui di sekitar Anda!

Tugas Praktikum: Silakan instal Python dan OpenCV di komputer/laptop Anda, kemudian buatlah program sederhana untuk Membaca Citra!