Seputar Dunia IT dan Fakta Unik Lainnya

Wednesday 21 June 2017

Contoh Program Pengolahan Citra Menggunakan Octave (Part 1)

Contoh Program Pengolahan Citra Menggunakan Octave (Part 1)


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 :

Contoh Program Pengolahan Citra Menggunakan Octave (Part 1)


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 :

Contoh Program Pengolahan Citra Menggunakan Octave (Part 1)

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 :

Contoh Program Pengolahan Citra Menggunakan Octave (Part 1)

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 :

Contoh Program Pengolahan Citra Menggunakan Octave (Part 1)


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 :

Contoh Program Pengolahan Citra Menggunakan Octave (Part 1)


Sumber : romlisapermana.com


2 comments:

  1. Manfaat sekali artikelnya gan, thanks

    ReplyDelete
  2. Fungsi yang membagi citra menjadi 4 bagian lalu memutarnya searah jarum jam gimana ya?

    ReplyDelete

BILA ANDA MEMASUKKAN LINK HIDUP, MAKA AKAN OTOMATIS TERDELETE..

Blog Archive