[ask]Delphi Translator

Forum diskusi pemrograman desktop lain.

[ask]Delphi Translator

Postby aan87 » 30 Apr 2011, 11:41

Bos, ada gak ya tool buat translate delphi code ke vb6.
Atau barangkali ada yg bisa bantu translate, ini codenya, pas googling nemu ini

Code: Select all
procedure TEnrollForm.Threshold(Image:TBitmap);
const level=255;
var
  histogram: array[0..255] of integer;
  PH: PByteArray;
  TotalMean, Variance, maxVariance, zerothCumuMoment, firstCumuMoment : real;
  i,j,k: integer;
  p: PByteArray;
  threshold:byte;
  area: Word;

begin
      for i:=0 to level do
      begin
        histogram[i]:=0;
      end;
      for i:=0 to Image.Height-1 do
      begin
        PH:=Image.ScanLine[i];
          for j:= 0 to Image.Width-1 do
            begin
             inc(histogram[PH[3*j]]);
            end;
      end;


      threshold:=0;
      totalMean := 0;
      maxVariance := 0;
      firstCumuMoment := 0;
      zerothCumuMoment := 0;
      area := Image.Height * Image.Width;

      for k:= 0 to level do
        TotalMean := TotalMean + (k * histogram[k] / area);

      for k:= 0 to level 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 Image.Height-1 do begin
        p:= Image.ScanLine[i];
        for j:=0 to Image.Width-1 do begin
            for k:=0 to 2 do
              if (p[3*j])and (p[3*j+1]) and (p[3*j+2])>threshold then
                p[3*j+k]:= 255
              else
                p[3*j+k]:= 0;
        end;
     end;
     ImgThres.Picture.Bitmap:=Image;
end;
Sampai Kapan Hak-Hak Rakyat terus Ditelanjangi oleh Mereka2 yang Sakit Jiwa
User avatar
aan87
Prajurit Kepala
Prajurit Kepala
 
Posts: 340
Joined: 29 Apr 2010, 15:11
Location: Gresik
Memberi kopi: 13 cangkir
Mendapat kopi: 13 cangkir

Re: [ask]Delphi Translator

Postby novaedp » 30 Apr 2011, 15:37

klo translate lgsung agak susah,
misal tipe data PByteArray ini adalah tipe data pointer
deklarasi di delphinya sprti ini :

Code: Select all
TByteArray: Array[0..2] of Byte;
PByteArray: ^TByteArray;


skr apakah di vb6 ada tipe data pointer?

klo yg laen seh gampang, misal :
Code: Select all
for i:=0 to level do
      begin
        histogram[i]:=0;
      end;


kalo di trans ke vb6:

Code: Select all
for i=0 to level
     histogram(i)=0
next


:) :) :)
just wanna code something and share it.
novaedp
Prajurit Kepala
Prajurit Kepala
 
Posts: 468
Joined: 26 Mar 2010, 18:56
Memberi kopi: 8 cangkir
Mendapat kopi: 58 cangkir

Re: [ask]Delphi Translator

Postby aan87 » 02 May 2011, 09:38

tengkyu infonya bos.

Code delpi di atas itu untuk thresholding image pake Otsu method.
Googling yg pake vb6 gak nemu2, mau buat sendiri codenya tapi baca teori metodenya aja gak paham2 :D
Sampai Kapan Hak-Hak Rakyat terus Ditelanjangi oleh Mereka2 yang Sakit Jiwa
User avatar
aan87
Prajurit Kepala
Prajurit Kepala
 
Posts: 340
Joined: 29 Apr 2010, 15:11
Location: Gresik
Memberi kopi: 13 cangkir
Mendapat kopi: 13 cangkir


Return to Other Desktop Development

Who is online

Users browsing this forum: No registered users and 1 guest