Pada kesempatan ini saya mencoba untuk menjelaskan cara melakukan pengolahan citra digital mengguanakan GNU Octave. sebelumnya saya akan membahas terlebih dahulu apa itu software GNU Octave.
GNU OCtave atau yang biasa orang menyebutnya Octave adalah aplikasi free and open source yang ditujukan untuk komputasi numerik linear maupun non linear. Octave sangat populer sebagai aplikasi alternatif dari MATLAB. Octave memiliki pustaka untuk melakukan manipulasi dan visualisasi data yang cukup lengkap. GNU Octave dikembangkan oleh GNU di bawah lisensi GNU General Public License.
Octave tersedia bagi pengguna Linux, BSD, OS X, dan Windows. Untuk mengunduh GNU Octave silahkan mengunjungi halaman Download GNU Octave.
Pengolahan Citra Digital
Pengolahan citra digital adalah manipulasi dan interprestasi digital dari citra dengan bantuan komputer.
Pengolahan citra bertujuan untuk:
- memperbaiki kualitas gambar, dilihat dari aspek radiometric dan aspek geometric. Aspek radiometric terdiri dari peningkatan kontras, restorasi citra, transformasi warna sedangkan aspek geometric terdiri dari rotasi, skala, translasi, trnsformasi geometric).
- melakukan proses penarikan informasi atau deskripsi obyek atau pengenalan obyek yang terkandung pada citra.
- melakukan pemilihan citra ciri (feature images) yang optimal untuk tujuan analisis.
- melakukan kompresi atau reduksi data untuk tujuan penyimpanan data, transmisi data, dan waktu proses data.
1. Menampilkan Histogram Image Citra RGB
Citra tersebut tersusun oleh tiga kanal warna yaitu kanal merah, kanal hijau, dan kanal biru.
Masing-masing kanal warna memiliki nilai intensitas piksel dengan kedalaman bit sebesar 8-bit yang artinya memiliki variasi warna sebanyak 2^8 derajat warna (0 s.d 255).
Pada kanal merah, warna merah sempurna direpresentasikan dengan nilai 255 dan hitam sempurna dengan nilai 0. Pada kanal hijau, warna hijau sempurna direpresentasikan dengan nilai 255 dan hitam sempurna dengan nilai 0. Begitu juga pada kanal biru, warna biru sempurna direpresentasikan dengan nilai 255 dan hitam sempurna dengan nilai 0.
Perintah yang digunakan merepresentasikan citra RGB beserta masing-masing kanal warna nya yaitu:
%Membaca Image Citra
L = imread('C:\Octave\File Image\strawbery.jpg');
imshow(L);
%Membuat Image Citra RGB
R = L(:,:,1);
G = L(:,:,2);
B = L(:,:,3);
% RGB Channel
Red = cat(3,R,G*0,B*0);
Green = cat(3,R*0,G,B*0);
Blue = cat(3,R*0,G*0,B);
[rows,cols] = size(R);
%Menampilkan Histogram Image Citra RGB
figure(1);
subplot(2,2,1);imshow(L);title('Citra Asli');
subplot(2,2,2);imhist(L);title('Histogram Citra Asli');
subplot(2,2,3);imshow(Red);title('Citra Red');
subplot(2,2,4);imhist(Red);title('Histogram Red (R)');
figure(2);
subplot(2,2,1);imshow(Green);title('Citra Green');
subplot(2,2,2);imhist(Green);title('Histogram Green (G)');
subplot(2,2,3);imshow(Blue);title('Citra Blue');
subplot(2,2,4);imhist(Blue);title('Histogram Blue (B)');
[Gambar 1] Histogram Citra asli & Histogram Citra Kanal Merah
[Gambar 2] Histogram Citra Kanal Hijau dan Citra Kanal Biru
2. Menampilkan Histogram Image Citra Kontras dan Image Citra Hitam Putih
Kontras menyatakan sebaran terang (lightness) dan gelap (darkness) di dalam sebuah gambar. Citra dapat dikelompokkan ke dalam tiga kategori kontras: citra kontras-rendah (low contrast), citra kontras bagus (good contrast atau normal contrast), dan citra kontras-tinggi (high contrast). Ketiga kategori ini umumnya dibedakan secara intuitif.
Perintah yang digunakan merepresentasikan citra kontras dan citra hitam putih adalah sebagai berikut :
L = imread('C:\Octave\File Image\strawbery.jpg');
imshow(L);
% Membuat Image Citra Menjadi Hitam Putih
Grayscale = rgb2gray(L);
K = im2bw(Grayscale,0.5);
% Membuat Image Citra Menjadi Kontras
Kontras = 3.3 * L;
% Menampilkan Histogram Image Citra Hitam Putih
figure(1);
subplot(2,2,1); imshow(L); title('Citra Asli');
subplot(2,2,2); imhist(L); title('Histogram Citra Asli');
subplot(2,2,3); imshow(K); title('Citra Hitam Putih');
subplot(2,2,4); imhist(K); title('Histogram Hitam Putih');
figure(2);
subplot(2,2,1); imshow(Kontras); title('Citra Kontras');
subplot(2,2,2); imhist(Kontras); title('Histogram Citra Kontras');
[Gambar 3] Histogram Image Citra Hitam Putih
[Gambar 4] Histogram Image Kontras
3. Menampilkan Histogram Image Citra Menjadi Grayscale
Citra grayscale merupakan citra yang nilai intensitas pikselnya didasarkan pada derajat keabuan.
Pada citra grayscale 8-bit, derajat warna hitam sampai dengan putih dibagi ke dalam 256 derajat keabuan di mana warna putih sempurna direpresentasikan dengan nilai 255 dan hitam sempurna dengan nilai 0.
Citra RGB dapat dikonversi menjadi citra grayscale.
Persamaan yang umumnya digunakan untuk mengkonversi citra RGB truecolor 24-bit menjadi citra grayscale 8-bit adalah
0.2989*R+0.5870*G+0.1140*B dan dibulatkan menjadi : gray = 0.3*R+0.5*G+0.2*B;
sehingga proses konversi menghasilkan citra grayscale yang hanya memiliki satu kanal warna.
Perintah yang digunakan dalam proses konversi citra RGB menjadi citra grayscale yaitu:
%Membaca Image Citra
L = imread('C:\Octave\File Image\strawbery.jpg');
% Membuat Image Citra Menjadi Grayscale
R = L(:,:,1);
G = L(:,:,2);
B = L(:,:,3);
gray = 0.3*R+0.5*G+0.2*B;
% Membuat Image Citra Menjadi Cerah
Cerah = L + 80;
% Membuat Image Citra Menjadi Negative
Negative = 255 - L;
% Menampilkan Histogram Image Citra Grayscale, Kecerahan dan Negative
figure(1);
subplot(2,2,1); imshow(L); title('Citra Asli');
subplot(2,2,2); imhist(L); title('Histogram Citra Asli');
subplot(2,2,3); imshow(gray); title('Grayscale');
subplot(2,2,4); imhist(gray); title('Histogram Grayscale');
figure(2);
subplot(2,2,1); imshow(Cerah);title('Citra Image Kecerahan +80');
subplot(2,2,2); imhist(Cerah);title('Histogram Kecerahan +80');
subplot(2,2,3); imshow(Negative); title('Negative');
subplot(2,2,4); imhist(Negative); title('Histogram Negative');
[Gambar 5] Histogram Grayscale
[Gambar 6] Histogram Kecerahan +80 & Image Negative
4. Menampilkan Histogram Dari Image Citra Noise
Untuk bisa menambahkan gangguan (noise) pada citra digital kita bisa menggunakan
fungsi :
a = imnoise(L,type)
a = imnoise(L,type,parameters)
"L" merupakan matriks penyusun citra, "type" merupakan jenis metode penambahan gangguan yang kita gunakan, sedangkan "parameters" merupakan parameter – parameter yang dipakai.
Untuk "type" yang bisa dipakai adalah :
- ’gaussian’ : Gangguan Gaussian putih dengan mean dan variance yang tetap.
- ’localvar’ : Gangguan Zero-mean Gaussian putih dengan variance intensitydependent.
- ’poisson’ : Gangguan poison
- ’salt & pepper’ : Gangguan pixel on dan off.
- ’speckle’ : Gangguan Multiplicative.
Perintah yang digunakan dalam proses menampilkan histogram image citra noise yaitu:
%Membaca Image Citra
L = imread('C:\Octave\File Image\strawbery.jpg');
% Menampilkan Citra Noise Gausian, Poisson dan salt & pepper
a = imnoise(L, 'gaussian', 0.03);
b = imnoise(L, 'poisson', 0.03);
c = imnoise(L, 'salt & pepper', 0.03);
% Menampilkan Histogram Citra Noise Gaussian, Poison dan salt & Pepper
figure(1);
subplot(2,2,1); imshow(L); title('Citra Asli');
subplot(2,2,2); imhist(L); title('Histogram Citra Asli');
subplot(2,2,3); imshow(a); title('Image Noise Gaussian');
subplot(2,2,4); imhist(a); title('Histogram Image Noise Gaussian');
figure(2);
subplot(2,2,1); imshow(b); title('Image Noise Poison');
subplot(2,2,2); imhist(b); title('Histogram Noise Poison');
subplot(2,2,3); imshow(c); title('Image Noise salt & pepper');
subplot(2,2,4); imhist(c); title('Histogram Noise salt & pepper')
[Gambar 7] Histogram Image Noise Gaussian
[Gambar 8] Histogram Image Noise Poison dan Salt & pepper
Jadi kesimpulannya Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan komputer, menjadi citra yang kualitasnya lebih baik. Teknik-teknik pengolahan citra mentransformasikan citra menjadi citra lain.
Dilihat dari Identifikasi objek maka engolahan citra digital mampu mengidentifikasi jenis atau banyak nya objek - objek pada suatu citra sedangkan dilihat dari Teknlogi pengamanan,Suatu sistem mengalami kemajuan pesat akibat dari pesatnya perkembangan pengolahan citra pada bidang biometrika.
Referensi :
Kadir, Abdul. 2012, Pengolahan Citra Teori dan Aplikasi : Yogyakartahttps://www.mathworks.com/matlabcentral/answers/21498-how-to-change-m-1-n-matrix-to-m-n-matrix
https://dokumen.tips/documents/analisis-citra-digital-dengan-menggunakan-software-octave.html
http://febbymarlina.blogspot.co.id/2013/06/menampilkan-histogram-rgb-suatu-gambar.html
https://putrinursandini.wordpress.com/2016/12/25/bab-3-operasi-piksel-dan-histogram/
https://semutcupu.wordpress.com/2012/06/22/mengubah-rgb-menjadi-grayscale-dengan-matlab/
https://www.codepolitan.com/gnu-octave-alternatif-matlab-terbaik-kini-capai-versi-4-0
https://pemrogramanmatlab.com/pengolahan-citra-digital/