segmentasi citra

12
Segmentasi Citra Pengolahan Citra Digital Materi 7 Eko Prasetyo Teknik Informatika Universitas Muhamamdiyah Gresik 2011

Upload: kalin

Post on 15-Feb-2016

137 views

Category:

Documents


3 download

DESCRIPTION

Segmentasi Citra. Pengolahan Citra Digital Materi 7. Eko Prasetyo Teknik Informatika Universitas Muhamamdiyah Gresik 2011. Konsep Segmentasi. Segmentasi membagi citra ke dalam sejumlah region atau obyek . Level untuk pembagian tergantung pada masalah yang diselesaikan . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Segmentasi  Citra

Segmentasi CitraPengolahan Citra DigitalMateri 7

Eko PrasetyoTeknik Informatika

Universitas Muhamamdiyah Gresik2011

Page 2: Segmentasi  Citra

2

Konsep Segmentasi Segmentasi membagi citra ke dalam sejumlah region atau

obyek. Level untuk pembagian tergantung pada masalah yang diselesaikan.

Proses segmentasi berhenti ketika obyek yang diinginkan dalam aplikasi telah terisolasi. ◦ Misal, pemeriksaan otomatis pada rakitan produk elektronik. Yang

diinginkan adalah analisis citra produk dengan tujuan untuk mengetahui ada atau tidaknya penyimpangan tertentu, seperti salah komponen, atau lintasan hubungan yang putus

Algoritma umumnya didasarkan pada satu dari dua properti nilai intensitas: diskontinuitas dan similaritas. ◦ Kategori pertama, pendekatannya adalah memecah/memilah citra

berdasarkan perubahan kasar dalam intensitas, seperti tepi dalam citra.

◦ Kategori kedua didasarkan pada pemecahan citra ke dalam region yang sama menurut sejumlah kriteria yang didefinisikan, seperti thresholding, region growing, region splitting and merging.

Page 3: Segmentasi  Citra

3

Deteksi Tepi Merupakan pendekatan yang paling umum untuk pendeteksian

diskontinuitas nilai intensitas, seperti diskontinuitas yang dideteksi oleh penggunaan turunan pertama dan kedua.

Menggunakan turunan pertama dalam pengolahan citra (gradien)

Jarak vektor ini adalah:

Atau dengan nilai absolutnya:

Turunan kedua dalam pengolahan citra umumnya dihitung menggunakan Laplacian

yfxf

GG

y

xf

2/122)( yx GGmagf f

yx GGf

2

2

2

22 ),(),(),(

yyxf

xyxfyxf

Page 4: Segmentasi  Citra

4

Operator Deteksi Tepi: Sobel, Prewitt, Robert

Page 5: Segmentasi  Citra

5

Fungsi untuk deteksi tepi di MATLAB:[g, t] = edge(f, ‘method’, parameters)Detektor tepi Properti dasar

Sobel Menemukan tepi menggunakan perkiraan Sobel untuk turunannya dalam Gambar 8.4 (a) dan (b)

Prewitt Menemukan tepi menggunakan perkiraan Prewitt untuk turunannya dalam Gambar 8.4 (c) dan (d)

Robert Menemukan tepi menggunakan perkiraan Robert untuk turunannya dalam Gambar 8.4 (e) dan (f)

Laplacian of a Gaussian (LoG)

Menemukan tepi dengan mencari zero crossing setelah pemfilteran f(x,y) dengan filter Gaussian

Zerro crossing Menemukan tepi dengan mencari zero crossing setelah pemfilteran f(x,y) dengan filter yang didefinisikan user

Canny Menemukan tepi dengan mencari local maxima dari gradien f(x,y). Gradien dihitung menggunakan turunan filter Gaussian. Metode ini menggunakan dua threshold untuk mendeteksi tepi yang kuat dan lemah, dan memasukkan tepi lemah dalam output hanya jika tepi tersebut terhubung ke tepi yang kuat. Maka, metode ini lebih memungkinkan untuk mendeteksi tepi yang lemah dengan benar

Page 6: Segmentasi  Citra

6

SOBEL, PREWITT, ROBERT[g, t] = edge(f, ‘sobel’, T, dir)f adalah citra input, T adalah threshold, dir menetapkan arah yang lebih disukai pada citra terdeteksi: ‘horizontal’, ‘vertical’, atau ‘both’ (default). g adalah citra biner yang berisi nilai 1 pada lokasi di mana tepi terdeteksi dan 0 untuk yang tidak. Parameter t pada output bersifat opsional, t adalah nilai threshold yang digunakan oleh fungsi edge

[g, t] = edge(f, ‘prewitt’, T, dir)[g, t] = edge(f, ‘robert’, T, dir)

Laplacian of Gaussianfungsi Gaussian:

di mana r2 = x2 + y2 dan adalah standard deviasi

2

2

2)(

r

erh

Laplacian dari fungsi ini (turunan kedua terhadap r) adalah: 2

2

24

222 )(

r

errh

[g, t] = edge(f, ‘log’, T, sigma)

CANNY[g, t] = edge(f, ‘canny’, T, sigma)

Page 7: Segmentasi  Citra

7

Citra grayscale Hasil deteksi tepi Sobel dengan threshold otomatis

Hasil deteksi tepi Prewitt dengan threshold otomatis

Hasil deteksi tepi Robert dengan threshold otomatis

Hasil deteksi tepi LoG dengan threshold otomatis

Hasil deteksi tepi Canny dengan threshold otomatis

>> [g_sobel_default, ts] = edge(f, 'sobel'); >> [g_log_default, tlog] = edge(f, 'log'); >> [g_canny_default, tcan] = edge(f, 'canny');

>> g_sobel_best = edge(i, 'sobel', 0.05);>> g_log_best = edge(i, 'log', 0.003, 2.25);>> g_canny_best = edge(i, 'canny', [0.04, 0.10], 1.5);

Page 8: Segmentasi  Citra

8

Region Growing Prosedur yang mengelompokkan piksel atau sub-region ke dalam

region yang lebih besar berdasarkan pada kriteria yang sudah ditentukan untuk pertumbuhannya.

Pendekatan dasarnya adalah memulai dengan sejumlah titik seed dan dari sini menumbuhkan region oleh penambahan pada setiap seed piksel tetangga yang mempunyai properti sama dengan seed (seperti range spesifik dari gray level atau warna).

Sintaks fungsinya adalah:◦ [g, NR, SI, TI] = regiongrow(f, S, T)◦ di mana f adalah citra yang disegmentasi ◦ parameter S bisa menjadi array (ukuran sama dengan f) atau skalar.◦ Jika f adalah skalar, maka harus berisi nilai 1 pada semua koordinat di mana

titik seed ditempatkan dan 0 untuk lainnya.◦ Jika S skalar, mendefinisikan nilai intensitas seperti bahwa semua titik dalam f

dengan nilai menjadi titik seed. ◦ T bisa menjadi array (ukurannya sama dengan f) atau skalar. Jika T adalah

array, maka berisi nilai threshold untuk setiap lokasi dalam f. Jika T skalar, maka mendefinisikan global threshold.

◦ Nilai threshold digunakan untuk menguji jika piksel dalam citra cukup sama dengan seed dengan 8-connected

Page 9: Segmentasi  Citra

9

>> i = imread('defective_weld.tif'); figure, imshow(i);>> [g, NR, SI, TI] = regiongrow(i, 255, 65);>> figure, imshow(g);>> figure, imshow(SI); figure, imshow(TI);

Citra grayscale Seed points yang ditemukan (gray level = 255) (SI)

Citra biner yang telah melewati pengujian threshold (TI)

Citra yang mempunyai hubungan 8-connected terhadap seed (g)

Page 10: Segmentasi  Citra

10

Segmentasi dengan K-meansSegmentasinya berbasis clustering dengan

fitur: R (red), G (green), dan B (blue).Karena citra berukuran m*n*3 (3 dimensi),

maka harus di-reshape menjadi bentuk tabel (struktur fitur dalam clustering) berukuran mn*3 (2 dimensi).

Setelah dilakukan clustering dengan k-means, didapatkan index dari setiap piksel yang menyatakan nomor cluster yang diikuti.

Kemudian struktur index (matrik mn*1) diubah menjadi struktur citra 2 dimensi (m*n)

Page 11: Segmentasi  Citra

11

%Jumlah cluster = 3>> f = imread('gadung-1-2.jpg');>> f = im2double(f);>> r = f(:,:,1);>> g = f(:,:,2);>> b = f(:,:,3);>> [m,n] = size(r);>> r = reshape(r,m*n,1);>> g = reshape(g,m*n,1);>> b = reshape(b,m*n,1);>> rgb = cat(2,r,g,b);>> h = kmeans(rgb,3); %3 adalah jumlah cluster>> h = reshape(h,m,n);>> h = h/3; %dibagi dengan jumlah cluster

Citra asli RGB

Hasil segmentasi dengan 3 cluster (percobaan 1)

Hasil segmentasi dengan 3 cluster (percobaan 2)

Page 12: Segmentasi  Citra

12

ANY QUESTION ?Saatnya presentasi paper