LAPORAN PRAKTIKUM X
PENGOLAHAN CITRA DIGITAL
DISUSUN OLEH
NAMA : SHANIA SELLA DWI ROYAN
NIM : 1690343010
KELAS : 3.D
PROGRAM STUDI TEKNOLOGI REKAYASA KOMPUTER JARINGAN
JURUSAN TEKNIK INFORMASI DAN KOMPUTER
POLITEKNIK NEGERI LHOKSEUMAWE
2019
LEMBAR PENGESAHAN
NOMOR PRAKTIKUM : 10/TRKJ/2018
JUDULPRAKTIKUM : IMAGE GRADIENT
NAMA PRAKTIKUM : SHANIA SELLA DWI ROYAN
NIM : 1690343010
KELAS : 3.D
PRODI : TEKNIK REKAYASA JARINGAN KOMPUTER
TANGGAL PRATIKUM : 14 MEI 2019
TANGGAL PENYERAHAN : 21 MEI 2019
Mengetahui,
DosenPembimbing
FachriYannuar Rudi F, SST,MT
TRANSFORMASI MORFOLOGI
I. TUJUAN
Mahasiswa mampu mengetahui tentang gradient gambar, tepian,
dll.
Mahasiswa mampu mengetahui fungsi-fungsi berikut: cv.Sobel () ,
cv.Scharr () , cv.Laplacian () dll.
II. DASAR TEORI
Di antara berbagai operasi yang dapat diterapkan pada gambar,
ada konvolusi gambar di mana filter tertentu diterapkan untuk mengedit
gambar untuk mendapatkan informasi atau utilitas lainnya. Anda telah
melihat bahwa sebuah gambar direpresentasikan sebagai matriks numerik
besar di mana warna setiap piksel gambar diwakili oleh angka dari 0
hingga 255 dalam matriks. Konvolusi memproses semua nilai numerik ini,
dengan menerapkan operasi matematika ( filter gambar ) untuk
menghasilkan nilai baru dalam matriks baru dengan ukuran yang sama.
Salah satu dari operasi ini adalah turunannya . Dengan kata
sederhana, turunan adalah operasi matematika yang memungkinkan
Anda untuk mendapatkan nilai numerik yang menunjukkan kecepatan
perubahan nilai (dalam ruang, waktu, dll.). Bagaimana turunannya
menjadi penting dalam hal gambar? Anda tertarik pada variasi warna
yang disebut gradient .
Mampu menghitung gradien warna adalah alat yang sangat baik untuk
menghitung tepi gambar. Bahkan, mata Anda mampu membedakan garis
besar sosok yang ada dalam gambar berkat lompatan antara satu warna
ke warna lainnya. Selain itu, mata Anda dapat merasakan kedalaman
berkat berbagai corak warna mulai dari terang ke gelap, yang tepatnya
merupakan gradien. Dari semua ini, cukup jelas seberapa penting untuk
mengukur hadir gradien dalam gambar dan juga mendeteksi tepi angka
dengan operasi sederhana (filter) yang dilakukan pada gambar. Untuk
mendapatkan pandangan yang lebih baik dari sudut pandang matematika,
lihat contoh ini.
Seperti yang dapat Anda lihat dari gambar, sebuah tepi tidak lebih dari
transisi cepat dari satu warna ke warna lain. Untuk menyederhanakan, 0
berwarna hitam dan 1 berwarna putih. Semua warna abu-abu akan
berada di antara 0 dan 1.
Jika Anda menempatkan semua yang sesuai dengan nilai gradien
dalam bagan ottenai fungsi f (). Seperti yang Anda lihat dalam
korespondensi tepi ada transisi tiba-tiba dari 0 ke 1.
Turunan dari fungsi f () dan dapatkan fungsi f '(). Seperti yang dapat
Anda lihat, di mana Anda memiliki variasi rona maksimum akan memiliki
nilai mendekati 1. Jadi, mengubah warna, Anda akan mendapatkan
gambar di mana warna putih akan menunjukkan tepi gambar.
III. LANGKAH KERJA
1. PERCOBAAN PERTAMA
- Kemudian jalankan menggunakan CMD
2. HASIL
3. ANALISA
import cv2 untuk Pyhton memanggil library cv2 yaitu OpenCV
import numpy as np digunakan untuk pemanggilan numpy tetapi
diberi nama np
from matplotlib import pyplot as plt digunakan untuk mengimport dari
matplotlibnya
img = cv2.imread('emes.jpg',0) digunakan untuk membaca /
memanggil gambar yang mau ditampilkan
laplacian = cv2.Laplacian(img,cv2.CV_64F) untuk memanggil fungsi
Laplacian
sobelx = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=5) untuk memanggil
fungsi sobel X dengan operasi penghalusan Gaussian
sobely = cv2.Sobel(img,cv2.CV_64F,0,1,ksize=5) untuk memanggil
fungsi sobel X dengan operasi penghalusan Gaussian
plt.subplot(2,2,1),plt.imshow(img,cmap = 'gray') untuk menyatukan
beberapa kedalam 1 kolom, untuk menampilkan gambar ‘gray’.
plt.title('Original'), plt.xticks([]), plt.yticks([]) digunakan untuk
memplotkan title gambar dan untuk menampilkan koordinat titik x
dan y pada suatu gambar atau citra
plt.subplot(2,2,2),plt.imshow(laplacian,cmap = 'gray') untuk
menyatukan beberapa kedalam 1 kolom, untuk menampilkan
gambar laplacian dengan ‘gray’.
plt.title('Laplacian'), plt.xticks([]), plt.yticks([]) digunakan untuk
memplotkan title gambar dan untuk menampilkan koordinat titik x
dan y pada suatu gambar atau citra
plt.subplot(2,2,3),plt.imshow(sobelx,cmap = 'gray') untuk
menyatukan beberapa kedalam 1 kolom, untuk menampilkan
gambar sumbu x dengan ‘gray’.
plt.title('Sobel X'), plt.xticks([]), plt.yticks([]) digunakan untuk
memplotkan title gambar dan untuk menampilkan koordinat titik x
dan y pada suatu gambar atau citra
plt.subplot(2,2,4),plt.imshow(sobely,cmap = 'gray') untuk
menyatukan beberapa kedalam 1 kolom, untuk menampilkan
gambar sobel y dengan ‘gray’.
plt.title('Sobel Y'), plt.xticks([]), plt.yticks([]) digunakan untuk
memplotkan title gambar dan untuk menampilkan koordinat titik x
dan y pada suatu gambar atau citra
plt.show() untuk menampilkan gambar yang diplotkan
1. PERCOBAAN KEDUA
- Jalankan menggunakan CMD
2. HASIL
3. ANALISA
import cv2 untuk Pyhton memanggil library cv2 yaitu OpenCV
import numpy as np digunakan untuk pemanggilan numpy tetapi
diberi nama np
from matplotlib import pyplot as plt digunakan untuk mengimport dari
matplotlibnya
img = cv2.imread('emes.jpg',0) digunakan untuk membaca /
memanggil gambar yang mau ditampilkan
# Output dtype = cv2.CV_8U
sobelx8u = cv2.Sobel(img,cv2.CV_8U,1,0,ksize=5) untuk membuat
fungsi sobelx8u
# Output dtype = cv2.CV_64F. Then take its absolute and convert to
cv2.CV_8U
sobelx64f = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=5) untuk membuat
fungsi sobelx64f
abs_sobel64f = np.absolute(sobelx64f) untuk membuat fungsi
abs_sobel64f
sobel_8u = np.uint8(abs_sobel64f) untuk membuat fungsi sobel_8u
plt.subplot(1,3,1),plt.imshow(img,cmap = 'gray') untuk menyatukan
beberapa kedalam 1 kolom, untuk menampilkan gambar laplacian
dengan ‘gray’.
plt.title('Original'), plt.xticks([]), plt.yticks([]) digunakan untuk
memplotkan title gambar dan untuk menampilkan koordinat titik x dan
y pada suatu gambar atau citra
plt.subplot(1,3,2),plt.imshow(sobelx8u,cmap = 'gray') untuk
menyatukan beberapa kedalam 1 kolom, untuk menampilkan gambar
sobelx8u dengan ‘gray’.
plt.title('Sobel CV_8U'), plt.xticks([]), plt.yticks([]) digunakan untuk
memplotkan title gambar dan untuk menampilkan koordinat titik x dan
y pada suatu gambar atau citra.
plt.subplot(1,3,3),plt.imshow(sobel_8u,cmap = 'gray') untuk
menyatukan beberapa kedalam 1 kolom, untuk menampilkan gambar
sobel_8u dengan ‘gray’.
plt.title('Sobel abs(CV_64F)'), plt.xticks([]), plt.yticks([]) digunakan
untuk memplotkan title gambar dan untuk menampilkan koordinat titik
x dan y pada suatu gambar atau citra.
plt.show()untuk menampilkan gambar yang diplotkan
IV. KESIMPULAN
Operator Sobel adalah operasi penghalusan Gausssian bersama
ditambah diferensiasi, sehingga lebih tahan terhadap kebisingan. Anda
dapat menentukan arah derivatif yang akan diambil, vertikal atau
horizontal (masing-masing dengan argumen, yorder dan xorder). Anda
juga dapat menentukan ukuran kernel dengan ksize argumen. Jika ksize =
-1, filter Scharr 3x3 digunakan yang memberikan hasil yang lebih baik
daripada filter Sobel 3x3.