DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

35
Pengolahan Citra Digital DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits 1 Team Teaching : 1. Dr. Fitri Utaminingrum, S.T, M.T

Transcript of DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Page 1: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Pengolahan Citra DigitalDASAR-DASAR PENGENALAN CITRAIFK15036, 3 credits

1

Team Teaching :1. Dr. Fitri Utaminingrum, S.T, M.T

Page 2: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

OUTLINE BAB-2

Representasi Citra Digital Kuantisasi citra Kualitas citra Cara membaca citra, mendapatkan ukuran citra, menampilkan citra Mengenal jenis citra (citra berwarna, citra berskala keabuan, citra biner) Mengkonversi jenis citra Histogram Citra Konsep operasi ketetanggan piksel Operasi Aritmatika pada dua buah citra

Penjumlahan Pengurangan Perkalian

Operasi Geometrik (translasi, rotasi, dilatasi, pencerminan)

Page 3: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

TOOLS

Bisa menggunakan salah satu tools Java, Matlab, GNU Octave, atau Python. Namun di perkuliahan ini contoh-contoh yang dibuat akan menggunakanMATLAB

Meski di beberapa tools sudah memiliki library atau package sendiri untukpengolahan citra digital, kita harus memahami proses di dalamnya, sehinggapada beberapa bagian materi perkuliahan ini kita akan tetap belajar untukbuilding from scratch.

Ingat ya… PLAGIARISME == 0

Page 4: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Representasi Citra

Citra berukuran 58x58

Data penyusun citra 58x58 pada channel R

Ruang warna : RGB

Page 5: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Digitalisasi Citra

• Proses pengambilan nilai diskrit padakoordinat ruang (x,y) melalui grid

Sampling

• Proses pengelompokan nilai tingkat keabuancitra kontinu ke dalam beberapa level.

• Atau merupakan proses membagi skalakeabuan(0,L) menjadi G buah level yang dinyatakan dengan bilangan bulat integer

Kuantisasi

Page 6: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Digitalisasi Citra

Page 7: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Contoh Sampling Citra

Resize = 0.366 x 66

Resize = 0.122 x 22

Original Image220 x 220

Page 8: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Kualitas Citra

Resize = 0.3220 x 66

Resize = 0.122 x 22

Original Image220 x 220

Kualitas citra dipengaruhi juga oleh jumlah piksel yang menyusun suatu citra(resolusi citra).

Efek resolusi berdasar jumlah piksel pada citra ketika gambar disajikan denganukuran yang sama bisa mempengaruhi kualitasnya.

Page 9: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Kuantisasi Citra

Citra digital dibentuk melalui pendekatan yang dinanamakan kuantisasi. Kuantisasi adalah proses diskritasi dari bentuk kontinu.

Bit per piksel (Pixel depth) Derajat keabuan (G=2^m) dan jangkauan

Penggunaan

1 2^1 = 2 (0-1) Citra biner:dokumenfaksimili

2 2^2 = 4 (0-3)

5 2^5 = 32 (0-31)

8 2^8 = 256 (0-255) Foto

12 2^12=4096 (0-4095) Foto kualitas tinggi

14 2^14=16384(0-16383) Foto kualitas profesional

16 2^16=65536(0-65535) Citra kualitas tertinggi : citra kedokteran danastronomi

Tabel 1. Jangkauan nilai pada citra keabuan

Page 10: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Kuantisasi CitraDalam pengolahan citra, kuantisasi dari level keabuan menentukan kecermatan hasilnya.

N=64

N=32

N=16

N=8 N=4 N=2

Page 11: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Membaca, mendapatkan ukuran citra, dan menampilkan citra

>> I = imread('keukenhof.jpg'); % membaca citra

>> ukuran_I = size(I) %mendapatkan ukuran citra

ukuran_I =

494 658 3

>> imshow(I)%menampilkan citra

Page 12: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Citra Berwarna (RGB)

Secara default kamera akan menghasilkan gambar yang mempunyai ruang warnaRGB yang artinya Red, Green, dan Blue

Setiap komponen warna pada RGB mengandung 8 bit yang nilainya berkisar antara 0-255

Kemungkinan pilihan warna yang dapat disajikan adalah 255 x 255 x 255 = 16.581.375 warna

Warna R G B

Merah 255 0 0

Hijau 0 255 0

Biru 0 0 255

Hitam 0 0 0

Putih 255 255 255

Kuning 0 255 255

Contoh warna dan nilai penyusun warna

Page 13: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Cara mendapatkan komponenR, G, dan B

R = I(:,:,1); %mendapatkan komponen R

G = I(:,:,2); %mendapatkan komponen G

B = I(:,:,3); %mendapatkan komponen B

Subplot(1,2,1),imshow(R), title('R')

Subplot(1,2,2),imshow(R), title('G')

Subplot(1,2,3),imshow(R), title('B’)

Page 14: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Citra Berskala Keabuan dan Citra Biner

CITRA BERSKALA KEABUAN Menghasilkan gambar abu-abu

dimana warna yang dihasilkandinyakan dengan intensitas.

Nilai intensitas berkisar antara 0-255

CITRA BINER Setiap piksel hanya dinyatakan dalam

dua kemungkinan nilai yaitu 0 dan 1. Nilai 0 menyatakan warna hitam dan

nilai 1 menyatakan warna putih

Page 15: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Konversi Jenis Citra :Citra Berwarna ke Citra Keabuan

%diasumsikan bahwa salah satu contoh

% persamaan yang biasa dipakai untuk melakukan

% konversi citra berwarna ke citra keabuan adalah

% I = 0.2989*R + 0.5870*G + 0.1141*B

rose = imread('rose.png');

abu2 = uint8(0.2989 * double(rose(:,:,1)) + ...

0.5870 * double(rose(:,:,2)) + ...

0.1141 * double(rose(:,:,3)));

imshow(abu2)

OUTPUT

Page 16: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Konversi Jenis Citra :Citra Keabuan ke Citra Biner

% Mengubah dari citra keabuan kedalam citra biner

[a,b] = size(abu2);

threshold = 100 ; % nilai ini bisa berubah

binary = zeros(a,b); % inisialisasi

for baris=1:a

for kolom=1:b

if abu2(baris,kolom) >= threshold

binary(baris,kolom) = 1;

else

binary(baris,kolom) = 0;

end

end

end

imshow(binary)

OUTPUT

Page 17: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Histogram Citra

Histogram citra merupakan diagram yang menggambarkan frekuensisetiap nilai intensitas yang muncul di seluruh piksel citra.

Histogram digunakan untuk menunjukkan level keabuan yang nilainyadimulai dari 0 hingga 255

Page 18: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Histogram Citra

Pada pengolahan citra, histogram mempunyai peran yang cukup penting. Manfaat histogram citra :

1. Berguna untuk mengamati penyebaran intensitas warna dan dapat dipakaiuntuk pengambilan keputusan, misalnya dalam peningkatan kecerahan atauperegangan kontras serta sebaran warna.

2. Berguna untuk penentuan batas-batas dalam pemisahan objek dari latarbelakangnya.

3. Memberikan persentase komposisi warna dan tekstur intensitas untukkepentingan identifikasi citra.

Histogram tidak bisa digunakan untuk mengenali bentuk objek dalam sebuah citra.

Page 19: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Histogram Citra - Brightness

rose1 =

imread('grey_rose.png');

rose1_ = rose1 + 85;

imshow(rose1_)

histogram(rose1_)

Cara meningkatkan kecerahan padagambar :

Page 20: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Pemotongan Intensitas Citra dari Level Keabuan 0-255

f1=10 f2=230 f1=50 f2=150

Gambar diatas menunjukkan pemotonganlevel keabuan pada sebuah citra. Dengankonsep histogram citra, maka kita bisamenggunakan aturan nilai intensitas yang <=f1 dan nilai intensitas yang >=f2 digantidengan 0.

g(x, y)

0, x £ f1

f (y, x), f1◃ f (y, x)◃ f 2

255, x ³ f 2

ì

íï

îï

Page 21: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Operasi Ketetanggaan Piksel

Operasi ketetanggan piksel adalah pengolahan citra untuk mendapatkan nilaisuatu piksel yang melibatkan piksel-piksel tetangganya.

Setiap piksel padaumumnya tidakberdiri sendiri

Algoritma pengolahancitra melalui piksel-

piksel tetangga

Digunakan untukmenghilangkan noise

atau memperhalus citra(smoothing)

Page 22: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Operasi Ketetanggaan Piksel

Page 23: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Jenis Ketetanggaan

4 ketetanggaan 8 ketetanggaan

T1 = (b,k+1)T2 = (b-1,k)T3 = (b,k-1)T4 = (b+1,k)

T1 = (b,k+1)T2 = (b-1,k-1)T3 = (b,k-1)T4 = (b-1,k-1)T5 = (b,k-1)T6 = (b+1,k-1)T7 = (b+1,k-1)T8 = (b+1,k+1)

Kita pelajari lebihdetail pada

pertemuan ke-4

Page 24: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Aritmatika : Operasi Penjumlahan

Persamaan yang digunakan:

C(x,y)=A(x,y)+B(x,y) Dengan C(x,y) adalah citra baru yang setiap pikselnya adalah jumlah dari intensitas

tiap piksel pada A dan B Jika hasil penjumlahan lebih besar dari 255, maka intensitas dapat dibulatkan

menjadi 255 Sering digunakan untuk penggabungan dua buah citra dan watermarking tampak

(visible watermarking)

Page 25: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Aritmatika : Operasi Pengurangan

Persamaan yang digunakan:

C(x,y)=A(x,y)-B(x,y) Dengan piksel citra C adalah hasil pengurangan intensitas piksel citra A dengan citra B Ada kemungkinan hasil pengurangan menghasilkan nilai negatif diperlukan proses

clipping /cropping

Contoh aplikasi:• Untuk mendeteksi pergerakan obyek• Untuk mendeteksi keamanan pada suatu ruangan

Pengurangan citra seringkali digunakan untuk mendeteksi perubahan obyek dalam selangwaktu tertentu

Page 26: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Aritmatika : Operasi Perkalian

Persamaan yang digunakan adalah

C(x,y)=A(x,y)B(x,y) Perkalian citra sering digunakan untuk mengoreksi ketidaklinearan sensor dengan

mengalikan matriks citra dengan matriks koreksi

Page 27: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Operasi Geometri

• Koordinat piksel berubah akibat transformasi, sedangkanintensitasnya tetap

• Contoh: Translasi (Pergeseran)RotasiPenyekalaan (Dilatasi)Pencerminan

Page 28: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Translasi

Translasi dilakukan berdasar rumus:x’=x+my’=y+m

m adalah besarnya pergeseran dalam arah x, sedangkan n adalah besarnyapergeseran dalam arah y

Jika citra semula adalah A, dan citra hasil translasi adalah B, maka translasidapat dilakukan dengan cara:

B(x,y)=A(x+m,y+n)

TRANSLASI

Page 29: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

ROTASI

Rotasi dilakukan dengan persamaan:x’=x cos(ө) – y sin(ө)

y’=x sin(ө) + y cos(ө) Dalam hal ini, ө adalah sudut rotasi berlawanan dengan arah jarum jam Jika citra semula adalah A, dan citra hasil rotasi adalah B, maka rotasi citra

dari A ke B:

A(x,y)=B(x cos(ө) – y sin(ө), x sin(ө) + y cos(ө))

ROTASI

Page 30: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

DILATASI

Penskalaan citra/image zooming: pengubahan ukuran citra(pembesaran/zoom out atau pengecilan /zoom in)

Rumus penskalaan citra:x’=sx.xy’=sy.y

sx dan sy adalah faktor penyekalaan, masing-masing dalam arah x dan y Jika citra semula adalah A dan citra hasil penyekalaan adalah B, maka

penyekalaan citra dinyatan sebagai:

B(x’,y’)=B(sx.x, sy.y)=A(x,y)

1 2

3 4

1 1 2 2

1 1 2 2

3 3 4 4

3 3 4 4

ZOOM OUT

Page 31: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

PENCERMINAN

Adalah operasi geometri yang sama dengan pencerminan Dua macam fpencerminan:

Horisontal Adalah pencerminan terhadap sumbu Y B(x,y)=A(N-x,y)

Vertikal Adalah pencerminan terhadap sumbu X B(x,y)=A(x,M-y)

Urutan baris untuk citra Fo = baris citra I

Kolom pertama citra Fo = Kolom terakhir citra I

FLIPPING

Citra I Citra Fo

Page 32: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

PENCERMINAN

Contoh Fungsi Pencerminan pada Matlab ditunjukkan sebagai berikut :

function Fo=flipping(I)

I = imread(I);

[jumlahbaris jumlahkolom] = size(I);

for baris = 1 : jumlahbaris

for kolom =1 : jumlahkolom

Fo(baris,kolom) = I(baris, jumlahkolom+1 - kolom);

end

end

imshow(Fo);

end

Fungsi tersebut dijalankandengan perintah :

>> flipping('grey_rose.png');

Page 33: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

Referensi

Rafael C. Gonzalez. 2002. Digital Image Processing 2nd Edition. Prentice Hall. Upper Saddle River, New Jersey 07458.

Abdul Kadir dan Adhi Susanto. 2013. Teori dan Aplikasi Pengolahan Citra. Penrbit Andi, Yogyakarta.

Page 34: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

34

Thank

Page 35: DASAR-DASAR PENGENALAN CITRA IFK15036, 3 credits

TUGAS

Tugas dikerjakan kelompok dimana pembentukan kelompok dilakukan oleh Dosen(mahasiswa tidak bisa memilih sendiri anggota kelompoknya).

Buat account pada https://github.com/ untuk mengupload tugas yang berupa coding. Tentang Git dan Github dipelajari sendiri.

Membuat program untuk menerapkan operasi geometri : Translasi Rotasi Dilatasi Zoom in Dilatasi Zoom out

Laporan/Dokumentasi berisi Logika dan penjelasan perhitungan manual. Screenshoot hasil program yang telah dibuat

Pilih satu bahasa pemrograman yang paling kelompok kalian kuasai diantaraJava, Matlab, Octave atau Phyton. Karena tidak akan diijinkan untuk gantibahasa pemrograman untuk mengerjakan tugas berikutnya sampai akhirperkuliahan semester ini.