1. Menampilkan Citra
Menampilkan citra adalah perintah dasar dalam Octave dan akan selalu digunakan untuk menampilkan citra hasil pengolahan.Script :
%membaca citra
a = imread('c:\image\dedaunan.png');
b = imread('c:\image\empatbola.png');
%menampilkan citra
figure(1);
subplot(1,2,1); imshow(a);
subplot(1,2,2); imshow(b);
Output :
2. Kecerahan, Kontras dan Citra Negatif
Operasi peningkatan kecerahan diperlukan untuk membuat gambar menjadi lebih terang. Hal ini dilakukan dengan menambahkan suatu konstanta terhadap nilai seluruh piksel. Operasi peregangan kontras berfungsi untuk merubah distribusi intensitas piksel. Sedangkan operasi membalik citra bertujuan untuk menghasilkan citra negatif seperti negatif film atau foto rontgen.
Script:
%membaca citra
a = imread('c:\image\mario.jpg');
% mengolah citra
kecerahan = a + 60;
kontras = 2.5 * a;
negatif = 255 - a;
%menampilkan citra
figure(1);
subplot(2,2,1); imshow(a)
subplot(2,2,2); imshow(kecerahan);
subplot(2,2,3); imshow(kontras);
subplot(2,2,4); imshow(negatif);
Output :
3. Pergeseran Citra
Operasi pergeseran citra bertujuan untuk memindahkan posisi citra dari piksel awal ke piksel tujuan. Hal ini dapat dilakukan dengan cara menambahkan suatu bilangan bulat pada posisi piksel.
Script :
% Melakukan operasi penggeseran citra.
F = imread('c:\Image\kotatua.tif');
[tinggi, lebar] = size(F);
sx = 45; % Penggesaran arah horisontal
sy = 15; % Penggesaran arah vertikal
F2 = double(F);
G = zeros(size(F2));
for y=1 : tinggi
for x=1 : lebar
xlama = x - sx;
ylama = y - sy;
if (xlama>=1) && (xlama<=lebar) && ...
(ylama>=1) && (ylama<=tinggi)
G(y, x) = F2(ylama, xlama);
else
G(y, x) = 0;
end
end
end
G = uint8(G);
figure(1);
subplot(1,2,1); imshow(F);
subplot(1,2,2); imshow(G);
Output :
4. Filter Batas
Filter batas termasuk dalam operasi ketetanggaan piksel. Fungsinya adalah untuk mencegah adanya piksel yang intensitasnya diluar intensitas piksel-piksel tetangganya.
Script :
% Melakukan operasi ketetanggan piksel
% menggunakan filter batas
F = imread('c:\Image\mobil.tif');
[tinggi, lebar] = size(F);
G = F;
for baris=2 : tinggi-1
for kolom=2 : lebar-1
minPiksel = min([F(baris-1, kolom-1) ...
F(baris-1, kolom) F(baris, kolom+1) ...
F(baris, kolom-1) ...
F(baris, kolom+1) F(baris+1, kolom-1) ...
F(baris+1, kolom) F(baris+1, kolom+1)]);
maksPiksel = min([F(baris-1, kolom-1) ...
F(baris-1, kolom) F(baris, kolom+1) ...
F(baris, kolom-1) ...
F(baris, kolom+1) F(baris+1, kolom-1) ...
F(baris+1, kolom) F(baris+1, kolom+1)]);
if F(baris, kolom) < minPiksel
G(baris, kolom) = minPiksel;
else
if F(baris, kolom) > maksPiksel
G(baris, kolom) = maksPiksel;
else
G(baris, kolom) = F(baris, kolom);
end
end
end
end
figure(1);
subplot(1,2,1); imshow(F);
subplot(1,2,2); imshow(G);
Output :
5. Menampilkan Histogram Citra
Program berikut ini berfungsi untuk menampilkan histogram citra. Histogram citra merupakan diagram yang menggambarkan frekuensi setiap nilai intensitas yang muncul di seluruh piksel citra. Nilai yang besar menyatakan bahwa piksel-piksel yang mempunyai intensitas tersebut sangat banyak.
Script :
% HISTO Digunakan sebagai contoh pembuatan histogram
Img = imread('c:\Image\innsbruck.tif');
Ukuran = size(Img);
jum_baris = Ukuran(1);
jum_kolom = Ukuran(2);
Histog = zeros(256, 1);
for baris=1 : jum_baris
for kolom=1 : jum_kolom
Histog(Img(baris, kolom)+1) = ...
Histog(Img(baris, kolom)+1) + 1;
end
end
% Tampilkan dalam bentuk diagram batang
Horis = (0:255)';
bar(Horis, Histog);
subplot(1,2,1); imshow(Img);
subplot(1,2,2); bar(Horis, Histog);
Output :
Sumber : romlisapermana.com
Manfaat sekali artikelnya gan, thanks
ReplyDeleteFungsi yang membagi citra menjadi 4 bagian lalu memutarnya searah jarum jam gimana ya?
ReplyDelete