Pengolahan citra ke citra negative,
biner, dan rotasi menggunakan octave
Nama: Mahendra Bagaskara
NIM :1503030006
Matkul: Pengolahan Citra Digital
Dosen Pengampu : Arif Johar Taufik S.T., M.T
A.
Citra
Negatif
lc; clear;
Membuat citra terlihat negatif dengan rumus:
citrab
= 255 – citraa
nilai
255 ini apabila gambar yang akan diolah adalah 8 bit. Citra b adalah bentuk
citra a yang baru berupa biner dengan mebaliknya menjadi negative seperti pada
gambar 1 dibawah ini:
Gambar 1 citra negative
Program
yang dibuat di octave adalah sebagai berikut:
B.
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:
Berikut adalah
program pada octave:
Img = imread('E:\pisang.jpg');
[tinggi, lebar] = size(Img);
ambang = 220; % Nilai ini bisa diubah-ubah
biner = zeros(tinggi, lebar);
for j=1 : 233
for i=1 : 648
if Img(j, i) >= ambang
Biner2(j, i) = 0;
else
Biner2(j, i) = 1;
end
end
subplot (2,1,1); imshow(Img); title ('Gambar Asli');
subplot (2,1,2); imshow(Biner2); title ('Gambar Biner');
end
[tinggi, lebar] = size(Img);
ambang = 220; % Nilai ini bisa diubah-ubah
biner = zeros(tinggi, lebar);
for j=1 : 233
for i=1 : 648
if Img(j, i) >= ambang
Biner2(j, i) = 0;
else
Biner2(j, i) = 1;
end
end
subplot (2,1,1); imshow(Img); title ('Gambar Asli');
subplot (2,1,2); imshow(Biner2); title ('Gambar Biner');
end
penjelasan:
Kode
Img = imread('E:\pisang.jpg');
merupakan
perintah untuk membaca citra Koala.png. Hasilnya disimpan
diImg.
menangani
penentuan nilai 0 atau 1 pada citra biner untuk semua piksel dalam citra
(ditangani dengan dua buah for). Penentuan dilakukan melalui pernyataan if.
Dalam hal ini,
Img(j,
i)
menyatakan
nilai intensitas piksel pada (baris, kolom). Setelah
for
j=1 : tinggi (233)
berakhir,
maka Biner berisi citra biner. Selanjutnya, citra ditampilkan melalui
subplot (2,1,1);
imshow(Img); title ('Gambar Asli');
subplot (2,1,3);
imshow(Biner); title ('Gambar Biner');
Hasilnya seperti
berikut.
Gambar 2 Citra Biner
C.
Citra Rotasi
Suatu
citra dapat diputar dengan sudut𝜃
seiring
arah jarum jam atau berlawanan arah jarum jam dengan pusat putaran pada
koordinat (0,0).
Dengan
program dioctave:
% ROTASI Melakukan Operasi pemutaran citra.
% Menggunakan pendekatan pemetaan ke belakang
clear all;
F = Img = imread('E:\pisang.jpg');
[tinggi, lebar] = size(F);
sudut = 25; % Sudut pemutaran
rad = pi * sudut/180;
cosa = cos(rad);
sina = sin(rad);
F2 = double(F);
for y=1 : tinggi
for x=1 : lebar
x2 = round(x * cosa + y * sina);
y2 = round(y * cosa - x * sina);
if (x2>=1) && (x2<=lebar) && ...
(y2>=1) && (y2<=tinggi)
G(y, x) = F2(y2, x2);
else
G(y, x) = 0;
end
end
end
G = uint8(G);
subplot (2,1,1); imshow(F); title ('Gambar Asli');
subplot (2,1,2); imshow(G); title ('Gambar rotasi');
% Menggunakan pendekatan pemetaan ke belakang
clear all;
F = Img = imread('E:\pisang.jpg');
[tinggi, lebar] = size(F);
sudut = 25; % Sudut pemutaran
rad = pi * sudut/180;
cosa = cos(rad);
sina = sin(rad);
F2 = double(F);
for y=1 : tinggi
for x=1 : lebar
x2 = round(x * cosa + y * sina);
y2 = round(y * cosa - x * sina);
if (x2>=1) && (x2<=lebar) && ...
(y2>=1) && (y2<=tinggi)
G(y, x) = F2(y2, x2);
else
G(y, x) = 0;
end
end
end
G = uint8(G);
subplot (2,1,1); imshow(F); title ('Gambar Asli');
subplot (2,1,2); imshow(G); title ('Gambar rotasi');
dan
hasilnya adalah sebagai berikut:

Komentar
Posting Komentar