Operasi image negative atau citra negatif akan menghasilkan citra negatif dimana hasil dari operasi inversi akan mengubah nilai setiap piksel pada citra dengan mengurangi nilai intensitas piksel asli dari nilai intensitas piksel maksimumnya. Hasil dari operasi ini akan tampak perbedaan yang mencolok dari citra aslinya dimana nilai setiap pikselnya selalu berlawanan dengan citra aslinya, misalnya warna asli putih menjadi hitam, merah menjadi cyan, magenta menjadi hijau dsb. Tipe proses ini cocok untuk memperbaiki detail level putih atau keabuan pada latar belakang yang gelap. Proses ini banyak digunakan pada citra medis seperti USG dan foto sinar X.
Misalkan : pada citra gray 8 bit (256 derajat keabuan), citra negatif yang diperoleh adalah (256-1) – f(x,y)
Secara umum didefinisikan sebagai berikut :
S = T(r)=L-1-r
dimana :
r = intensitas asli
S = intensitas baru
L = nilai intensitas maksimum
sebenarnya untuk mendapatkan citra negatif, matlab sendiri telah menyediakan library menggunakan imcomplement. berikut ini adalah source program menggunakan library dari matlab :
I = imread('glass.png');
J = imcomplement(I);
imshow(I), figure, imshow(J)
Namun, apabila menggunakan library yang telah disediakan matlab, kita jadi tidak tahu cara penerapan rumus citra negatif ke dalam program. Untuk itu, saya akan membagikan source program citra negatif menggunakan matlab tanpa library. berikut adalah source program matlab tanpa menggunakan library :
clear all force
close all
img = imread('imggray.jpg');
%Ambil ukuran gambar
[baris kolom] = size(img);
%operasi gambar ke negative menggunakan s = L-1-r
for j = 1:baris
for k = 1:kolom
img_negt(j,k) = 255 - img(j,k);
end
end
%menampilkan citra awal
imshow(img); title('Citra Asli');
%menampilkan citra setelah proses image negative
figure; imshow(img_negt); title('citra setelah proses image negative');
program diatas hanya digunakan pada citra grayscale (putih abu-abu). untuk citra berwarna, tinggal tambahkan satu baris looping untuk layer citra. Karena citra berwarna memiliki 3 layer, yaitu RGB. berikut ini adalah source program citra negatif menggunakan matlab untuk citra berwarna :
clear all force
close all
img = imread('imgneg.jpg');
%Ambil ukuran gambar
[baris kolom layer] = size(img);
%operasi gambar ke negative menggunakan s = L-1-r
for j = 1:layer
for k = 1:baris
for l = 1:kolom
img_negt(k,l,j) = 255 - img(k,l,j);
end
end
end
%menampilkan citra awal
imshow(img); title('Citra Asli');
%menampilkan citra setelah proses image negative
figure; imshow(img_negt); title('citra setelah proses image negative');
Download source lengkapnya
Citra grayscale disini
Citra berwarna disini


0 comments
Post a Comment