Jumat, 26 November 2010

Pengolahan Citra "Pendeteksian Tepi (Edge Detection)" dengan MATLAB

Nama Anggota Kelompok :
1. Anugrah Setiawan (50407127)
2. Lisa (50407503)

Kelas : 4IA11



Pengantar



MATLAB ® adalah tingkat teknis komputasi bahasa-tinggi dan lingkungan yang interaktif untuk pengembangan algoritma, visualisasi data, analisis data, dan komputasi numerik. Menggunakan produk MATLAB, Anda dapat menyelesaikan masalah komputasi teknis lebih cepat dibandingkan dengan bahasa pemrograman tradisional, seperti C, C + +, dan Fortran.

Anda dapat menggunakan MATLAB dalam berbagai aplikasi, termasuk dan gambar pemrosesan sinyal, komunikasi, desain kontrol, uji dan pengukuran, model dan analisis keuangan, dan biologi komputasi . Add-on toolboxes (koleksi fungsi MATLAB tujuan khusus, tersedia secara terpisah) memperpanjang lingkungan MATLAB untuk memecahkan masalah kelas tertentu dalam area aplikasi.

MATLAB menyediakan sejumlah fitur untuk mendokumentasikan dan berbagi pekerjaan Anda. Anda dapat mengintegrasikan kode MATLAB dengan bahasa lain dan aplikasi, dan mendistribusikan Anda algoritma MATLAB dan aplikasi.

Fitur Utama

1. Bahasa tingkat tinggi untuk komputasi teknis

2. Pengembangan lingkungan untuk mengelola kode, file, dan data

  1. Interaktif alat untuk eksplorasi iteratif, desain, dan pemecahan masalah

  2. Matematika fungsi untuk aljabar linear, statistik, analisis Fourier, penyaringan, optimasi, dan integrasi numerik

  3. 2-D dan 3-D grafis fungsi untuk visualisasi data

  4. Alat untuk membangun antarmuka pengguna grafis kustom

  5. Fungsi untuk mengintegrasikan algoritma berbasis MATLAB dengan aplikasi eksternal dan bahasa, seperti C, C + +, Fortran, Java, COM, dan Microsoft Excel

Bahasa MATLAB ®

Bahasa MATLAB ® mendukung vektor dan operasi matriks yang mendasar dan ilmiah masalah rekayasa. Ini memungkinkan pengembangan cepat dan eksekusi.

Dengan bahasa MATLAB, Anda dapat mengembangkan program dan algoritma lebih cepat dibandingkan dengan bahasa tradisional karena Anda tidak perlu melakukan tugas-tugas administrasi tingkat rendah, seperti menyatakan variabel, menentukan tipe data, dan mengalokasikan memori. Dalam banyak kasus, MATLAB menghilangkan kebutuhan untuk loop 'untuk'. Akibatnya, satu baris kode MATLAB sering dapat menggantikan beberapa baris kode C atau C + +.

Pada saat yang sama, MATLAB menyediakan semua fitur bahasa pemrograman tradisional, termasuk operator aritmatika, flow control, struktur data, tipe data, pemrograman berorientasi objek (OOP), dan fitur debugging.

MATLAB memungkinkan Anda menjalankan perintah atau kelompok dari satu perintah pada satu waktu, tanpa menyusun dan menghubungkan, memungkinkan Anda untuk dengan cepat iterate ke solusi optimal.

Untuk eksekusi cepat perhitungan matriks dan vektor berat, MATLAB menggunakan perpustakaan prosesor-dioptimalkan. Untuk perhitungan skalar tujuan umum, MATLAB menghasilkan mesin-kode instruksi menggunakan JIT nya (Just-In-Time) teknologi kompilasi.

Teknologi ini, yang tersedia pada kebanyakan platform, menyediakan kecepatan eksekusi yang menyaingi bahasa pemrograman tradisional.


Development Tools Development Tools

MATLAB mencakup alat pengembangan yang membantu Anda menerapkan algoritma Anda efisien. Ini meliputi:

  1. MATLAB Editor - Menyediakan editing standar dan fitur debugging, seperti pengaturan breakpoints dan tunggal melangkah

  2. M-Lint Kode Checker - Menganalisa kode Anda dan merekomendasikan perubahan untuk meningkatkan kinerja dan rawatan

  3. MATLAB Profiler - Records waktu yang dihabiskan untuk mengeksekusi setiap baris kode

  1. Directory Reports - Scan semua file dalam suatu direktori dan melaporkan pada efisiensi kode, perbedaan file, dependensi file, dan cakupan kode

Menganalisis dan Mengakses Data

MATLAB ® mendukung proses analisis data secara keseluruhan, dari memperoleh data dari perangkat eksternal dan database, melalui preprocessing, visualisasi, dan analisis numerik, untuk menghasilkan output yang berkualitas presentasi.

Analisis Data

Produk MATLAB menyediakan alat interaktif dan fungsi command-line untuk operasi analisis data, termasuk:

  • Interpolasi dan menebangi

  • Mengekstrak bagian data, scaling, dan rata-rata

  • Thresholding dan perataan

  • Korelasi, analisis Fourier, dan filtering

  • 1-D puncak, lembah, dan nol menemukan

  • Statistik dasar dan curve fitting

  • Analisis Matrix

Akses Data

MATLAB adalah platform yang efisien untuk mengakses data dari file, aplikasi lain, database, dan perangkat eksternal. Anda dapat membaca data dari format file yang populer, seperti Microsoft Excel, file ASCII teks atau biner, gambar, suara, dan file video, dan file ilmiah, seperti HDF dan HDF5. File biner rendah tingkat I / O fungsi membiarkan Anda bekerja dengan file data dalam format apapun. Fungsi tambahan memungkinkan Anda membaca data dari halaman Web dan XML.

Anda dapat memanggil aplikasi lain dan bahasa, seperti C, C + +, objek COM, DLL, Java, Fortran, dan Microsoft Excel, dan FTP mengakses situs dan layanan Web. Menggunakan Database Toolbox ™, Anda juga dapat mengakses data dari ODBC / JDBC-compliant database.

Mengimpor dan Mengekspor File Grafis

MATLAB memungkinkan Anda membaca dan menulis format file yang umum grafis dan data, seperti GIF, JPEG, BMP, EPS, TIFF, PNG, HDF, AVI, dan PCX. Sebagai hasilnya, Anda dapat mengekspor plot MATLAB ke aplikasi lain, seperti Microsoft Word dan Microsoft PowerPoint, atau untuk perangkat lunak desktop publishing. Sebelum mengekspor, Anda dapat membuat dan menerapkan template gaya, yang meliputi karakteristik seperti tata letak, font, dan ketebalan baris, untuk memenuhi spesifikasi publikasi.

Edge Detection (Pendeteksian Tepi)

Proses deteksi tepi melemahkan fluktuasi tinggi di warna, perubahan dramatis yaitu intensitas. Dalam domain frekuensi, proses ini mengacu pada atenuasi frekuensi tinggi.

Matlab termasuk built-in fungsi tepi dirancang untuk deteksi tepi. Mendukung jenis berikut detektor tepi:

  • Sobel

  • Prewitt

  • Roberts

  • Log (Laplacian)

  • Cerdik

  • Zerocross

Langkah-langkah pembuatan Edge Detection (Pendeteksian Tepi) :

  1. Install terlebih dahulu software aplikasi MATLAB 7.1

  2. Jalankan aplikasi MATLAB 7.1


  1. Simpan gambar yang akan digunakan pada drive C:ProgramFiles/MATLAB71/work. Lalu masukkan gambar yang akan digunakan dengan menyeleksi lalu pilih Finish

4. Seleksi gambar pada Workspace lalu pilih imagesc(nama_gambar) yang akan tampil sebagai berikut :


5. Ketikan source code pada Command Window :

Pengecilan ukuran gambar :

    • smallsingkong = singkong(1:4:size(singkong,1), 1:4:size(singkong,2), :);

    • subplot(2,2,1), image(smallsingkong);

Untuk pendeteksian tepi RBG masing-masing :

    • edges = [];

    • edges(:,:,1) = edge(smallsingkong(:,:,1), 'sobel');

    • edges(:,:,2) = edge(smallsingkong(:,:,2), 'sobel');

    • edges(:,:,3) = edge(smallsingkong(:,:,3), 'sobel');

    • subplot(2,2,2), imshow(edges(:,:,1)), title('singkong Edges Channel R');

    • subplot(2,2,3), imshow(edges(:,:,2)), title('singkong Edges Channel G');

    • subplot(2,2,4), imshow(edges(:,:,3)), title('singkong Edges Channel B');

Untuk kombinasi RGB :
    • subplot(1,2,1), image(edges), title('singkong Edges RGB');

    • edgesAll = edges(:,:,1) + edges(:,:,2) + edges(:,:,3);

    • subplot(1,2,2), imshow(edgesAll), title('Combined edges in one intensity image');

note : jika ingin mendapatkan Sorce Code berupa Editor, dapat diperoleh dengan men-Generate M-File.

6. Gambar Pendeteksian Tepi (Edge Detection) akan terbentuk seperti gambar dibawah ini :

Pendeteksian tepi berdasarkan RGB nya masing-masing

Pendeteksian tepi bardasarkan RBG dan kombinasinya

sumber : http://www.mathworks.com/products/matlab

Tidak ada komentar:

Posting Komentar