×

Croping Image per Block

Croping Image per Block

1,102 Views

Terkadang dalam pengolahan citra digital yang berukuran sangat besar serta algoritma tersebut memang tidak dipengaruhi oleh nilai tetangga yang lain, maka saya biasanya melakukan croping seperti berikut, yang tiap croping nya akan disimpan secara terpisah dan diolah per frame nya, tentu akan menjadi sangat ringan karena kita bisa memilih frame by frame.

Algoritma diatas akan diolah lebih lanjut per frame untuk kemudian selanjutnya ditentukan luas lahan, dengan nilai ambang batas yang sudah ditentukan dari awal. Kalian bisa menggunakan kode Octave berikut untuk melakukan croping diatas. Oiya jangan lupa untuk

pkg load image

Terlebih dulu untuk memastikan loading package image, berikut kode yang bisa kalian pelajari.

clc;clear all;close all;
pkg load image
I = imread('gambar.jpg');

kolom = size(I,2);
baris = size(I,1);
baris_dibagi = 3;
kolom_dibagi = 3;
delta_baris = floor(baris/baris_dibagi);
delta_kolom = floor(kolom/kolom_dibagi);
dummy = zeros(baris,kolom,3);
index = 1;
i1=1;
figure,
for i=1:baris_dibagi
    i2 = i1+delta_baris-1;    
    j1=1;
    for j=1:kolom_dibagi
        j2 = j1+delta_kolom-1;
        gambar = I(i1:i2,j1:j2,1:3);
        dummy(i1:i2,j1:j2,1:3) = uint8(gambar);
        subplot(baris_dibagi,kolom_dibagi,index),imshow(gambar),title([num2str(i) '-' num2str(j)]);
        #imwrite(gambar,['crop-' num2str(i) '-' num2str(j) '.tif'],'tif');
        index = index +1;
        [i1 i2;j1 j2];        
        j1 = j2+1; 
    end
    i1 = i2+1;    

end

harap diingat, bahwa croping tidak digunakan untuk semua algoritma, kasus diatas hanya sebagai contoh saja

 

See also  Deteksi Tepi / Edge Detection

You May Have Missed