Pertemuan 3-4

Anda mungkin juga menyukai

Anda di halaman 1dari 69

Bab 2 (P 2-3)

Software Pengolah Citra


Anaconda dan Cara Install Library
Software untuk Mengolah Citra - MATLAB

Kelebihan = Powerfull untuk riset besar dan sains, penerapan


formula matematis yang lebih mudah dilakukan, biaya lisensi
yang mahal.

Kekurangan = Sulit diterapkan di mikrokontroler, butuh sumber


daya komputer dengan spesifikasi di atas rata-rata.
Software untuk Mengolah Citra - R (Bahasa R)

Kelebihan = Powerfull untuk riset besar dan sains,


penerapan formula matematis yang lebih mudah
dilakukan, ringan seperti Python. Gratis.

Kekurangan = Tidak bisa diterapkan di


mikrokontroler berbasis c atau python.(arduino,
raspi).
Software untuk Mengolah Citra - JupyterNotebook (Bahasa Python)

Kelebihan = Powerfull untuk riset besar dan sains,


gratis, memiliki banyak library, python diprediksi jadi
bahasa pemograman wajib di masa depan. bisa
diterapkan di mikrokontroler berbasis c atau
python.(arduino, raspi).

Kekurangan = Karena banyak sekali library, jadi


harus rajin-rajin update library.
Mengenal Bahasa Python
Python merupakan bahasa pemrograman yang tidak sulit untuk dipelajari. Alasan utama dari pernyataan ini adalah
struktur sintak yang rapi dan lebih mudah dipahami dibandingkan bahasa pemrograman lainnya. Jadi, bagi pemula
yang ingin belajar coding, Python bisa dijadikan langkah awal yang paling tepat.
(https://www.dewaweb.com/blog/keunggulan-memahami-bahasa-pemrograman-python/)

Bahasa Python sendiri sebenarnya hanya memiliki sedikit perintah/command. Tetapi justru karena
sifatnya yang open-source dan flesksibel maka muncul para pengembang yang membuat library
Python. Nah Library ini lah yang akhirnya membuat python bisa membaca dan menulis berbagai
bahasa lainnya (Java, C+, html5, dll)
ESP32 + MicroPython

RaspberryPi
Mengenal Library Wajib untuk Pemula
Software Berbahasa Python untuk Mengolah Citra
Software Anaconda memang lebih banyak mengambil source komputer Anda.
Tetapi dari segi kemudahan memanage proyek, saya lebih menyukai
Anaconda. Bagi saya, fitur yang mudah untuk membuat virtual
environment(ENV) adalah hal yang sangat penting. Anaconda cmd terpisah
dari Windows CMD.
Menginstall Library yang sangat mudah, tidak perlu ketik-ketik command.
Anaconda Command Prompt

Command Prompt bawaan windows


Mengapa Virtual Environment Penting?

Tanda bahwa Environment


Aktifkan ENV sesuai proyek Anda.
sedang aktif

Ada 2 Virtual
Environment
Mengapa Virtual Environment Penting?
Mengapa Virtual Environment Penting?

ENV : BASE (ROOT) ENV : Image Processing


Mengapa Virtual Environment Penting?
Virtual environment memungkinkan kita untuk memiliki ruang terisolasi untuk proyek Python, memastikan bahwa
setiap proyek memiliki dependensi dan library sendiri yang tidak akan mengganggu atau diganggu oleh proyek lain.

Virtual Environment : Machine Learning


Proyek Machine Learning

Library yang diinstal di tiap


virtual environment tidak akan
mengganggu di environment
yang lain. Jadi Anda bisa memilih
Virtual Environment : Image Processing library apapun khusus untuk
Proyek Pengolahan Citra proyek yang anda kerjakan tanpa
perlu install semua library.
Virtual Environment : Data Science
Proyek DataScience

Virtual Environment : Menggambar


Proyek Menggambar bebas
Bisa jadi Proyek kita menggabungkan beberapa library di slide sebelumnya.
Maka dari itu kita perlu membuat virtual environment khusus lagi untuk digunakan sebagai Lemari buku kita.

Keras
OpenCV

MatPlotLib

Keras -> Library Machine Learning


OpenCV -> Library Pengolah Citra
MatPlotLib -> Library Pembuat Grafik
Virtual
Virtual Environment
Environment + Library
Awal
Cara Install Anaconda

1. Hapus semua Python di Windows. (Ingat Python anaconda dan windows terpisah, tapi kita mau mencegah
konflik di masa depan)

2. Download dan Install Anaconda


https://www.anaconda.com/products/individual

3. Setelah terinstall, buka environment dan buatlah environment baru dengan nama imageprocessing.
Cara menginstall Library pada Virtual Environment

Proses Pembuatan
Virtual Environment
Cara menginstall Library pada Virtual Environment

Library Default yang


Terinstall hanya
berjumlah 12.
Cara menginstall Library pada Virtual Environment

Install JupyterNotebook
Cara menginstall Library pada Virtual Environment

Jika Jupyter sudah


terinstall, maka library
akan bertambah menjadi
79 packages.
Cara menginstall Library pada Virtual Environment - Menambahkan Library

Installed = Library yang sudah terinstall

Not Installed = Library yang tidak ada.

Updatable = Library yang bisa diupdate


Cara menginstall Library pada Virtual Environment - Menambahkan Library

2. Ketik Library yang


1. Pilih Not Installed mau diinstall.

3. Centang sesuai
library yang
dibutuhkan.
Cara menginstall Library pada Virtual Environment

2. Ketik Library yang


1. Pilih Not Installed mau diinstall.

3. Centang sesuai
library yang
dibutuhkan.

4. Apply
Cara menginstall Library pada Virtual Environment

Daftar library yang


terhubung dengan
Library Numpy.
Biasanya Library yang
satu sudah termasuk
library yang lain.
Cara menginstall Library pada Virtual Environment

Cek kembali apakah


sudah sukses
terinstall. Buktinya
adalah di dalam
Installed, sudah ada
library Numpy.
Cara menginstall Library pada Virtual Environment jika tidak ada di Anaconda

1. Pertama buka
anaconda prompt lewat
Administrator.

2. Aktifkan environment
yang sudah Anda buat
dengan mengetik:
conda activate
namaenvAnda

3. Karena Library Mahotas


tidak ada di anaconda
IDE, maka kita perlu
menginstal manual
dengan mengetik di
cmd : conda install -c
conda-forge mahotas
Cara menginstall Library pada Virtual Environment jika tidak ada di Anaconda

Mahotas sudah ada


Library Apa saja yang dibutuhkan untuk mengolah Citra?

Paling Populer karena sudah


cukup untuk menyelesaikan
masalah pengolahan citra
digital.
Bab 3 (P 2-3)
Software Pengolah Citra
Anaconda dan Cara Install Library
Kelemahan Jupyter bawaan Anaconda salah satunya ribet diawal untuk setup proyek.
Tetapi banyak cara mengatasinya.

Minggu lalu kita sudah belajar gimana caranya membuat Environment dan masuk ke Environment
melalui Anaconda IDE. Sekarang kita akan belajar bagaimana memanggil Python Editor (Jupyter
Notebook dan Spyder) melalui Anaconda CMD.

Klik!!!!
Siapkan Folder dahulu di drive Anda:

Sediakan gambar dan ganti nama


terserah kalian. Dalam kasus ini
saya memberi nama. Gmbr1.jpg
dan Gmbr2.jpg
Mengenal Python IDE dan Python

Memanggil Jupyternotebook melalui CMD :

Ketik :

Masuk ke Drive D:
Environment Masuk ke Folder spesifik di D:
yang aktif.
Saat ini Mengaktifkan Environment
Environment
Base

Perhatikan bahwa Environment ImageProcessing sudah


aktif sekarang.
Mengenal Python IDE dan Python

Memanggil Jupyternotebook melalui CMD :

Memanggil Jupyter notebook


Mengenal Python IDE dan Python

Memanggil Jupyternotebook melalui CMD :

Isi folder D:\


PCDClass

Apa yang Apa yang


ditampilkan di ditampilkan di
JupyterNotebook Windows Ekspoler
Citra Untuk Percobaan
https://homepages.cae.wisc.edu/~ece533/images/

https://
www.geeksforgeeks.org/
arithmetic-operations-on-
images-using-opencv-set-1-
addition-and-subtraction/

https://docs.opencv.org/3.4/dd/
d4d/
tutorial_js_image_arithmetics.ht
ml
Mengenal Python IDE dan Python, Library OpenCV
Memanggil dan menampilkan gambar.
Pengenalan Numpy
Numpy (Numerical Python) adalah modul dasar yang bermanfaat untuk melakukan
omputasi dengan Python. Paket ini menyediakan larik (array) multidimensi yang sangat
bermanfaat untuk kepentingan pemrosesan matriks maupun citra. Oleh karena itu, dasar
engenai paket ini perlu dibahas karena sering digunakan delam pengolahan citra.
Penyertaan modul numpy
Modul numpy dilibatkan dengan memberikan perintah :

Penggunaan as np agar modul numpy dapat diakses dengan kata np.

Berikut menunjukkan pemakaian np untuk melihat versi numpy.


Pengenalan larik
Larik adalah suatu wadah yang memungkinkan sejumlah nilai
bertipe sama disimpan. Setiap elemen dalam larik dapat diakses
dengan menggunakan indeks yang berupa bilangan bulat positif.

Larik paling sederhana berdimensi satu.


Larik berdimensi dua biasa digunakan pada matriks. Larik inilah yang juga
biasa dipakai pada pengolahan citra berskala keabu-abuan.

Pada larik ini, setiap elemen diakses melalui dua indeks. Indeks pertama
digunakan untuk menyebutkan posisi baris dan indeks kedua untuk
menyebutkan posisi kolom.
Larik berdimensi tiga melibatkan tiga indeks untuk menyatakan
setiap kolom. Larik ini biasa digunakan pada citra berwarna, yang
mengandung koponen B, G, dan R.
larik berdimensi satu

Larik berdimensi satu dapat diciptakan dan sekaligus diberi nilai


awal melalui senarai. Contoh berikut digunakan untuk membentuk
larik data dan kemudian menampilkan isi larik beserta tipe data
larik.
Adapun contoh untuk mengakses elemen larik.

data[2] digunakan untuk menyatakan elemen dengan indeks 2 (elemen ketiga dari kiri
mengingat indeks dimulai dari 0.

Fungsi len() milik larik digunakan untuk mengetahui jumlah elemen.


Larik berdimensi dua

Contoh berikut menunjukkan pembentukan larik berdimensi dua


yang diberi nilai awal dan kemmudian diikuti dengan cara untuk
menampilkan isi larik dan tipe data larik.
Berikut contoh untuk mengakses elemen larik berdimensi dua;
Larik berdimensi tiga
Berikut contoh yang menunjukkan pembentukan larik berdimensi
tiga yang diberi nilai:

Gambar larik
beerdimensi 3
Cara untuk mengakses elemen larik berdimensi tiga

Tampak bawah terdapat dua indeks yang disebutkan dalam tigaDim untuk mengakses suatu
elemen larik berdimensi tiga. Notasi seperti tigaDim[0, 0, 2] boleh ditulis menjadi tigaDim[0] [0]
[2].

Metode shape() dapat digunakan untuk


mendapatkan jumlah baris dan kolom
pada larik berdimensi tiga
Berikut cara untuk mengakses elemen larik berdimensi tiga,
untuk mengetahui jumlah baris, kolom, dan kedalaman
secara individual:
Tipe data elemen larik

Tipe elemen data larik dapat diketahui


melalui:
namalarik.dtype
Pengaksesan larik
Pengaksesan elemen-elemen larik dapat
dilakukan secara individual ataupun
secara berkelompok. Irisan yang berlaku
pada senarai jugaberlaku pada larik
untuk memperoleh sejumlah elemen.

Sebagai contoh, matriks [:2, 1:3] berarti


“2 baris pertama dan kolom 1 dan 2”.
Operasi matematika pada larik
Operator +, -, dan * dapat digunkan
pada dua larik yang berukuran sama.
Hubungan yang berlaku pada ketiga
operator ini adalah seperti berikut :

Cij = Aij + Bij


Cij = Aij - Bij
Cij = Aij * Bij
Contoh perkalian tiga matriks sekaligus
Terdapat tiga matrik
dengan ordo 2x2, yang
masing-masing diberi
nama:
1. matA
2. matB
3. matC
Terdapat hasil dari perkalia ketiga
matrik, diperoleh ([[25,24],[14,96]]).

Sedangkan hasil yang ditransposkan


adalah ([[25,14],[24,96]]).

Dibandingkan dengan pengerjan secara manual:


matAB = matA x matB

matABC = matAB x matC

Pengerjaan dengan numpy: Hasil (matABC) diperoleh dari perkalian ketiga matriks dengan
dua tahap perkalian.
hasil = matA x matB x matC
Hasil (hasil) diperoleh langsung dari perkalian ketiga matriks
sekaligus.
Adapaun perkalian
matriks dengan metode
dot, dapat dilakukan
dengan cara seperti ini.

Dan metode T yang


berguna untuk
melakukan operasi
transpose.
Sebenarnya apa yang terjadi dibalik coding merubah warna dan merotasi
Citra?
Mengapa Penting mempelajari Aritmatika dalam Pengolahan Citra Digital ?
Mengapa Penting mempelajari Aritmatika dalam Pengolahan Citra Digital ?

Cobalah untuk
mengubah nilai
transparansi.
Mengenal Python IDE dan Python, Library OpenCV
Mengubah ukuran Citra dan Menyimpan citra
Mengenal Python IDE dan Python, Library OpenCV
Merotasi Citra
Pengolahan citra berbasis
piksel

Membuat bingkai atau tepi gambar diubah menjadi hitam, merupakan


bentuk pengubahan nilai pada piksel.
Membuat bingkai pada citra berskala keabu-abuan

Metode copy() diperlukan agar nilai pada


hasil bersifat independen terhadap citra

Konstanta tebal menyatakan tebal bingkai


dalam satuan piksel. Dan disebutkan
sebannyak empat kali proses untuk
membuat kotak yang berwarna hitam

Pernyataan berikut digunakan untuk


memperoleh jumlah kolom dan baris pada citra
Perintah untuk membentuk bingkai
pada bagian atas.

Perintah untuk membentuk bingkai pada


bagian bawah.

Perintah untuk membentuk bingkai pada


bagian samping kiri.

Perintah untuk membentuk bingkai pada


bagian samping kanani.

Perintah untuk menampilkan citra pada citra dan hasil.

Perintah untuk menunggu pemakai menekan sebarang tombol.


Jendela yang dihasilkan

Citra
Original

Citra Hasil
Bingkai
Membuat bingkai pada citra berwarna

Perbedaan utama dengan gambar


beraras keabu-abuan hanya
terletak pada kode hitam = [0,0,0] .
Pada citra berskala keabu-abuan,
hitam berupa besaran skalar,
sedangkan pada citra berwarna
berupa senarai yang mengandung
tiga elemen yang menyatakan nilai
ketiga komponen penyusun warna,
yaitu B, G, dan R.
Citra Original

Citra Hasil Bingkai

Anda mungkin juga menyukai