Citra biner merupakan citra yang terdiri dari komponen warna hitam dan putih. Sifat pengolahan citra biner relatif sederhana, cepat dan mudah diimplementasikan sehingga bisa dijalankan meski memori yang dimiliki kecil. Berikut listing mengubah citra grayscale menjadi citra biner dengan metode otsu (otsu method).
procedure TForm1.btnBinerClick(Sender: TObject);
const level = 255;
var
histogram: array[0..255] of integer;
PH: PByteArray;
TotalMean, Variance, maxVariance, zerothCumuMoment, firstCumuMoment : real;
i,k: integer;
j: integer ;
p: PByteArray;
Q: PByteArray;
threshold: byte;
area: Word;
begin
imgbin:= tbitmap.Create;
imgbin:= imggray;
for i:=0 to level-1 do
begin
histogram[i]:=0;
end;
for i:=0 to (imgbin.Height-1) do
begin
PH:=imgbin.ScanLine[i];
for j:= 0 to (imgbin.Width-1) do
begin
inc(histogram[PH[j]]);
end;
end;
//compute otsu method
threshold:=0;
totalMean := 0;
maxVariance := 0;
firstCumuMoment := 0;
zerothCumuMoment := 0;
area := imgbin.Height * imgbin.Width;
for k:= 0 to level-1 do TotalMean := TotalMean + (k * histogram[k] / area);
for k:= 0 to level-1 do
begin
zerothCumuMoment := zerothCumuMoment + histogram[k] / area;
firstCumuMoment := firstCumuMoment + (k * histogram[k] / area);
variance := totalMean * zerothCumuMoment - firstCumuMoment;
variance := variance * variance;
if ((zerothCumuMoment <> 0) and (zerothCumuMoment <> 1)) then
begin
variance := variance /(zerothCumuMoment * (1 - zerothCumuMoment));
if (maxVariance < variance) then
begin
maxVariance := variance;
threshold := k;
end;
end;
end;
for i:=0 to imgbin.Height-1 do
begin
P:= imgbin.ScanLine[i];
Q:= imggray.ScanLine[i];
for j:=0 to imgbin.Width-1 do
if Q[j] > threshold then
P[j] := 255
else
P[j] := 0;
end;
imgbiner.Picture.Bitmap:= imgbin;
imgbin.SaveToFile('biner.bmp') ;
end;
Untuk pengambilan gambarnya telah dijelaskan dalam aritkel sebelumnya yaitu melalui webcam.
Label
- BUKU (3)
- Ebook Gratis (1)
- Jurnal (5)
- musik (3)
- Pengolahan Citra Digital (5)
- software gratis (1)
- Teknologi (1)
- Tutorial Delphi (6)
- Umum (2)
Recent Post
About Me
Tag
Tutorial Delphi
(6)
Jurnal
(5)
Pengolahan Citra Digital
(5)
BUKU
(3)
musik
(3)
Umum
(2)
Ebook Gratis
(1)
Teknologi
(1)
software gratis
(1)
Online
ilhamgn. Powered by Blogger.
Listing Program Mengubah Citra Grayscale Menjadi Citra Biner Delphi
Friday, 3 December 2010Diposkan oleh Lumbung Movies di 13:31
Label: Tutorial Delphi
Subscribe to:
Post Comments (Atom)
4 komentar:
:e:
:aB
:a8
ada ngak source code atw program delphi untuk convert image to biner (1001)...?
d mohon bantuannya
Post a Comment