• Tidak ada hasil yang ditemukan

LAPORAN PRAKTIKUM 2 MACHINE VISION IMAGE FILTERING

N/A
N/A
Diyah Kusumawati

Academic year: 2024

Membagikan "LAPORAN PRAKTIKUM 2 MACHINE VISION IMAGE FILTERING "

Copied!
15
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM 2 MACHINE VISION

IMAGE FILTERING

Disusun Oleh : Diyah Kusumawati

4212131017

Program Studi Teknik Elektro Jurusan Teknik Mekatronika

Politeknik Negeri Batam

2021

(2)

1. Latihan 2.1 Kernel

Kernel adalah matrik dengan ukuran baris dan kolom yang sama minimal 3x3. Kernel digunakan pada proses filtering dengan cara konvolusi. IMAQ GetKernel digunakan untuk mendapatkan kernel sesuai dengan kernel family yang dipilih.

a. Tampilan Layar Panel

b. Tampilan Block Diagram

Keterangan :

1. IMAQ GetKernel, klik kanan kemudian create All Controls and Indicators berfungsi sebagai pembaca kernel yang telah ditentukan oleh Kode ini yang terdiri dari tiga unit terpisah: Kernel Family, Kernel Size, dan Kernel Number, dimana :

(3)

- Kernel Family adalah menentukan jenis matriksnya. Nilai ini sesuai dengan unit keseribu dalam kode yang diteliti. Jenis matriksnya adalah sebagai berikut:

Pilih Gradient (1), maka kita dapat menentukan kernel family sebagai gradient.

- Kernel Size (3,5, ...) menentukan ukuran matriks horisontal dan vertikal. Nilai-nilainya adalah 3, 5, dan 7, sesuai dengan konvolusi 3

× 3, 5 × 5, dan 7 × 7 yang disertakan dalam katalog matriks. Nilai ini sesuai dengan unit keseratus dalam kode yang diteliti.

- Kernel Number adalah matriks nomor keluarga. Ini adalah angka dua digit, antara 0 dan n, termasuk keluarga dan ukuran. Sejumlah matriks yang telah ditentukan tersedia untuk setiap jenis dan ukuran

- Kernel Kode adalah kode yang bisa digunakan untuk langsung mengakses matriks konvolusi. Setiap kode menentukan matriks konvolusi tertentu. Bisa menggunakan input ini jika sudah terhubung dan bukan 0. Kernel yang terletak di file kemudian ditranskripsi menjadi array 2D yang tersedia dari output Kernel.

- Divider adalah faktor normalisasi yang terkait dengan kernel yang diambil.

- Kernel adalah matriks yang dihasilkan. Ini sesuai dengan kernel yang dikodekan oleh kode yang ditentukan dari masukan kernel family, kernel size, dan Kernel Number atau kode dari sebuah kode yang langsung melewati Masukan Kernel Code. Dapat dihubungkan output ini langsung ke input Kernel di IMAQ Convolute VI.

- Kode kernel menunjukkan kode yang digunakan untuk mengambil kernel.

2. OR berfungsi sebagai untuk menghitung OR logis dari input. Kedua input tersebut harus berupa nilai Boolean, nilai numerik, atau cluster error. Jika kedua input adalah FALSE, fungsi mengembalikan FALSE. Jika tidak, ia akan mengembalikan TRUE. Maka fungsi ini melakukan operasi bitwise pada input numerik. Dimana :

X harus berupa nilai Boolean atau angka. x bisa berupa skalar, array atau cluster bilangan atau nilai Boolean, array dari cluster angka atau nilai Boolean, dan seterusnya. Jika x adalah cluster kesalahan, hanya parameter status dari cluster kesalahan yang masuk ke terminal input.

Y harus nilai Boolean atau angka. y bisa berupa skalar, array atau cluster angka atau nilai Boolean, array dari cluster angka atau nilai Boolean, dan seterusnya. Jika y adalah cluster error, hanya parameter status dari cluster kesalahan yang lolos ke terminal input.

Maka X or Y ? adalah logis Atau dari x dan y.

(4)

Kesimpulan :

Dari hasil gambar Output program adalah proses Gradient, dengan kernel size 3 x3.

2. Latihan 2.2 Konvolusi

IMAQ Convolute berfungsi untuk melakukan filter pada image menggunakan linear filter.

Perhitungan konvolusi dapat dilakukan baik pada integer maupun floating point, tergantung dari tipe image dan isi nilai kernel

a. Tampilan layar panel

b. Tampilan Block Diagram

(5)

Keterangan :

1. IMAQ Create, setting Image Type menjadi Grayscale (U8).

Nama Gambar Source adalah nama yang terkait dengan gambar yang dibuat.

Setiap gambar yang dibuat harus memiliki nama yang unik.

Jenis Gambar menentukan jenis gambar. Pilih Grayscale (U8).

2. IMAQ ReadFile, klik kanan pada File Path kemudian Create Control berfungsi sebagai pembaca file gambar. Path File adalah pathname lengkap, termasuk drive, directory, dan filename, dari file yang akan dibaca.

3. Image Display berfungsi untuk menampilkan gambar dengan cara browsing file yang akan dimasukkan.

4. IMAQ Convolute berfungsi sebagai Filter gambar dengan menggunakan filter linier. Perhitungan dilakukan dengan bilangan bulat atau floating point,

tergantung pada jenis gambar dan isi kernel.

dimana :

Image Src adalah referensi ke sumber gambar.

Gambar Dst adalah referensi ke gambar tujuan.

Image Dst Out adalah referensi ke gambar tujuan. Jika Image Dst terhubung, Maka Image Dst Out sama dengan Image Dst. Jika tidak, Image Dst Out mengacu pada gambar yang direferensikan oleh Image Src.

Kernel adalah array 2D yang berisi matriks konvolusi untuk diterapkan pada gambar. Ukuran konvolusi ditentukan oleh ukuran array ini. Array dapat dihasilkan dengan teknik pemrograman LabVIEW standar atau IMAQ GetKernel VI atau IMAQ BuildKernel VI. Jika kernel berisi kurang dari tiga baris atau tiga kolom, tidak ada konvolusi yang dilakukan.

5. Array 5x5 6. Array 3x3

7. Select berfungsi sebagai untuk memilih nilai yang dihubungkan ke input kernel 5x5 atau input kernel 3x3, tergantung pada nilai kernel select. Jika kernel select TRUE, Maka fungsi ini memilih nilai yang ditransfer ke kernel 5x5. Jika kernel select FALSE, Maka fungsi ini mengembalikan nilai yang ditransfer ke kernel

(6)

3x3.Panel konektor menampilkan tipe data default untuk fungsi polimorfik ini, dimana :

Kernel 5x5 adalah nilai bahwa fungsi ini kembali jika melewati nilai TRUE.

Kernel 5x5 dan Kernel 3x3 harus memiliki tipe yang sama, namun bisa memiliki representasi numerik yang berbeda.

Kernel Select adalah menentukan apakah fungsi mengembalikan nilai Kernel 5x5 atau Kernel 3x3 dalam output kernel yang akan masuk ke input konvolusi dengan image. Jika kita memasang cluster kesalahan ke kernel select dan terjadi kesalahan, cluster kesalahan melewati nilai TRUE ke fungsi. Jika tidak, cluster kesalahan melewati nilai FALSE ke fungsi.

Kernel 3x3 adalah nilai bahwa fungsi ini kembali jika melewati nilai FALSE.

t dan f harus memiliki tipe yang sama, namun bisa memiliki representasi numerik yang berbeda.

Kernel Output yang masuk ke Input Konvolusi dengan image adalah nilai yang ditransfer ke Kernel 5x5 jika Kernel select TRUE. Kernel Output yang masuk ke Input Konvolusi dengan image adalah nilai yang ditransfer ke Kernel 3x3 jika Kernel select FALSE.

8. IMAQ Dispose digunakan untuk menghancurkan gambar dan membebaskan ruang yang ditempatinya dalam memori. VI ini diperlukan untuk setiap gambar yang dibuat dalam aplikasi untuk membebaskan memori yang dialokasikan ke IMAQ Create VI. Kita dapat menggunakan IMAQ Dispose untuk setiap panggilan ke IMAQ. Catatan Bila aplikasi LabVIEW dibatalkan, Maka gambar yang dialokasikan tetap tersimpan dalam memori, dimana :

Image gambar menentukan referensi ke gambar untuk dihancurkan.

Error In (no error), kesalahan dalam (tidak ada kesalahan) menggambarkan status kesalahan sebelum VI atau fungsi ini berjalan. Defaultnya tidak ada error. Jika terjadi kesalahan sebelum VI atau fungsi ini berjalan, VI atau fungsi melewati kesalahan dalam nilai ke kesalahan keluar. VI atau fungsi ini berjalan normal hanya jika tidak terjadi kesalahan sebelum VI atau fungsi ini berjalan. Jika terjadi kesalahan saat fungsi VI atau berjalan ini berjalan

(7)

normal, dan menetapkan status kesalahannya sendiri karena kesalahan keluar.

Gunakan Simple Error Handler atau General Error Handler VI untuk menampilkan deskripsi kode kesalahan. Gunakan kesalahan dalam dan kesalahan keluar untuk memeriksa kesalahan dan untuk menentukan perintah eksekusi oleh kesalahan pengkabelan dari satu node ke kesalahan pada simpul berikutnya.

Error Out kesalahan keluar berisi informasi kesalahan Jika kesalahan dalam menunjukkan bahwa kesalahan terjadi sebelum VI atau fungsi ini berjalan, kesalahan keluar berisi informasi kesalahan yang sama. Jika tidak, ini menggambarkan status kesalahan yang dihasilkan VI atau fungsi ini. Klik kanan indikator error out pada panel depan dan pilih Jelaskan Kesalahan dari menu jalan pintas untuk informasi lebih lanjut tentang kesalahan tersebut.

9. Simple Error Handle berfungsi untuk menunjukkan apakah terjadi kesalahan.

Jika terjadi kesalahan, VI ini mengembalikan deskripsi kesalahan dan secara opsional menampilkan kotak dialog. VI ini memanggil General Error Handler VI dan memiliki fungsi dasar yang sama dengan General Error Handler tetapi dengan lebih sedikit pilihan. Kesalahan dalam menjelaskan kondisi error yang terjadi sebelum node ini berjalan, maka harus melakukan proses sebagai berikut :

Masukan ini berisi status, kode, dan sumber, yang memberikan kesalahan standar pada fungsi elemen cluster.

Kesimpulan

Hasil dari gamabr tersebut adalah deteksi tepi dari gambar input yang dijalankan menggunkan kernel 5 x 5.

(8)

3. Latihan 2-3 Korelasi

IMAQ Correlate berfungsi untuk menghitung cross correlation ternormalisasi antara source image dengan template image.

a. Tampilan layar Panel

b. Tampilan Block Diagram

Keterangan :

1. IMAQ Create, setting Image Type menjadi Grayscale (U8)

2. IMAQ ReadFile, klik kanan pada File Path kemudian Create Control.

3. IMAQ Resample berfungsi untuk membuat ulang gambar ke ukuran yang ditentukan pengguna. Kita bisa menggunakan VI ini untuk menampilkan gambar yang dikurangi atau diperbesar. klik kanan pada input X Resolution, Create constant 200. Klik kanan pada input Y Resolution, Create constant 200, dimana :

(9)

- X Resolution menentukan resolusi horizontal gambar.

- Y Resolusion menentukan resolusi vertikal gambar.

- Image Src adalah referensi ke gambar sumber.

- Image Dst Out adalah referensi ke gambar tujuan. Jika Image Dst terhubung, Image Dst Out sama dengan Image Dst. Jika tidak, Image Dst Out mengacu pada gambar yang direferensikan oleh Image Src.

4. Image Display berfungsi untuk menampilkan gambar dengan cara browsing file yang akan dimasukkan.

5. Merge Error digunakamn untuk menggabungkan kluster kesalahan I/O dari fungsi yang berbeda. Dimana :

- Error In 0 menjelaskan kondisi kesalahan pertama untuk memeriksa kesalahan.

- Error In 1 menjelaskan kondisi kesalahan kedua untuk memeriksa kesalahan.

- Error Out berisi kesalahan pertama yang ditemukan dalam kesalahan dalam 0, kesalahan dalam 1, dan berlanjut dalam urutan menurun untuk setiap input yang ditransfer. Jika VI tidak menemukan kesalahan, kesalahan berisi peringatan pertama yang ditemukan.

- Merge Error Details , ketika menempatkan fungsi ini pada diagram blok, ia memiliki dua input yang tersedia. Dapat menambahkan input tambahan ke node dengan mengklik kanan input dan memilih Tambahkan Input dari menu pintasan atau dengan mengukur ulang node. Untuk menghapus input, klik kanan input dan pilih Hapus Input dari menu pintasan atau gunakan penanganan pengubah ukuran untuk mengubah ukuran node.

6. IMAQ Correlate digunakan untuk menghitung korelasi silang yang dinormalisasi antara gambar sumber dan gambar template.

- Image Src adalah referensi ke gambar sumber

- Image Template adalah referensi ke template. Menggunakan gambar 8- bit. Pusat template digunakan sebgaai asal unutk korelasi.

- Image Dst merupakan referensi ke gambar tujuan.

(10)

- Image Dst Out merupakan referensi ke tujuan. Jika image Dst terhubung, maka image Dst out sama dengan Image Dst. Jika tidak, Image Dst Out mengacu pada gambar yang dirujuk oleh Image Src.

7. OR

8. IMAQ Dispose 9. Simple Error Handle Kesimpulan :

Dari percobana diatas, hasil dari correlate adalah menghitung korelasi silang dari 2 gambar sumber dan gambar template.

4. Latihan 2-4 Low Pass Filter

IMAQ LowPass berfungsi untuk menghitung perbedaan antara piksel yang sedang diproses dengan piksel sekitarnya. Jika piksel yang diproses memiliki perbedaan lebih dari persentase tertentu, maka piksel tersebut akan diisi nilai rata-rata dari piksel-piksel sekitarnya

a. Tampilan Layar Panel

(11)

b. Tampilan Block Diagram

Keterangan :

1. IMAQ Create, setting Image Type menjadi Grayscale (U8).

Nama Gambar Source & Lowpass adalah nama yang terkait dengan gambar yang dibuat. Setiap gambar yang dibuat harus memiliki nama yang unik.

Jenis Gambar menentukan jenis gambar. Pilih Grayscale (U8).

2. Merge Error

3. IMAQ Readfile, klik kanan pada File Path kemudian create Control.

4. Image Display

5. IMAQ LowPass berfungsi untuk menghitung variasi antar-piksel antara piksel yang sedang diproses dan piksel-piksel di sekitarnya. Jika piksel yang sedang diproses memiliki variasi yang lebih besar dari persentase tertentu, itu diatur ke nilai piksel rata-rata seperti yang dihitung dari piksel tetangga. Klik kanan pada input size & tolerance, kemudian create control

- Ukuran & Toleransi adalah cluster yang menentukan ukuran X, Y Size, dan% Tolerance.

- Ukuran X adalah ukuran sumbu matriks horizontal. Defaultnya adalah 3.

- Ukuran Y adalah ukuran sumbu matriks vertikal. Defaultnya adalah 3.

- Toleransi adalah variasi maksimum yang diperbolehkan. Standarnya adalah 40%.

- Image Src merupakan referensi ke sumber gambar - Image Dst merupakan referensi ke gambar tujuan

(12)

6. OR

7. IMAQ Dispose digunakan untuk Menghancurkan gambar dan membebaskan ruang yang ditempatinya dalam memori. VI ini diperlukan untuk setiap gambar yang dibuat dalam aplikasi untuk membebaskan memori yang dialokasikan ke IMAQ Create VI. Jalankan IMAQ Buang hanya ketika gambar tidak lagi diperlukan dalam aplikasi.

8. Simple Error Handle

Kesimpulan :

Hasil dari percobaan diatas adalah hasil dari source image menghasilkan output gambar yang ada salah satu garisnya kurang penuh atau samar.

Latihan 2.5 Deteksi Tepi

IMAQ EdgeDetection berfungsi untuk mendeteksi tepi dari sebuah image.

1. Tampilan Layar Panel

(13)

2. Tampilan Block Diagram

Keterangan :

1. IMAQ Create, setting Image Type menjadi Grayscale (U8).

2. Merge Errors

3. IMAQ ReadFile, klik kanan pada File Path kemudian create Control.

4. Image Display

5. IMAQ EdgeDetection mengekstrak kontur (mendeteksi tepi) dalam nilai tingkat abu-abu. Setiap gambar yang terhubung ke input Image Dst harus tipe gambar yang sama yang terhubung ke Image Src. Tipe gambar yang terhubung ke input Image Mask harus berupa gambar 8-bit

- Threshold Value / Nilai Ambang Batas adalah nilai piksel minimum yang akan muncul pada gambar yang dihasilkan. Sangat jarang menggunakan nilai lebih besar dari 0 untuk jenis pemrosesan ini karena hasil dari proses ini biasanya sangat gelap dan tidak terlalu dinamis. Defaultnya adalah 0.

- Image Src adalah referensi ke sumber gambar.

- Gambar Dst adalah referensi ke gambar tujuan.

- Error in (no error) / Kesalahan dalam (tidak ada kesalahan) menggambarkan status kesalahan sebelum VI atau fungsi ini berjalan

- Metode menentukan jenis filter deteksi tepi untuk digunakan. Standarnya adalah Diferensiasi.

- Image Dst Out adalah referensi ke gambar tujuan. Jika Image Dst terhubung, Image Dst Out sama dengan Image Dst. Jika tidak, Image Dst Out mengacu pada gambar yang direferensikan oleh Image Src.

- Error out berisi informasi kesalahan Jika kesalahan dalam menunjukkan bahwa kesalahan terjadi sebelum VI atau fungsi ini berjalan.

(14)

6. OR

7. IMAQ Dispose

8. Simple Error Handler

Kesimpulan :

Dari percobaan diatas, dapat disimpulkan bahwa gambar yang menggunakan Mentod Differentation menghasilkan gambar yang lebih gelap dan terlihat sketsa.

TUGAS

Modifikasi Konvolusi dengan cara menambahkan IMAQ Get Kernel

1. Tampilan layar

(15)

2. Tampilan Block Diagram

Keterangan:

Dalam program ini, ditambahkan IMAQ GetKernel untuk menampilkan kernel tanpa mengisi secara manual, dengan menghilangkan select pada program sebelumnya.

Referensi

Dokumen terkait