The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

Buku ini memuat materi pengolahan citra dasar, yang di bahas pada buku ini merupakan langkah awal untuk proses pengolahan citra yang lebih komplek. Buku ini dilengkapi dengan praktek langsung menggunakan matlab

 Operasi Titik (Point Operation), membahas mengenai Histogram Citra, Citra RGB, Citra grayscale, Brightness adjustment, Negation, Koreksi gamma
 Operasi Spasial (Spatial Operation) / Filtering, membahas Kernel & Konvolusi, Filtering
Beberapa filter yang sering digunakan Low pass (Mean Filter, Gaussian Filter), High pass dan Median
 Oprasi Geometri, membahas mengenai Translasi , Penskalaan , Rotasi dan Refleksi
 Oprasi Aritmatika berisi mengenai Penjumlahan, Pengurangan, Perkalian, Pembagian, Logika AND/NAND, Logika OR/NOR, Logika XOR/XNOR dan Logika NOT
 Pembangkitan Noise membahas pembangkitan noise Gaussian, Speckle, Salt & Pepper dan Reduksi Noise
 Deteksi Tepi Citra, pendeteksian tepi menggunakan perintah edge terdiri dari Prewitt, Roberts, Lapacian of Gaussian dan Canny
 Kompresi Data Citra menggunakan Lossless Compression , proses mereduksi ukuran suatu data untuk menghasilkan representasi digital yang lebih padat
 Morphological Image Processing terdiri dari Dilasi, Erosi dan Object Counting

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by adewina16, 2021-05-06 03:16:39

Pengolahan Citra

Buku ini memuat materi pengolahan citra dasar, yang di bahas pada buku ini merupakan langkah awal untuk proses pengolahan citra yang lebih komplek. Buku ini dilengkapi dengan praktek langsung menggunakan matlab

 Operasi Titik (Point Operation), membahas mengenai Histogram Citra, Citra RGB, Citra grayscale, Brightness adjustment, Negation, Koreksi gamma
 Operasi Spasial (Spatial Operation) / Filtering, membahas Kernel & Konvolusi, Filtering
Beberapa filter yang sering digunakan Low pass (Mean Filter, Gaussian Filter), High pass dan Median
 Oprasi Geometri, membahas mengenai Translasi , Penskalaan , Rotasi dan Refleksi
 Oprasi Aritmatika berisi mengenai Penjumlahan, Pengurangan, Perkalian, Pembagian, Logika AND/NAND, Logika OR/NOR, Logika XOR/XNOR dan Logika NOT
 Pembangkitan Noise membahas pembangkitan noise Gaussian, Speckle, Salt & Pepper dan Reduksi Noise
 Deteksi Tepi Citra, pendeteksian tepi menggunakan perintah edge terdiri dari Prewitt, Roberts, Lapacian of Gaussian dan Canny
 Kompresi Data Citra menggunakan Lossless Compression , proses mereduksi ukuran suatu data untuk menghasilkan representasi digital yang lebih padat
 Morphological Image Processing terdiri dari Dilasi, Erosi dan Object Counting

Keywords: pengolahan citra,matlab

Hasil Oprasi Logika NOT
Modul Pengolahan Citra| 50

Pembangkitan Noise dan Reduksi Noise

Modul Pengolahan Citra| 51

Pembangkitan Noise dan Reduksi Noise
Pada saat proses capture (pengambilan gambar), ada beberapa gangguan yang
mungkin terjadi, seperti kamera tidak fokus atau munculnya bintik-bintik yang bisa
jadi disebabkan oleh proses captureyang tidak sempurna. Setiap gangguan pada citra
dinamakan dengan noise. Noise pada citra tidak hanya terjadi karena ketidak-
sempurnaan dalam proses capture, tetapi bisa juga disebabkan oleh kotoran-kotoran
yang terjadi pada citra. Berdasarkan bentuk dan karakteristiknya, noise pada citra
dibedakan menjadi, beberapa macam yaitu:

(1) Gaussian
(2) Speckle
(3) Salt & Pepper

 Noise salt and pepper

Noise salt and pepper adalah bentuk noise yang biasanya terlihat titik-titik hitam
dan putih pada citra seperti tebaran garam dan merica. noise salt and pepper
disebabkan karena terjadinya error bit dalam pengiriman, piksel-piksel yang tidak
berfungsi dan kerusakan pada lokasi memori (Roomi, Lakshmi, Kumar,2006).
Derau ini termasuk dalam degradasi statistikal yang diakibatkan sensor-sensor
pencitraan elektronis, granularitas film, dan fluktuasi cahaya atmosfer. Piksel
yang mengalami degradasi ini akan terlihat berbeda dengan piksel
ketetanggaannya. Untuk bisa menambahkan gangguan (noise) pada citra digital
kita bisa menggu-nakan fungsi:

J = imnoise(I,type)J = imnoise(I,type,parameters)

 Noise salt and pepper dengan Matlab

>> image = imread ('apple.jpg');
>> N2=imnoise(image,'salt & pepper');
>> subplot(1,2,1),imshow(image),title('Gambar Asli'),

subplot(1,2,2),imshow(N2),title('Resize');

Modul Pengolahan Citra| 52

Keterangan

Baris (1) image = imread ('apple.jpg'); // Berfungsi untuk membaca image
Baris (2) N2=imnoise(image,'salt & pepper'); // Fungsi penambahan noise
Baris (3) subplot(1,2,1),imshow(image),title('Gambar Asli'),
subplot(1,2,2),imshow(N2),title('Resize'); // Menampilkan hasil

Hasil Noise salt and pepper dengan Matlab

 Noise Gaussian
Noise gaussian merupakan model noise yang mengikuti distribusi normal
standard dengan rata-rata nol dan standard deviasi 1. Efek dari gaussian noise ini,
pada gambar muncul titik-titik berwarna yang jumlahnya sama dengan prosentase
noise

 Noise Gaussian dengan matlab

>> image = imread ('apple.jpg');
>> N1=imnoise(image,'gaussian');
>> subplot(1,2,1),imshow(image),title('Gambar Asli'),

subplot(1,2,2),imshow(N1),title('Resize');

Modul Pengolahan Citra| 53

Keterangan

Baris (1) image = imread ('apple.jpg'); // Berfungsi Untuk Membaca image
Baris (2) N1=imnoise(image,'gaussian'); // Fungsi Noise
Baris (3) subplot(1,2,1),imshow(image),title('Gambar Asli'),
subplot(1,2,2),imshow(N1),title('Resize'); // Menampilkan Hasil

Hasil Noise Gaussian dengan matlab

 Noise speckle
Noise speckle merupakan model noise yang memberikan warna hitam pada titik
yang terkena noise.

 Noise speckle dengan matlab

>> image = imread ('apple.jpg');
>> N3=imnoise(image,'speckle');
>> subplot(1,2,1),imshow(image),title('Gambar Asli'),

subplot(1,2,2),imshow(N3),title('Resize');

Keterangan

Baris (1) image = imread ('apple.jpg'); // Berfungsi untuk membaca image
Baris (2) N3=imnoise(image,'speckle'); //Berfungsi untuk menambahkan noise
Baris (3) subplot(1,2,1),imshow(image),title('Gambar Asli'),
subplot(1,2,2),imshow(N3),title('Resize'); // Menampilkan hasil

Modul Pengolahan Citra| 54

Hasil Noise speckle dengan matlab

 Reduksi Noise
 Reduksi Noise dengan Matlab

>> gambar = imread('apple.jpg');
>> A = imnoise(gambar,'salt & pepper',0.2);
>> r = medfilt2(A(:, :, 1), [3 3]);
>> g = medfilt2(A(:, :, 2), [3 3]);
>> b = medfilt2(A(:, :, 3), [3 3]);
>> hasil = cat(3, r, g, b);
>> subplot(1,2,1);imshow(A),title('citra awal dengan noise'),

subplot(1,2,2);imshow(hasil),title('citra hasil Reduksi Noise');

Keterangan
Baris (1) gambar = imread('apple.jpg'); //Berfungsi untuk menampilkan image
Baris (2) A = imnoise(gambar,'salt & pepper',0.2); //Fungsi Penambahan Noise
Baris (3) r = medfilt2(A(:, :, 1), [3 3]); //Fungsi mengambil komponen Rad
Baris (4) g = medfilt2(A(:, :, 2), [3 3]); // Fungsi mengambil komponen Green
Baris (5) b = medfilt2(A(:, :, 3), [3 3]); // Fungsi mengambil komponen Blue
Baris (6) hasil = cat(3, r, g, b); // meng-concatenate tiga matriks (r, g, dan b)
Baris (7) subplot(1,2,1);imshow(A),title('citra awal dengan noise'),

subplot(1,2,2);imshow(hasil),title('citra hasil Reduksi Noise'); //
Menampilkan Hasil

Modul Pengolahan Citra| 55

Hasil Reduksi Noise dengan Matlab
Modul Pengolahan Citra| 56

Deteksi Tepi Citra

Modul Pengolahan Citra| 57

Deteksi Tepi

Deteksi tepi pada pengolahan citra, pada pemograman matlab proses pendeteksian
tepi menggunakan perintah edge. Terdapat beberapa metode yang dilakukan pada
deteksi tepi yaitu

a. Prewitt
b. Roberts
c. Lapacian of Gaussian
d. Canny.

 Operator sobel
Peninjauan pengaturan pixel di sekitar pixelnya (x,y) adalah :

0 1 2
[ 7 ( , ) 3]
6 5 4

Operator sobel adalah magnitudo dari gradien yang dihitung dengan :
= √ 2 + 2

dalam hal ini turunan parsial dihitung dengan :

= ( 2 + 3 + 4) − ( 0 + 7 + 6)

= ( 0 + 1 + 2) − ( 6 + 5 + 4)

Dengan konstanta c = 2. Dalam bentuk mask, sy dan sx dapat dinyatakan sebagai :

−1 0 1 121

= [−2 0 2] dan = [ 0 0 0 ]

−1 0 1 −1 −2 −1

Arah tepi dihitung dengan persamaan :

( , ) = −1 ( )

Modul Pengolahan Citra| 58

Berikut adalah contoh penggunaan operator sobel . Konvolusi pertama dilakukan
terhadap pixel yang bernilai 1 (titik pusat mask) :

= (3)(-1) + (2)(-2) + (3)(-1) + (1)(1) + (3)(2) + (6)(1) = 5
= (3)(1) + (4)(2) + (1)(1) + (3)(-1) + (5)(-2) + (6)(-1) =-2

34151 ∗∗∗∗∗

21323 ∗7∗
3 5 6 1 3 menjadi ∗ ∗ ∗

43562 [ ]
[2 1 1 3 1]

−1 0 1 121

= [−2 0 2] dan = [ 0 0 0 ]

−1 0 1 −1 −2 −1

 Contoh dengan menggunakan matlab :
Deteksi tepi dengan Sobel dengan nilai = 0.05

>> image = imread('agray.jpg');
>> sobeltres = edge(image, 'sobel', 0.05);
>> subplot(1,2,1),imshow(image),title('image asli'),

subplot(1,2,2),imshow(sobeltres),title('image sobel dengan nilai');

Keterangan image = imread('agray.jpg');
sobeltres = edge(image, 'sobel', 0.05);
Baris (1) subplot(1,2,1),imshow(image),title('image asli'),
Baris (2) subplot(1,2,2),imshow(sobeltres),title('image sobel dengan nilai');
Baris (3)

Modul Pengolahan Citra| 59

Hasil dari deteksi tepi sobel dengan nilai 0.05

 Deteksi tepi dengan Sobel

>> image = imread('agray.jpg');
>> dtsobel = edge(image, 'sobel');
>> subplot(1,2,1),imshow(image),title('image asli'),

subplot(1,2,2),imshow(dtsobel),title('image sobel');

Keterangan

Baris (1) image = imread('agray.jpg'); // Berfungsi membaca image
Baris (2) dtsobel = edge(image, 'sobel'); // Fungsi deteksi tepi sobel
Baris (3) subplot(1,2,1),imshow(image),title('image asli'),
subplot(1,2,2),imshow(dtsobel),title('image sobel'); //menampilkan hasil

Hasil dari deteksi tepi sobel

Modul Pengolahan Citra| 60

 Deteksi tepi dengan Canny

 Deteksi tepi Canny dengan matlab

>> image = imread('agray.jpg');
>> dtcanny = edge(image, 'canny');
>> subplot(1,2,1),imshow(image),title('image asli'),

subplot(1,2,2),imshow(dtcanny),title('image canny');

Keterangan

Baris (1) image = imread('agray.jpg'); // Berfungsi untuk membaca image
Baris (2) dtcanny = edge(image, 'canny'); // Fungsi deteksi tepi canny
Baris (3) subplot(1,2,1),imshow(image),title('image asli'),
subplot(1,2,2),imshow(dtcanny),title('image canny'); //Menampilkan
Hasil

Hasil dari deteksi tepi Canny

 Deteksi tepi dengan Canny dengan Nilai

>> image = imread('agray.jpg');
>> cannynilai = edge(image, 'canny', [0.04, 0.10], 1.5);
>> subplot(1,2,1),imshow(image),title('image asli'),

subplot(1,2,2),imshow(cannynilai),title('image Canny Dengan Nilai');

Modul Pengolahan Citra| 61

Keterangan

Baris (1) image = imread('agray.jpg'); // Berfungsi untuk membaca image
Baris (2) cannynilai = edge(image, 'canny', [0.04, 0.10], 1.5);// Fungsi deteksi tepi
canny
Baris (3) subplot(1,2,1),imshow(image),title('image asli'),
subplot(1,2,2),imshow(cannynilai),title('image Canny Dengan Nilai'); //
Menampilkan hasil

Hasil dari deteksi tepi Canny dengan Nilai

 Deteksi tepi dengan LoG

>> image = imread('agray.jpg');
>> dtLoG = edge(image, 'log');
>> subplot(1,2,1),imshow(image),title('image asli'),

subplot(1,2,2),imshow(dtLoG),title('image LoG');

Keterangan

Baris (1) image = imread('agray.jpg'); //Berfugsi untuk membaca image
Baris (2) dtLoG = edge(image, 'log'); // Berfungsi untuk deteksi tepi LoG
Baris (3) subplot(1,2,1),imshow(image),title('image asli'),
subplot(1,2,2),imshow(dtLoG),title('image LoG'); // Menampilkan hasil

Modul Pengolahan Citra| 62

Hasil dari deteksi tepi LoG

 Deteksi tepi dengan LoG dengan Nilai

>> image = imread('agray.jpg');
>> LOG = edge(image, 'log', 0.003, 2.25);
>> subplot(1,2,1),imshow(image),title('image asli'),

subplot(1,2,2),imshow(LOG),title('image LoG Dengan Nilai');

Keterangan

Baris (1) image = imread('agray.jpg'); // Berfungsi untuk membaca image
Baris (2) LOG = edge(image, 'log', 0.003, 2.25); //
Baris (3) subplot(1,2,1),imshow(image),title('image asli'),
subplot(1,2,2),imshow(LOG),title('image LoG Dengan Nilai');

Hasil dari deteksi tepi

Modul Pengolahan Citra| 63

 Deteksi tepi dengan Prewitt

>> image = imread('agray.jpg');
>> dtprewitt = edge(image, 'prewitt');
>> subplot(1,2,1),imshow(image),title('image asli'),

subplot(1,2,2),imshow(dtprewitt),title('image prewitt');

Keterangan

Baris (1) image = imread('agray.jpg'); // Berfungsi untuk membaca image
Baris (2) dtprewitt = edge(image, 'prewitt'); // Berfungsi untuk deteksi tepi prewitt
Baris (3) subplot(1,2,1),imshow(image),title('image asli'),
subplot(1,2,2),imshow(dtprewitt),title('image prewitt'); // menampilkan
hasil

Hasil yang diperoleh :

Modul Pengolahan Citra| 64

 Deteksi tepi dengan Roberts
>> image = imread('agray.jpg');
>> robert = edge(image,'roberts');
>> subplot(1,2,1),imshow(image),title('image asli'),

subplot(1,2,2),imshow(robert),title('image robert');
Hasil yang diperoleh :

Modul Pengolahan Citra| 65

Kompresi Data Citra

Modul Pengolahan Citra| 66

Kompresi Data Citra

Proses kompresi adalah proses mereduksi ukuran suatu data untuk menghasilkan
representasi digital yang lebih padat namun tetap mewakili kuantitas informasi pada
data tersebut. Tujuan dari kompresi adalah Mengurangi data yang berlebihan,
sehingga ukuran data menjadi lebih kecil / ringan untuk proses transmisi.

Lossless Compression

>> gambar = imread('pohon1.png');
>> R=gambar(:,:,1);
>> G=gambar(:,:,2);
>> B=gambar(:,:,3);
>> Grayimg=(0.2126*R)+(0.7152*G)+(0.0722*B);
>> hasil=imcrop(Grayimg,[0,0,10,10]);
>> subplot(1,3,1),imshow(gambar),title('citra asli'),subplot(1,3,2),

imshow(Grayimg),title('citra grayscal'),subplot(1,3,3),
imshow(hasil),title('citra hasil');

Keterangan

Baris (1) gambar = imread('pohon1.png'); // Berfungsi untuk membaca image
Baris (2) R=gambar(:,:,1); //Berfungsi untuk mengmbil komponen RED
Baris (3) G=gambar(:,:,2); // Berfungsi untuk mengmbil komponen GREEN
Baris (4) B=gambar(:,:,3); // Berfungsi untuk mengmbil komponen BLUE
Baris (5) Grayimg=(0.2126*R)+(0.7152*G)+(0.0722*B); // Fungsi Graysqal
Baris (6) hasil=imcrop(Grayimg,[0,0,10,10]); // Fungsi Cropping
Baris (7) asci=uint8(hasil); //Mengambil Hasil
Baris (8) subplot(1,3,1),imshow(gambar),…. // Menmpilkan hasil

Hasil dari Lossless Compression

Modul Pengolahan Citra| 67

Morphological Image Processing

Modul Pengolahan Citra| 68

Dilasi

Dilasi merupakan teknik untuk memperbesar segmen objek (citra biner) dengan
menambah lapisan disekitar objek.

Dilasi dengan menggunakan matlab

>> img=imread('pohon1.png');
>> gray=rgb2gray(img);
>> se = strel('ball',5,5);
>> dilat=imdilate(gray,se);
>> subplot(1,3,1),imshow(img),title('image RGB'), subplot(1,3,2),imshow(gray),

title('image gray'),subplot(1,3,3),imshow(dilat),title('image dilasi');

Keterangan img=imread('pohon1.png');

Baris (1) gray=rgb2gray(img);
Baris (2) se = strel('ball',5,5);
Baris (3) dilat=imdilate(gray,se);
Baris (4) subplot(1,3,1),imshow(gambar),title('image RGB'),
Baris (5) subplot(1,3,2),imshow(gray), title('image gray'),
subplot(1,3,3),imshow(dilat),title('image dilasi');

Hasil Dilasi dengan Matlab

Modul Pengolahan Citra| 69

Erosi
Erosi (pengikisan) merupakan kebalikan dari dilasi, yaitu bertujuan untuk
memperkecil atau memperkecil atau mengikis tepi objek

Erosi dengan menggunakan matlab

>> img=imread('pohon1.png');
>> gray=rgb2gray(img);
>> se = strel('ball',5,5);
>> dilat=imerode(gray,se);
>> subplot(1,3,1),imshow(img),title('image RGB'), subplot(1,3,2),imshow(gray),

title('image gray'),subplot(1,3,3),imshow(dilat),title('image erosi');

Keterangan img=imread('pohon1.png');
gray=rgb2gray(img);
Baris (1) se = strel('ball',5,5);
Baris (2) dilat=imerode(gray,se);
Baris (3) subplot(1,3,1),imshow(img),…
Baris (4)
Baris (5)

Hasil

Modul Pengolahan Citra| 70

Object Counting
Objek counting merupakan perhitungan objek berdasarkan konektivitas terhadap
piksel disekitarnya.
Object Counting dengan menggunakan matlab

>> img=imread('pohon1.png');
>> gray=rgb2gray(img);
>> thresh=graythresh(gray);
>> imbw=im2bw(gray,thresh);
>> [labeled,numObjects] = bwlabel(imbw,8);
>> imlabel = label2rgb(labeled, @spring, 'c', 'shuffle');
>> subplot(1,3,1),imshow(img),title('image RGB'),subplot(1,3,2),imshow(imbw),

title('image biner'),subplot(1,3,3),imshow(imlabel),title('image counting');

Keterangan img=imread('pohon1.png'); //Berfugsi untuk membaca image
gray=rgb2gray(img); // Berungsi untuk merubah RGB menjadi graysqal
Baris (1) thresh=graythresh(gray); //
Baris (2) imbw=im2bw(gray,thresh); //Berfungsi merubah menjadi citra biner
Baris (3) [labeled,numObjects] = bwlabel(imbw,8);
Baris (4) imlabel = label2rgb(labeled, @spring, 'c', 'shuffle');
Baris (5) subplot(1,3,1),imshow(img),…. // menampilkan hasil
Baris (6)
Baris (7)

Hasil Object Counting

Modul Pengolahan Citra| 71

DAFTAR PUSTAKA
Ahmad, Usman, 2005, Pengolahan Citra Digital dan Teknik
Pemrogramannya , Ed.1,Graha Ilmu, Yogyakarta.
Astuti Fajar, 2013. Pengolahan Citra Digital Konsep & Teori OFFSET ,
Yogyakarta
Balza A, Kartika F. 2005. Teknik Pengolahan Citra Digital Menggunakan Delphi.
Andi Publising, Yogyakarta
Putra, Darma .2010. Pengolahan Citra Digital , ANDI OFFSET , Yogyakarta.
Hery Mauridhi, Muntasa arif, 2010. Konsep Pengolahan Citra Digital dan
Ekstrasi Fitur, Graha Ilmu, Yogyakarta.
Sobel N Lew MS.2000. Robust Computer Vision : Teory and Applications.
Leiden : Leiden Institute of Advance Computer Science
Schober, Jean-Pierre. Thomas Hermes, Otthein Herzog.2004. Content-based
image retrieval by Ontologi-Based Object Recognition. TZI Center for computing
technology University . Bremen, Germany.

Modul Pengolahan Citra| 72

Buku ini memuat materi pengolahan citra dasar, yang di bahas pada buku ini
merupakan langkah awal untuk proses pengolahan citra yang lebih komplek.
Buku ini dilengkapi dengan praktek langsung menggunakan matlab

 Operasi Titik (Point Operation), membahas mengenai Histogram
Citra, Citra RGB, Citra grayscale, Brightness adjustment, Negation,
Koreksi gamma

 Operasi Spasial (Spatial Operation) / Filtering, membahas Kernel &
Konvolusi, Filtering
Beberapa filter yang sering digunakan Low pass (Mean Filter,
Gaussian Filter), High pass dan Median

 Oprasi Geometri, membahas mengenai Translasi , Penskalaan ,
Rotasi dan Refleksi

 Oprasi Aritmatika berisi mengenai Penjumlahan, Pengurangan,
Perkalian, Pembagian, Logika AND/NAND, Logika OR/NOR,
Logika XOR/XNOR dan Logika NOT

 Pembangkitan Noise membahas pembangkitan noise Gaussian,
Speckle, Salt & Pepper dan Reduksi Noise

 Deteksi Tepi Citra, pendeteksian tepi menggunakan perintah edge
terdiri dari Prewitt, Roberts, Lapacian of Gaussian dan Canny

 Kompresi Data Citra menggunakan Lossless Compression , proses
mereduksi ukuran suatu data untuk menghasilkan representasi
digital yang lebih padat

 Morphological Image Processing terdiri dari Dilasi, Erosi dan
Object Counting

Modul Pengolahan Citra| 73

Modul Pengolahan Citra| 74


Click to View FlipBook Version