Anda di halaman 1dari 16

PENGANTAR PENGOLAHAN CITRA

I. TUGAS PENDAHULUAN 1. Apa yang dimaksud dengan citra? 2. Sebutkan dan jelaskan bidang studi yang berkaitan dengan citra ? 3. Sebutkan dan jelaskan aplikasi pengolahan citra? II. DASAR TEORI 2.1 Pengantar Citra Citra disebut juga dengan gambar atau image. Beberapa defenisi dari citra adalah 1. Citra (Image) merupakan gambar pada bidang 2(dua) dimensi. 2. Citra (ditinjau dari sudut pandang matematis) merupakan fungsi yang kontinu dari intensitas cahaya pada bidang 2 (dua) dimensi. 3. Citra merupakan sumber cahaya menerangi objek dan dipantulkan kembali dan di tangkap oleh alat-alat optik misalnya mata manusia, kamera scanner, sensor, satelit dan sebagainya kemudian direkam. Citra sebagai keluaran dari sistem perekam data dapat bersifat : 1. optik atau photo 2. analog berupa sinyal video seperti tampilan gambar pada monitor televisi 3. digital dapat disimpan langsung pada media perekam magnetik Citra juga dapat dikelompokkan menjadi dua bagian yaitu : 1. Citra tampak (photo, gambar, lukisan, apa yang ta,pak dilayar monitor/televisi, hologram dll). 2. Citra tidak tampak (data pada photo/gambar pada file, citra yang direpresentasikan dalam fungi matematis). Citra digital adalah citra yang disimpan dalam format digital (dalam bentuk file). Hanya citra digital yang dapat diolah menggunakan komputer. Untuk citra non digital sebelum diolah harus dirobah dulu kedalam citra digital. Pencitraan (Imaging) adalah merupakan kegiatan mengubah informasi dari citra tampak atau citra non digital menjadi citra digital. Beberapa alat uang dapat digunakan untuk pencitraan adalah scanner, kamera digital dll.

Laboratorium Telekomunikasi Multimedia

I. 1

Pengolahan Citra adalah kegiatan memproses suatu citra sehingga menghasilkan citra yang sesuai dengan keinginan kita atau kualitasnya menjadi lebih baik. Contoh :

a. Citra Lena agak kabur

b) Citra Lena yang diperbaiki

Umumnya, operasi-operasi pengolahan citra diterapkan pada citra bila : 1. Perbaikan atau modifikasi citra untuk meningkatkan kualitas visual atau menonjolkan beberapa aspek informasi yang terkandung dalam citra. 2. 3. Elemen di dalam citra perlu di kelompokkan, dicocokkan atau diukur. Sebagian citra perlu di gabung dengan bagian citra yang lain. 1. Kelompok Titik (mengubah nilai pixel berdasarkan nilai pixel yang asli) 2. Kelompok Bidang (mengubah nilai poxel berdasar nilai pixel aslinya dan berdasarkan nilai pixel tetangganya 3. Kelompok Geometris (mengubah posisi atau susunan pixel) 4. Kelompok Frame (membangkitkan nilai-nilai pixel berdasarkan operasi-operasi pada pada 2 citra atau lebih Analisis Citra merupakan kegiatan menganalisis sehingga menghasilkan informasi untuk menetapkan keputusan (biasanya didampingi bidang ilmu kecerdasan buatan / artificial intelligent yaitu pengenalan pola (pattern recognition) menggunakan jaringan syaraf tiruan, fuzzy logic dll. Citra Non Digital
Pencitraan

Terdapat empat kelompok algoritma dasar pengolahan citra :

Citra Digital

Pengolahan

Citra Digital baru

Analisis

Informasi/ keputusan

Laboratorium Telekomunikasi Multimedia

I. 2

Dalam bidang komputer ada tiga bidang studi yang berkaitan dengan citra dengan tujuan yang berbeda yaitu : - Grafika Komputer (Computer Graphic) - Pengolahan Citra (Image Processing) - Pengenalan Pola (Pattern Reconition/Image Interpretation) Pengolahan Citra

Citra Grafika Komputer

Citra Pengenalan Pola

Deskripsi Computer Vision

Deskripsi

Computer Vision mencoba meniru Human Vision. Computer Vision merupakan proses otomatis yang mengintegrasikan sejumlah besar proses untuk persepsi visual, seperti : Akuisisi citra Pengolahan citra Klasifikasi Pengenalan (Recognition) Membuat Keputusan. Vision = Geometry + Measurement + Interpretation Proses-proses dalam computer vision dapat dibagi menjadi 3 aktivitas : 1. Memperoleh atau mengakuisisi citra digital 2. Melakukan teknik komputasi untuk memproses atau memodifikasi data citra (operasioperasi pengolahan citra) 3. Menganalisis dan menginterpretasi citra dan menggunakan hasil pemrosesan untuk tujuan tertentu, misalnya mengontrol peralatan, memantau proses manufaktur, memandu robot, dll. Aplikasi Pengolahan Citra 1. Bid.Perdagangan a. Pembacaan barcode

Laboratorium Telekomunikasi Multimedia

I. 3

b. Pengenalan huruf/angka pada suatu formulir secara otomatis 2. Bid.Militer a. Mengenali sasaran peluru kendali melalui sensor visual b. Mengidentifikasi jenis pesawat musuh 3. Bid.Kedokteran a. Mammografi b. Rekontruksi foto janin hasil USG 4. Bid.Biologi a. Pengenalan jenis kromosom melalui citra mikroskopik 5. Komunikasi Data a. Kompresi citra yang akan ditransmisikan 6. Hiburan a. Game b. Kompresi Video 7. Robotika a. Visualy-Guided autonomous navigation 8. Pemetaan a. Klasifikasi penggunaan tanah melalui foto udara/LANDSAT 9. Geologi a. Mengenali jenis batu-batuan melalui foto udara/LANDSAT 10. Hukum a. Pengenalan sidik jari b. Pengenalan foto narapidana 3.2 Pengolahan Citra Digital menggunakan Matlab 3.2.1 Citra Digital Sebuah citra digital adalah kumpulan piksel-piksel yang disusun dalam larik dua dimensi. Indeks baris dan kolom (x,y) dari sebuah piksel yang dinyatakan dalam bilangan bulat dan nilai-nilai tersebut mendefinisikan suatu ukuran intensitas cahaya pada titik tersebut. Satuan atau bagian terkecil dari suatu citra disebut piksel (picture element). Umumnya citra dibentuk dari persegi empat yang teratur sehingga jarak horizontal dan vertikal antara piksel satu dengan yang lain adalah sama pada seluruh bagian citra. Piksel (0,0) terletak pada sudut kiri atas pada citra, dimana indeks x bergerak ke kanan dan indeks y bergerak ke bawah. Untuk menunjukkan koordinat (m-1,n-1) digunakan posisi kanan bawah

Laboratorium Telekomunikasi Multimedia

I. 4

dalam citra berukuran m x n pixel. Hal ini berlawanan untuk arah vertikal dan horizontal yang berlaku pada sistem grafik dalam matematika. Video sebenarnya juga merupakan salah satu bentuk dari citra digital. Video merupakan kumpulan dari beberapa frame dari citra digital. Satu frame merupakan satu citra digital. Oleh karena itu, apabila pada video mempunyai satuan yang menyatakan 12 fps(frame per second) artinya bahwa video tersebut memainkan 12 frame/citra digital dalam tiap detiknya. 2.2.2 Membaca File Citra Digital di Matlab dan Menampilkannya Citra RGB Suatu citra biasanya mengacu ke citra RGB. Sebenarnya bagaimana citra disimpan dan dimanipulasi dalam komputer diturunkan dari teknologi televisi, yang pertama kali mengaplikasikannya untuk tampilan grafis komputer. Jika dilihat dengan kaca pembesar, tampilan monitor komputer akan terdiri dari sejumlah triplet titik warna merah (RED), hijau (GREEN) dan biru (BLUE). Tergantung pada pabrik monitornya untuk menentukan apak titik tersebut merupakan titik bulat atau kotak kecil, tetapi akan selalu terdiri dari 3 triplet red, green dan blue. Citra dalam komputer tidak lebih dari sekumpulan sejumlah triplet dimana setiap triplet terdiri atas variasi tingkat keterangan (brightness) dari elemen red, green dan blue. Representasinya dalam citra, triplet akan terdiri dari 3 angka yang mengatur intensitas dari Red (R), Green (G) dan Blue (Blue) dari suatu triplet. Setiap triplet akan merepresentasikan 1 pixel (picture element). Suatu triplet dengan nilai 67, 228 dan 180 berarti akan mengeset nilai R ke nilai 67, G ke nilai 228 dan B k nilai 180. Angka-angka RGB ini yang seringkali disebut dengan color values. Pada format .bmp citra setiap pixel pada citra direpresentasikan dengan dengan 24 bit, 8 bit untuk R, 8 bit untuk G dan 8 bit untuk B, dengan pengaturan seperti pada gambar berikut:

Dalam Matlab, citra digital direpresentasikan dalam matriks berukuran m x n sesuai dengan ukuran m x n ukuran citra digital dalam pixel. Jadi setiap pixel dari citra digital diwaklili oleh sebuah matriks berukuran 1x1 apabila citra tersebut berupa citra Grayscale atau

Laboratorium Telekomunikasi Multimedia

I. 5

citra Biner, dan 3 matriks apabila citra digital berupa citra RGB. Misalkan kita punya citra digital berukuran 640x480 pixel, maka sebenarnya citra tersebut diwakili oleh matriks berukuran 640x480. Untuk membaca sebuah file citra di Matlab, maka digunakan perintah : A=imread(nama_File) dengan syarat file yang dibaca berada pada direktori yang aktif. File yang dibaca kemudian disimpan dalam variabel "A" dalam bentuk matriks penyusun citra. Sedangkan untuk menampilkan file citra yang telah dibaca digunakan perintah : imshow(A) "A" merupakan variabel tempat menyimpan matriks penyusun citra yang telah dibaca sebelumnya. Untuk mempermudah pemahaman, akan langsung digunakan contoh. Misalkan kita akan membaca sebuah file citra dengan nama file "logopnp.jpg", kemudian akan langsung ditampilkan. clc; clear; A=imread(logopnp.jpg); %Membaca file citra imshow(A)%Menampilkan file citra Hasil Running Programnya sebagai berikut :

Untuk contoh kedua, kita masih akan membaca file yang sama, akan tetapi kali ini akan diambil masing - masing matriks penyusun citra (matriks R, matriks G, dan Matriks B) karena memang file yang dibaca adalah gambar RGB (berwarna). Semua matriks ini

Laboratorium Telekomunikasi Multimedia

I. 6

kemudian akan ditampilkan ke dalam 1 figure (plot). Berikut ini adalah listing programnya yang ditulis dalam M-File. clc; clear; A=imread('logopnp.jpg');%Membaca file citra red=A(:,:,1);%Mengambil matriks penyusun citra merah green=A(:,:,2);%Mengambil matriks penyusun citra hijau blue=A(:,:,3);%Mengambil matriks penyusun citra biru subplot(2,2,1) imshow(A),title('Logo PNP') subplot(2,2,2) imshow(red),title('Logo PNP-Merah') subplot(2,2,3) imshow(green),title('Logo PNP-Hijau') subplot(2,2,4) imshow(blue),title('Logo PNP-Biru') Hasil running-nya adalah sebagai berikut :

Untuk membaca file citra yang berbeda direktori dengan direktori yang aktif adalah dengan menuliskan direktori tempat file berada + nama_file. Misalkan filenya berada pada direktori "D:/Picture", maka tinggal ditulis saja : A=imread(D:/Picture/logopnp.jpg)

Laboratorium Telekomunikasi Multimedia

I. 7

Pengolahan citra tersebut antara lain : 1. Grayscaling Grayscalling adalah teknik yang digunakan untuk mengubah citra berwana (RGB) menjadi bentuk grayscale atau tingkat keabuan (dari hitam ke putih). Dengan pengubahan ini, matriks penyusun citra yang sebelumnya 3 matriks akan berubah menjadi 1 matriks saja. Pengubahan dari citra berwarna ke bentuk grayscale biasanya mengikuti aturan sebagai berikut :

................................. dimana : I(i, j) = Nilai intensitas citra grayscale R(i, j) = Nilai intensitas warna merah dari citra asal G(i, j) = Nilai intensitas warna hijau dari citra asal B(i, j) = Nilai intensitas warna biru dari citra asal

(1.1)

Dalam komputasi, suatu citra digital grayscale atau greyscale adalah suatu citra dimana nilai dari setiap pixel merupakan sample tunggal. Citra yang ditampilkan dari citra jenis ini terdiri atas warna abu-abu, bervariasi pada warna hitam pada bagian yang intensitas terlemah dan warna putih pada intensitas terkuat. Citra grayscale berbeda dengan citra hitam-putih, dimana pada konteks komputer, citra hitam putih hanya terdiri atas 2 warna saja yaitu hitam dan putih saja. Pada citra grayscale warna bervariasi antara hitam dan putih, tetapi variasi warna diantaranya sangat banyak. Citra grayscale seringkali merupakan perhitungan dari intensitas cahaya pada setiap pixel pada spektrum elektromagnetik single band . Citra grayscale disimpan dalam format 8 bit untuk setiap sample pixel, yang memungkinkan sebanyak 256 intensitas. Format ini sangat membantu dalam pemrograman karena manupulasi bit yang tidak terlalu banyak. Pada aplikasi lain seperti pada aplikasi medical imaging dan remote sensing biasa juga digunakan format 10,12 maupun 16 bit. 2. Binerisasi Citra Binerisasi citra merupakan proses merubah citra ke dalam bentuk biner (0 dan 1). Dengan merubah ke bentuk biner, citra hanya akan mempunyai 2 warna yakni hitam dan putih. Dengan proses ini, citra RGB juga akan menjadi 1 matriks penyusun saja.

Laboratorium Telekomunikasi Multimedia

I. 8

1Citra biner(binary image) adalah citra yang setiap pikselnya hanya memiliki 2 kemungkinan derajat keabuan yakni 0 dan 1. 0 Proses pembineran dilakukan dg membulatkan keatas atau kebawah untuk setiap nilai keabuan dari piksel yg berada diatas atau bawah harga ambang. Metode untuk menentukan besarnya harga ambang disebut thresholding. Thresholding digunakan untuk mengatur jumlah derajat keabuan yang ada pada citra. Dengan menggunakan thresholding maka derajat keabuan bisa diubah sesuai keinginan, misalkan diinginkan menggunakan derajat keabuan 16, maka tinggal membagi nilai derajat keabuan dengan 16. Proses thresholding ini pada dasarnya adalah proses pengubahan kuantisasi pada citra, sehingga untuk melakukan thresholding dengan derajat keabuan dapat digunakan rumus: ..................................................................... dimana : w adalah nilai derajat keabuan sebelum thresholding x adalah nilai derajat keabuan setelah thresholding ........................................................................ 3. Filtering Citra Filtering adalah suatu proses dimana diambil sebagian sinyal dari frekwensi tertentu dan membuang sinyal pada frekwensi yang lain. Filtering pada citra juga menggunakan prinsip yang sama, yaitu mengambil fungsi citra pada frekwensi frekwensi tertentu dan membuang fungsi citra pada frekwensi - frekwensi tertentu juga. Di Matlab, untuk bisa melakukan filtering kita bisa menggunakan fungsi : h = fspecial(type) h = fspecial(type, parameters) Untuk type-nya kita bisa menggunakan : average : adalah untuk filter rata - rata. disk : adalah untuk filter rata - rata lingkaran. gaussian : adalah untuk gaussian lowpass filter. laplacian : adalah untuk memperkirakan operator laplace 2-D. log : adalah untuk Laplacian of Gaussian filter motion : adalah untuk memperkirakan gerak linier kamera. prewitt : adalah untuk filter edge Prewitt. (1.3) (1.2)

Laboratorium Telekomunikasi Multimedia

I. 9

sobel : adalah untuk filter edge Sobel. unsharp : adalah untuk Unsharp contrast enhancement filter. 4. Menambahkan Gangguan (Noise) pada Citra Untuk bisa menambahkan gangguan (noise) pada citra digital kita bisa menggunakan fungsi : J = imnoise(I,type) J = imnoise(I,type,parameters) "I" merupakan matriks penyusun citra, "type" merupakan jenis metode penambahan gangguan yang kita gunakan, sedangkan "parameters" merupakan parameter parameter yang dipakai. Untuk "type" yang bisa dipakai adalah : gaussian : Gangguan Gaussian putih dengan mean dan variance yang tetap. localvar : Gangguan Zero-mean Gaussian putih dengan variance intensitydependent. poisson : Gangguan poison salt & pepper : Gangguan pixel on dan off. speckle : Gangguan Multiplicative. 5. Konversi RGB ke NTSC Selain warna RGB yang membagi citra menjadi 3 matriks yakni matriks R(Red), matriks G(Green), dan matriks B(Blue), citra juga dapat dibagi ke dalam matriks lain yakni Y, I dan Q yang merupakan komponen warna NTSC. Untuk bisa melakukan konversi RGB ke NTSC di Matlab sangatlah mudah karena memang disediakan fungsi khusus untuk melakukan konversi ini, yaitu : YIQ = rgb2ntsc(RGB) Untuk melakukan hal sebaliknya, yakni mengkonversi NTSC ke RGB kita bisa menggunakan fungsi : RGB = ntsc2rgb(YIQ) 6. Konversi RGB ke YBcBr Selain RGB dan NTSC, ada lagi warna YBcBr. Seperti halnya RGB dan NTSC, warna YBcBr juga membagi citra berwarna ke dalam 3 matriks, yaitu "Y", "Bc", dan "Br". Di Matlab sangatlah mudah mengkonversi warna RGB ke dalam warna YBcBr karena memang matlab sudah menyediakannya dengan fungsi :

Laboratorium Telekomunikasi Multimedia

I. 10

YCBCR = rgb2ycbcr(RGB) Kemudian, untuk melakukan hal sebaliknya, yakni mengkonversi YCbCr ke RGB kita bisa menggunakan fungsi : RGB = ycbcr2rgb(YCBCR) III. PROSEDUR PRAKTIKUM 3.1 Grayscaling Untuk melakukan Grayscaling di Matlab, kita bisa menggunakan fungsi : I = rgb2gray(RGB) Langkah Kerja 1. Ketikkan listing program berikut pada M-file clc; clear; RGB=imread('logopnp.jpg'); I=rgb2gray(RGB); %Proses Grayscaling subplot(1,2,1) imshow(RGB),title('Logo PNP-RGB') subplot(1,2,2) imshow(I),title('Logo PNP-Grayscale') 2. Run program tersebut sehingga Hasil running programnya adalah seperti terlihat pada gambar di bawah ini. Gambar yang di sebelah kiri adalah gambar asli, sedangkan yang di sebelah kanan adalah gambar setelah mengalami proses Grayscaling.

Laboratorium Telekomunikasi Multimedia

I. 11

3.2 Binerisasi Citra Langkah Kerja 1. Ketikkan listing program berikut pada M-file clc; clear; RGB=imread('logopnp.jpg'); I=im2bw(RGB); %Binerisasi citra subplot(1,2,1) imshow(RGB),title('Logo PNP-RGB') subplot(1,2,2) imshow(I),title('Logo PNP-Biner') 2. Run program tersebut sehingga hasil running programnya adalah seperti terlihat pada gambardi bawah ini dimana gambar yang di sebelah kiri adalah gambar asli, sedangkan yang di sebelah kanan adalah gambar setelah mengalami proses Binerisasi citra.

3.3. Filtering Citra Langkah Kerja 1. Ketikkan listing program berikut pada M-file clc; clear; A=imread('logopnp.jpg'); H1 = fspecial('average'); T1 = imfilter(A,H1,'replicate'); H2 = fspecial('disk'); T2 = imfilter(A,H2,'replicate'); H3 = fspecial('gaussian');

Laboratorium Telekomunikasi Multimedia

I. 12

T3 = imfilter(A,H3,'replicate'); B=rgb2gray(A); subplot(2,2,1) imshow(A),title('Logo PNP-RGB') subplot(2,2,2) imshow(T1),title('Logo PNP-average') subplot(2,2,3) imshow(T2),title('Logo PNP-disk') subplot(2,2,4) imshow(T3),title('Logo PNP-gaussian') 2. Hasil running programnya adalah seperti terlihat pada gambar di bawah ini dimana gambar yang di sebelah kiri atas adalah gambar asli, di sebelah kanan atas adalah gambar dengan filter average dengan parameternya, di sebelah kiri bawah adalah gambar dengan filter disk dengan parameternya, sedangkan yang kanan bawah adalah gambar dengan filter gaussian juga dengan parameternya.

3.4. Menambahkan Gangguan (Noise) pada Citra Langkah Kerja 1. Ketikkan listing program berikut pada M-file clc; clear; RGB=imread('logopnp.jpg'); N1=imnoise(RGB,'gaussian'); N2=imnoise(RGB,'salt & pepper'); N3=imnoise(RGB,'speckle'); subplot(2,2,1) imshow(RGB),title('Logo PNP-RGB') subplot(2,2,2) imshow(N1),title('Logo PNP-gaussian') subplot(2,2,3)

Laboratorium Telekomunikasi Multimedia

I. 13

imshow(N2),title('Logo PNP-salt & pepper') subplot(2,2,4) imshow(N3),title('Logo PNP-speckle') 2. Hasil running programnya adalah seperti terlihat pada gambar di bawah ini dimana gambar yang di sebelah kiri atas adalah gambar asli, di sebelah kanan atas adalah gambar dengan noise gaussian , di sebelah kiri bawah adalah gambar dengan noise salt & pepper, sedangkan yang kanan bawah adalah gambar dengan noise speckle.

3.5 Konversi RGB ke NTSC Langkah Kerja 1. Ketikkan listing program berikut pada M-file clc; clear; RGB=imread('telur.jpg'); NTSC=rgb2ntsc(RGB); Y=NTSC(:,:,1); I=NTSC(:,:,2); Q=NTSC(:,:,3); subplot(2,2,1) imshow(NTSC),title('telur-YIQ') subplot(2,2,2) imshow(Y),title('telur-Komponen Y') subplot(2,2,3) imshow(I),title('telur-Komponen I') subplot(2,2,4) imshow(Q),title('telur-Komponen Q')

Laboratorium Telekomunikasi Multimedia

I. 14

2. Running program tersebut sehingga hasil terlihat pada gambar di bawah ini dimana gambar yang di sebelah kiri atas adalah gambar citra dengan warna NTSC, sedangkan yang di sebelah kanan atas adalah gambar citra Y, bawah kiri adalah gambar citra I, sedangkan bawah kanan adalah gambar citra Q.

3.8. Konversi RGB ke YBcBr Langkah Kerja 1. Ketikkan listing program berikut pada M-file clc; clear; RGB=imread('logopnp.jpg'); YCBCR = rgb2ycbcr(RGB); Y=YCBCR(:,:,1); %Ekstraksi matriks Y Cb=YCBCR(:,:,2); %Ekstraksi matriks Cb Cr=YCBCR(:,:,3); %Ekstraksi matriks Cr subplot(2,2,1) imshow(YCBCR),title('Logo PNP-YCbCr') subplot(2,2,2) imshow(Y),title('Logo PNP-Komponen Y') subplot(2,2,3) imshow(Cb),title('Logo PNP-Komponen Cb') subplot(2,2,4) imshow(Cr),title('Logo PNP-Komponen Cr') 2. Running program sehingga hasil terlihat seperti gambar di bawah ini dimana gambar yang di sebelah kiri atas adalah gambar citra dengan warna YCbCr, sedangkan yang di sebelah kanan atas adalah gambar citra Y, bawah kiri adalah gambar citra Cb, sedangkan bawah kanan adalah gambar citra Cr.

Laboratorium Telekomunikasi Multimedia

I. 15

IV. LATIHAN 1. Sebutkan proses utama pada proses konversi citra berwarna menjadi citra gray- scale? Apa perbedaan antara pemakaian rumus rata-rata s = (r + g + b) / 3 dan rumus RGB optimal x = 0.42r + 0.32g + 0.28b. 2. Ubahlah program konversi citra berwarna menjadi citra gray scale di atas dengan mengubah nilai gray scale dengan x = 0.5r + 0.2g + 0.3b x = 0.2r + 0.5g + 0.3b x = 0.2r + 0.2g + 0.5b x = 0.5r + 0.5g + 0b x = 0.5r + 0g + 0.5b Perhatikan bagaimana perbedaan hasil konversi dengan tiga macam rumus di atas. 3. Buatlah program menggunakan dialog box untuk mengubah-ubah nilai thresholding melalui slider, perhatikan hasilnya? 4. Jelaskan apa pengertian dari thresholding, dan bagaimana prosesnya?

Laboratorium Telekomunikasi Multimedia

I. 16