PENGOLAHAN CITRA DIGITAL DAN LAB 'WATERMARK CITRA'' Disusun Untuk Memenuhi Tugas 10 Mata Kuliah Praktikum Pengolahan Citra Digital Dan Lab
PENGOLAHAN CITRA DIGITAL DAN LAB 'WATERMARK CITRA'' Disusun Untuk Memenuhi Tugas 10 Mata Kuliah Praktikum Pengolahan Citra Digital Dan Lab
‘’WATERMARK CITRA’’
Disusun Untuk Memenuhi Tugas 10
Mata Kuliah Praktikum Pengolahan Citra Digital dan Lab
semester 6
Disusun Oleh:
JTD 3B
1. Pengenalan pola adalah disiplin ilmu yang mengklasifikasikan object berdasarkan image, berat atau parameter-
parameter yang telah ditentukan kedalam sejumlah kategori atau kelas.
2. A. Konvolusi
Konvolusi merupakan proses matematis, cecara umum konvolusi didefinisikan sebagai cara untuk
mengkombinasikan dua buah deret angka yang menghasilkan deret angka yang ketiga. Konvolusi (convolution)
adalah sebuah proses dimana citra dimanipulasi dengan menggunakan eksternal mask / subwindows untuk
menghasilkan citra yang baru. Operasi konvolusi merupakan komputasi pada area lokal, Karena komputasi untuk
suatu piksel pada citra keluaran melibatkan piksel-piksel tetangga pada citra masukannya.
B. Transformasi Citra
Transformasi merupakan suatu operasi matematis. Transformasi citra merupakan proses perubahan bentuk citra
untuk mendapatkan suatu informasi tertentu. Transformasi bisa dibagi menjadi 2 :
Transformasi piksel masih bermain di ruang/domain yang sama (domain spasial), hanya posisi piksel yang kadang
diubah. Contoh: rotasi, translasi, scaling, invers, shear, dll.
- Transformasi ruang/domain/space
Transformasi ruang merupakan proses perubahan citra dari suatu ruang/domain ke ruang/domain lainnya,
contoh: dari ruang spasial ke ruang frekuensi. Jenis-jenis transformasi Fourier, Transformasi Hadamard/Walsh,
Transformasi DCT , Transformasi Wavelet (basis: scaling function dan mother wavelet).
Perbaikan kualitas citra adalah proses mendapatkan citra yang lebih mudah diinterpretasikan oleh
mata manusia. Pada proses ini, ciri-ciri tertentu yang terdapat di dalam citra lebih diperjelas kemunculannya.
Secara matematis, image enhancement dapat diartikan sebagai proses mengubah citra f(x, y) menjadi f ’(x, y)
sehingga ciri -ciri yang dilihat pada f(x, y) lebih ditonjolkan. Proses-proses dalam perbaikan kualitas citra
1. Operasi Titik
Pengubahan kualitas citra (Image brightness) Koreksi Gamma, Pengubahan Histogram Citra
2. Filtering
3. Operasi Geometri
D. Metode Segmentasi
Segmentasi merupakan proses mempartisi citra menjadi beberapa daerah atau objek, berdasarkan sifat-sifat
tertentu dari citra. Segmentasi ditujukan untuk mendapatkan objek-objek yang terkandung di dalam citra atau
membagi citra ke dalam beberapa daerah dengan setiap objek atau daerah memiliki kemiripan atributBeberapa
teknik segmentasi citra :
Metode yang digunakan dengan cara mengubah nilai tingkat keabuan (grey level value) pixel tertentu tanpa
memperhatikan lokasinya dalam citra. Hasil perbaikan kualitas yang diperoleh bergantung pada citra aslinya.
Histogram dari sebuah citra dapat dimodifikasi untuk memperoleh citra yang sesuai dengan keinginan atau
memperbaiki kualitas citra. Salah satu cara yang dapat digunakan untuk memodifikasi histogram citra adalah
perataan histogram (histogram equalization). Histogram equalization adalah sebuah proses yang mengubah
distribusi nilai derajat keabuan pada sebuah citra sehingga menjadi seragam (uniform).
F. Operasi Morfologis
Perbedaan antara pemrosesan citra secara morfologis dengan pemrosesan biasa (yang telah kita pelajari):
1. Dulu kita memandang sebuah citra sebagai suatu fungsi intensitas terhadap posisi (x,y)
2. Dengan pendekatan morfologi, kita memandang suatu citra sebagai himpunan
Pemrosesan citra secara morfologi biasanya dilakukan terhadap citra biner (hanya terdiri dari 0 dan 1),
walaupun tidak menutup kemungkinan dilakukan terhadap citra dengan skala keabuan 0-255. Secara umum,
pemrosesan citra secara morfologi dilakukan dengan cara mem-passing sebuah structuring element terhadap
sebuah citra dengan cara yang hampir sama dengan konvolusi. Structuring element dapat diibaratkan dengan
mask pada pemrosesan citra biasa (bukan secara morfologi). Beberapa operasi morfologi yang dapat
kita lakukan adalah:
- Dilasi, Erosi
- Opening, Closing
G. Ekstraksi Fitur
Ketika kita ingin mengenali atau mengklasifikasikan obyek dalam gambar dan kemudian fitur ini dilakukan untuk
memperoleh classifier final kelas. Fitur ekstraksi (atau deteksi) dilakukan ketika ingin mencari daerah fitur yang
signifikan pada gambar tergantung pada karakteristik intrinsik yang diinginkan dan aplikasi.
Ada beberpa hal yang menjadi tujuan dilakukan ekstaksi fitur, yaitu :
- Pencarian citra: Fitur dipakai untuk mencari objek-objek tertentu yang berada di dalam database.
- Penyederhanaan dan hampiran bentuk: Bentuk objek dapat dinyatakan dengan representasi yang lebih
ringkas.
- Pengenalan dan klasifikasi: Sejumlah fitur dipakai untuk menentukan jenis objek. Sebagai contoh,
fitur citra daun digunakan untuk menentukan nama tanaman.
H. Deteksi Tepi
Tepi (edge) adalah perubahan nilai derajat keabuan yang mendadak (besar) dalam jarak yang singkat. Tepi
mencirikan batas-batas objek dan karena itu tepi berguna untuk proses segmentasi dan identifikasi objek di
dalam citra. Beberapa teknik dalam deteksi tepi :
Operator Sobel
Operator Prewitt
Operator Roberts
3. Metode
clc;clear;close all;
RGB = imread('D:\12.png');
imshow(RGB);
I = rgb2gray(RGB);
threshold = graythresh(I);
bw = im2bw(I,threshold);
bw = bwareaopen(bw,30);
se = strel('disk',2);
bw = imclose(bw,se);
bw = imfill(bw,'holes');
[B,L] = bwboundaries(bw,'noholes');
hold on
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), 'w', 'LineWidth', 2)
end
stats = regionprops(L,'Area','Centroid','Eccentricity');
for k = 1:length(B)
boundary = B{k};
delta_sq = diff(boundary).^2;
perimeter = sum(sqrt(sum(delta_sq,2)));
area = stats(k).Area;
eccentricity = stats(k).Eccentricity;
metric = 4*pi*area/perimeter^2;
centroid = stats(k).Centroid;
text(centroid(1),centroid(2)-16,num2str(k),'Color','r',...
'FontSize',20,'FontWeight','bold');
disp('===================================')
disp(strcat(['Object number = ', num2str(k)]))
disp(strcat(['Area = ',num2str(area)]))
disp(strcat(['Perimeter = ',num2str(perimeter)]))
disp(strcat(['Metric = ',num2str(metric)]))
disp(strcat(['Eccentricity = ',num2str(eccentricity)]))
if metric>0.8
text(centroid(1)-16,centroid(2)+16,'Bulat','Color','r',...
'FontSize',20,'FontWeight','bold');
else
text(centroid(1)-16,centroid(2)+16,'Tidak Bulat','Color','b',...
'FontSize',20,'FontWeight','bold');
end
end
4. Gambar 1
clc;clear;close all;
RGB = imread('D:\VO.JPEG');
imshow(RGB);
I = rgb2gray(RGB);
threshold = graythresh(I);
bw = im2bw(I,threshold);
bw = bwareaopen(bw,30);
se = strel('disk',2);
bw = imclose(bw,se);
bw = imfill(bw,'holes');
[B,L] = bwboundaries(bw,'noholes');
hold on
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), 'w', 'LineWidth', 2)
end
stats = regionprops(L,'Area','Centroid','Eccentricity');
for k = 1:length(B)
boundary = B{k};
delta_sq = diff(boundary).^2;
perimeter = sum(sqrt(sum(delta_sq,2)));
area = stats(k).Area;
eccentricity = stats(k).Eccentricity;
metric = 4*pi*area/perimeter^2;
centroid = stats(k).Centroid;
text(centroid(1),centroid(2)-16,num2str(k),'Color','r',...
'FontSize',20,'FontWeight','bold');
disp('===================================')
disp(strcat(['Object number = ', num2str(k)]))
disp(strcat(['Area = ',num2str(area)]))
disp(strcat(['Perimeter = ',num2str(perimeter)]))
disp(strcat(['Metric = ',num2str(metric)]))
disp(strcat(['Eccentricity = ',num2str(eccentricity)]))
if metric>0.8
text(centroid(1)-16,centroid(2)+16,'Bulat','Color','r',...
'FontSize',20,'FontWeight','bold');
else
text(centroid(1)-16,centroid(2)+16,'Tidak Bulat','Color','b',...
'FontSize',20,'FontWeight','bold');
end
end
Gambar 2
clc;clear;close all;
RGB = imread('D:\12.png');
imshow(RGB);
I = rgb2gray(RGB);
threshold = graythresh(I);
bw = im2bw(I,threshold);
bw = bwareaopen(bw,30);
se = strel('disk',2);
bw = imclose(bw,se);
bw = imfill(bw,'holes');
[B,L] = bwboundaries(bw,'noholes');
hold on
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), 'w', 'LineWidth', 2)
end
stats = regionprops(L,'Area','Centroid','Eccentricity');
for k = 1:length(B)
boundary = B{k};
delta_sq = diff(boundary).^2;
perimeter = sum(sqrt(sum(delta_sq,2)));
area = stats(k).Area;
eccentricity = stats(k).Eccentricity;
metric = 4*pi*area/perimeter^2;
centroid = stats(k).Centroid;
text(centroid(1),centroid(2)-16,num2str(k),'Color','r',...
'FontSize',20,'FontWeight','bold');
disp('===================================')
disp(strcat(['Object number = ', num2str(k)]))
disp(strcat(['Area = ',num2str(area)]))
disp(strcat(['Perimeter = ',num2str(perimeter)]))
disp(strcat(['Metric = ',num2str(metric)]))
disp(strcat(['Eccentricity = ',num2str(eccentricity)]))
if metric>0.8
text(centroid(1)-16,centroid(2)+16,'Bulat','Color','r',...
'FontSize',20,'FontWeight','bold');
else
text(centroid(1)-16,centroid(2)+16,'Tidak Bulat','Color','b',...
'FontSize',20,'FontWeight','bold');
end
end