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
Post a Comment