Croping Image per Block
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