Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Pengenalan Dasar Citra
STMIK PPKIA Pradnya Praramita Sigit Setyowibowo, ST., MMSI
2
Representasi Citra Digital
Citra digital dibentuk oleh kumpulan titik yang dinamakan piksel (pixel atau “picture element”). Setiap piksel digambarkan sebagai satu kotak kecil. Setiap piksel mempunyai koordinat posisi
3
Citra dan nilai penyusun piksel
4
Notasi piksel dalam citra
5
Kuantisasi Citra Citra digital sesungguhnya dibentuk melalui pendekatan yang dinamakan kuantisasi. Kuantisasi adalah prosedur yang dipakai untuk membuat suatu isyarat yang bersifat kontinu ke dalam bentuk diskret Perbandingan isyarat analog dan isyarat diskret
6
Digitalisasi citra biner 8x8 piksel untuk memperlihatkan bentuk piksel ideal
warna hitam (0) dan putih (1)
7
Jangkauan nilai pada citra keabuan
Komponen warna Bit per Piksel Jangkauan Penggunaan 1 0-1 Citra biner: dokumen faksimili 8 0-255 Umum: foto dan hasil pemindai 12 0-4095 Kualitas tinggi: foto dan hasil pemindai 14 Kualitas profesional: foto dan hasil pemindai 16 Kualitas tertinggi: citra kedokteran dan astronomi
8
Jangkauan nilai pada citra berwarna
Komponen Warna Bit per Piksel Jangkauan Penggunaan 3 24 0-1 RGB umum 36 0-4095 RGB kualitas tinggi 42 RGB kualitas profesional 4 32 0-255 CMYK (cetakan digital)
9
Kuantisasi citra dengan menggunakan berbagai bit
10
Kualitas Citra Di samping cacah intensitas kecerahan, jumlah piksel yang digunakan untuk menyusun suatu citra mempengaruhi kualitas citra. Istilah resolusi citra biasa dinyatakan jumlah piksel pada arah lebar dan tinggi. Resolusi piksel biasa dinyatakan dengan notasi m x n, dengan m menyatakan tinggi dan n menyatakan lebar dalam jumlah piksel
11
Efek resolusi berdasar jumlah piksel pada citra ketika gambar disajikan dengan ukuran yang sama
12
Membaca Citra Bentuk pemanggilannya: Img = imread(nama_file_citra)
Dalam hal ini, nama_file_citra menyatakan nama file citra yang hendak dibaca dan Img menyatakan larik (array) yang menampung data citra yang dibaca
13
Daftar format file gambar yang bisa dibaca oleh imread
Format Gambar Ekstensi Keterangan TIFF .tif, .tiff Tagged Image File Format merupakan format citra yang mula-mula dibuat boleh Aldus. Kemudian, dikembangkan oleh Microsoft dan terakhir oleh Adobe. JPEG .jpg, .jpeg Joint Photographics Expert Group adalah format citra yang dirancang agar bisa memampatkan data dengan rasio 1:16. GIF .gif Graphics Interface Format merupakan format yang memungkinkan pemampatan data hingga 50%. Cocok untuk citra yang memiliki area yang cukup besar dengan warna yang sama. BMP .bmp Windows Bitmap merupakan format bitmap pada Windows. PNG .png Portable Network Graphics biasa dibaca ‘ping’. Asal mulanya dikembangkan sebagai pengganti format GIF karena adanya penerapan lisensi GIF. Mendukung pemampatan data tanpa menghilangkan informasi aslinya. XWD .xwd XWindow Dump
14
Contoh berikut digunakan untuk membaca file citra bernama mandrill
Contoh berikut digunakan untuk membaca file citra bernama mandrill.png yang terdapat pada folder C:\Image. >> Img = imread(’C:\Image\mandrill.tif’); >>
15
Mengetahui Ukuran Citra
Secara umum, ukuran matriks Img adalah M x N. Untuk mengetahui nilai M dan N yang sesungguhnya, dapat digunakan fungsi pada Octave yang bernama size. Contoh untuk mengetahui dimensi pada matriks Img: >> Ukuran = size(Img) Ukuran = >> Dengan cara seperti itu, terlihat bahwa Img berisi 512 baris dan 512 kolom piksel.
16
Untuk mendapatkan jumlah baris dan jumlah kolom secara tersendiri, perlu diberikan perintah seperti berikut: >> jum_baris = Ukuran(1); >> jum_kolom = Ukuran(2); >> Angka 1 dan 2 pada ukuran menyatakan indeks. Dengan cara seperti itu, jum_baris berisi jumlah baris pada larik Img dan jum_kolom berisi jumlah kolom pada larik Img. Sebagai alternatif, dapat ditulis perintah seperti berikut: >> [jum_baris, jum_kolom] = size(Img); Dengan cara seperti itu, jum_baris berisi jumlah baris pada larik Img dan jum_kolom berisi jumlah kolom pada larik Img
17
Menampilkan Citra Citra dapat ditampilkan dengan mudah melalui fungsi imshow. Contoh berikut digunakan untuk menampilkan citra yang terdapat di Img: >> imshow(Img); >> Hasilnya berupa jendela yang menampilkan citra pada Img
18
Apabila dikehendaki untuk menampilkan dua citra di dua jendela masing-masing, fungsi figure perlu dipanggil terlebih dulu sebelum memanggil imshow. Contoh: >> Sungai = imread('C:\Image\innsbruck.tif'); >> Bangunan = imread('C:\Image\altstadt.png'); >> figure(1); imshow(Sungai); >> figure(2); imshow(Bangunan); Hasilnya, gambar sungai ditampilkan di jendela 1 dan gambar bangunan diletakkan di jendela 2. Gambar berikut memperlihatkan keadaan pada kedua jendela, yaitu kebetulan sebagian jendela 2 menutup jendela 1
19
Menampilkan dua citra di jendela masing-masing
20
Octave menyediakan fasilitas yang memungkinkan dua buah citra diletakkan dalam satu jendela. Berdasarkan larik Sungai dan Bangunan di depan, dapat dicoba untuk memberikan perintah berikut: >> close all; >> subplot(1,2,1); imshow(Sungai); >> subplot(1,2,2); imshow(Bangunan);
21
Contoh pemakaian subplot
22
Mengenal Jenis Citra Ada tiga jenis citra yang umum digunakan dalam pemrosesan citra. Ketiga jenis citra tersebut yaitu citra berwarna, citra berskala keabuan, dan citra biner
23
Citra Berwarna Citra berwarna, atau biasa dinamakan citra RGB, merupakan jenis citra yang menyajikan warna dalam bentuk komponen R (merah), G (hijau), dan B (biru). Setiap komponen warna menggunakan 8 bit (nilainya berkisar antara 0 sampai dengan 255). Dengan demikian, kemungkinan warna yang bisa disajikan mencapai 255 x 255 x 255 atau warna
24
Warna dan nilai penyusun warna
G B Merah 255 Hijau Biru Hitam Putih Kuning
25
Warna RGB dalam ruang berdimensi tiga
26
Citra berwarna dan representasi warnanya
Citra berwarna dan representasi warnanya. Setiap piksel dinyatakan dengan nilai R, G, dan B Catatan Perlu diketahui, sebuah warna tidak hanya dinyatakan dengan komposisi R, G, dan B tunggal. Pada Tabel 2.4 terlihat bahwa warna merah mempunyai R=255, G=0, dan B=0. Namun, komposisi R=254, G=1, B=1 juga berwarna merah.
27
Citra berwarna pun dibaca melalui imread. Contoh:
>> Kota = imread('C:\Image\innsbruckcity.png'); Nah, sekarang dapat dicoba untuk mengenakan size pada Kota: >> size(Kota) ans =
28
Hasil pembacaan citra berwarna
Dimensi ketiga menyatakan komponen R, G, B. Indeks pertama menyatakan komponen R, indeks kedua menyatakan komponen G, dan indeks ketiga menyatakan komponen B
29
Berikut adalah cara untuk mendapatkan komponen R, G, dan B pada larik Kota di depan:
>> R = Kota(:,:,1); >> G = Kota(:,:,2); >> B = Kota(:,:,3); Untuk menampilkan gambar berwarna, imshow bisa digunakan seperti kalau mau menampilkan gambar berskala keabuan. Contoh: >> figure(1); >> imshow(Kota);
31
Citra Berskala Keabuan
Sesuai dengan nama yang melekat, citra jenis ini menangani gradasi warna hitam dan putih, yang tentu saja menghasilkan efek warna abu-abu. Pada jenis gambar ini, warna dinyatakan dengan intensitas. Dalam hal ini, intensitas berkisar antara 0 sampai dengan Nilai 0 menyatakan hitam dan nilai 255 menyatakan putih.
32
Citra Biner Citra biner adalah citra dengan setiap piksel hanya dinyatakan dengan sebuah nilai dari dua buah kemungkinan (yaitu nilai 0 dan 1). Nilai 0 menyatakan warna hitam dan nilai 1 menyatakan warna putih.
33
Contoh berikut menunjukkan cara membaca dan menampilkan citra biner.
>> Img = imread('c:\Image\daun_bin.tif'); >> imshow(Img); >> Tampilan citra biner
34
Mengonversi Jenis Citra
Dalam praktik, seringkali diperlukan utuk mengonversi citra berwarna ke dalam bentuk citra berskala keabuan mengingat banyak pemrosesan citra yang bekerja pada skala keabuan. Namun, terkadang citra berskala keabuan pun perlu dikonversikan ke citra biner, mengingat beberapa operasi dalam pemrosesan citra berjalan pada citra biner. Bagaimana cara mengubah citra berwarna ke dalam citra berskala keabuan?
35
Secara umum citra berwarna dapat dikonversikan ke citra berskala keabuan melalui rumus:
𝐼=𝑎 𝑥 𝑅+𝑏 𝑥 𝐺+𝑐 𝑥 𝐵, 𝑎+𝑏+𝑐=1 dengan R menyatakan nilai komponen merah, G menyatakan nilai komponen hijau, dan B menyatakan nilai komponen biru
36
Misalnya, sebuah piksel mempunyai komponen R, G, B sebagai berikut:
R = 50 G = 70 B = 61 Jika a, b, dan c dibuat sama, akan diperoleh hasil seperti berikut: I = ( ) / 3 = 60 Salah satu contoh rumus yang biasa dipakai untuk mengubah ke skala keabuan yaitu: 𝐼=0,2989 𝑥 𝑅+0,5870 𝑥 𝐺+0,1141 𝑥 𝐵
37
>> Img = imread('C:\Image\innsbruckcity.png');
Contoh berikut menunjukkan cara melakukan konversi dari citra berwarna ke citra biner. >> Img = imread('C:\Image\innsbruckcity.png'); >> Abu = uint8( * double(Img(:,:,1)) 0.5870*double(Img(:,:,2)) * double(Img(:,:,3))); >> imshow(Abu); Catatan Tanda … menyatakan bahwa perintah pada baris tersebut masih mempunyai lanjutan pada baris berikutnya. Tanda : berarti semua nilai. double dipakai untuk melakukan konversi dari tipe bilangan bulat 8 bit (uint8) ke tipe double (yang memungkinkan pemrosesan bilangan real berpresisi ganda). uint8 berguna untuk mengonversi dari tipe double ke uint8 (tipe bilangan bulat 8 bit).
38
Hasil konversi citra berwarna ke citra berskala keabuan
39
Bagaimana halnya kalau dikehendaki untuk mengonversikan citra berskala keabuan ke citra biner?
Strategi yang dipakai yaitu dengan menerapkan suatu nilai yang dikenal sebagai nilai ambang (threshold). Nilai tersebut dipakai untuk menentukan suatu intensitas akan dikonversikan menjadi 0 atau menjadi 1. Secara matematis, konversi dinyatakan dengan rumus: 𝑏 𝑖 = 0, &𝑖≥𝑎 1, &𝑖<𝑎
40
% KEBINER Digunakan untuk mengonversi file % daun_gray
% KEBINER Digunakan untuk mengonversi file % daun_gray.png ke citra biner Img = imread('c:\Image\daun.tif'); [tinggi, lebar] = size(Img); ambang = 160; % Nilai ini bisa diubah-ubah biner = zeros(tinggi, lebar); for baris=1 : tinggi for kolom=1 : lebar if Img(baris, kolom) >= ambang Biner(baris, kolom) = 0; else Biner(baris, kolom) = 1; end imshow(Biner);
41
Untuk menjalankan program di depan, berikan perintah
>> kebiner; Hasil konversi daun.tif ke bentuk biner
42
Hasil konversi ke citra biner dengan berbagai nilai ambang
43
Fungsi yang disediakan Octave untuk kepentingan konversi ke aras keabuan
Kegunaan im2bw(I, level) im2bw(RGB, level) Berguna untuk mengonversikan citra berskala keabuan (I) ataupun berwarna (RGB) ke dalam citra biner dengan menggunakan level sebagai ambang konversi. Di MATLAB, jika argumen kedua (yaitu level) tidak disertakan, nilai 0,5 secara bawaan digunakan sebagai ambang konversi. Pada Octave, argumen kedua harus disertakan. Nilai balik fungsi ini berupa citra biner rgb2gray(RGB) Berguna untuk mengonversi citra berwarna (RGB) ke citra berskala keabuan. Nilai balik fungsi ini berupa citra berskala keabuan
44
Agar terbiasa dengan kedua fungsi tersebut, berikut disajikan contoh penggunaannya. Contoh pertama:
>> Img = imread('C:\Image\daun.tif'); >> BW = im2bw(Img, 0.6); >> imshow(BW); Hasilnya seperti berikut:
45
Hasil pembentukan citra biner melalui im2bw
46
>> RGB = imread('C:\Image\innsbruckcity.png');
Adapun contoh pemakaian rgb2gray: >> RGB = imread('C:\Image\innsbruckcity.png'); >> Abu = rgb2gray(RGB); >> imshow(Abu); Hasilnya seperti berikut.
47
Hasil pembentukan citra berskala keabuan melalui rgb2gray
48
Menyimpan Citra Untuk kepentingan menyimpan citra ke dalam file, fungsi imwrite pada Octave dapat digunakan. Pemakaiannya: imwrite(A, nama_file) A dapat berupa larik dua dimensi (citra berskala keabuan) ataupun larik berdimensi tiga (citra RGB). Contoh: >> Img = imread('C:\Image\daun.tif'); >> X = 255 – Img; >> imwrite(X, ’negatif_daun.png’);
49
Hasil penyimpanan citra negatif_daun.png
50
Latihan: Jelaskan mengenai koordinat citra. Apa yang dimaksud dengan kuantisasi citra? Jelaskan hubungan jumlah bit dalam kuantisasi citra dengan kompresi data. Jelaskan makna kualitas citra. Jelaskan pengertian : citra berwarna citra berskala keabuan citra biner Jelaskan mekanisme untuk mengubah citra berwarna ke dalam citra berskala keabuan.
51
Bagaimana prinsip untuk mengubah citra berskala keabuan ke citra biner?
Ubahlah innsbruckcity.png ke citra berskala keabuan dan kemudian simpan dengan nama inns_gray.png. Buatlah program untuk memproses citra daun_gray.png agar diperoleh hasil seperti berikut. Gunakanlah fungsi im2bw untuk mengonversikan citra innsbruckcity.png ke dalam bentuk citra biner dengan menggunakan level sebesar 0,7, 0,5, dan 0,3. Bagaimana kesan Anda mengenai hasil-hasil yang diperoleh? Buatlah program untuk menguantisasi citra daun_gray.png dengan 2 bit. Tampilkan hasilnya. Apakah hasilnya masih terlihat seperti aslinya? Bila tidak, dengan menggunakan berapa bit agar gambar tersebut terlihat sesuai dengan aslinya?
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.