low and high pass filter dalam pengolahan citra digital

LOW AND HIGH PASS FILTER

A.    Definisi
1.     Low pass filter (LPF)
Low Pass filter merupakan proses filter yang melewatkan komponen citra dengan nilai intensitas yang rendah dan meredam komponen citra dengan nilai intensitas yang tinggi. Low Pass filter akan menyebabkan citra menjadi lebih halus dan lebih blur.

2.     High Pass Filter (HPF)
Berkebalikan dengan low pass filter, high pass filter adalah proses filter yang melewatkan komponen citra dengan nilai intensitas yang tinggi dan meredam komponen citra dengan nilai intensitas yang rendah. High pass filter akan menyebabkan tepi objek tampak lebih tajam dibandingkan sekitarnya.
B.    Implementasi Coding
1.     Low Pass Filter
function ImageLowPass(MInput:Matriks;kernel:integer):Matriks;
var
// mendekalrasikan variable inputan pada citra
  i,j,k,l : integer;
  MOutput : Matriks;
  Sort : LarikMatriks;
  indeks : integer;
begin
// menentukan panjang matriks keluaran dan matriks masukan terhadap citra biner
  SetLength(Sort,kernel*kernel);
  SetLength(MOutput,Length(MInput)-2*(kernel div 2),Length(MInput[0])-2*(kernel div 2));
// melakukan perulangan terhadap panjang matriks keluaran citra biner 
  for i:=0 to (Length(MOutput)-1)  do
  begin
    for j:=0 to (Length(MOutput[0])-1) do
    begin
      indeks:=0;
      for k:=0 to kernel-1 do
        begin
          for l:=0 to kernel-1 do
            begin
// rumus untuk menentukan low pass filter
               Sort[indeks]:=MInput[k+i,l+j];
               indeks:=indeks+1;
            end
        end;
      MOutput[i,j]:=Sorting(Sort);
    end;
  end;
// menampilkan hasil keluaran dari citra low pass filter
  ImageLowPass:=MOutput;
End

2.     High Pass Filter
function ImageHighPass(MInput:Matriks):Matriks;
var
// mendeklarasikan variable i,j yang bertipe data integer
  i,j: integer;
// mendeklarasikan MOutput   sebagai matriks keluaran terhadap citra biner
  MOutput : Matriks;
// mendeklarasikan kernel bertipe data integer
  kernel : integer;
begin
// menentukan panjang matriks keluaran dan matriks masukan terhadap citra biner
  SetLength(MOutput,Length(MInput)-1,Length(MInput[0])-1);
// melakukan perulangan terhadap panjang matriks keluaran citra biner 
for i:=0 to (Length(MOutput)-2) do
    begin
      for j:=0 to (Length(MOutput[0])-2) do
        begin
// rumus untuk menentukan high pass filter
         Kernel:=Abs(MInput[i,j]-MInput[i+1,j+1])+Abs(Minput[i,j+1]-MInput[i+1,j]);
// jika kernel kurang dari 0 maka akan di set 0
         If kernel<0 then kernel:=0;
// jika kernel lebih dari 255 maka akan di set 255
         If kernel>255 then kernel:=255;
        MOutput[i,j]:=kernel;
        end;
    end;
// untuk menampilkan hasil pengolahan citra low pass filter
  ImageHighPass:=MOutput;
end;
C.    Hasil Keluaran (Output)
1.     Low pass filter
               
              

2.     High pass filter

     

Comments

Popular posts from this blog

Tutorial Membuat Peta Sederhana dengan QGIS

contoh story board video scribe sparkol ayun

sistem transaksi mesin ATM (matakuliah system infoarmasi teknik informatika)