Sintak Dari Pembacaan Plat Nomor Kendaraan

download Sintak Dari Pembacaan Plat Nomor Kendaraan

If you can't read please download the document

Transcript of Sintak Dari Pembacaan Plat Nomor Kendaraan

Sintak dari Pembacaan Plat Nomor Kendaraan unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ExtDlgs, TeeProcs, TeEngine, Chart, Series;type TForm1 = class(TForm) Button1: TButton; PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; TabSheet3: TTabSheet; TabSheet4: TTabSheet; TabSheet5: TTabSheet; TabSheet6: TTabSheet; TabSheet7: TTabSheet; IOriginal: TImage; IMerah: TImage; IHijau: TImage; IBiru: TImage; IGC1: TImage; IGC2: TImage; IGC3: TImage; tgyuguhju: TTabSheet; IGC: TImage;OpenPictureDialog1: TOpenPictureDialog; Chart1: TChart; Series1: TLineSeries; Chart2: TChart; Chart3: TChart; Series2: TLineSeries; Series3: TLineSeries; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; IHasil: TImage; Label6: TLabel; procedure Button1Click(Sender: TObject); procedure IGC3MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure IGC1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure IGC2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure IOriginalMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end;typeTRGB32 = packed record B,G,R,A: Byte; end;TRGB32Array = packed array[0..MaxInt div SizeOf(TRGB32)-1] of TRGB32; PRGB32Array = ^TRGB32Array;var Form1: TForm1;implementationuses Types;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); var y,x,panjang,lebar : Integer; LineGC31,LineGC32,LineGC33,LineGC34,LineGC35,LineGC36,LineGC37,LineGC38,LineGC 39,LineGC310,LineGC311,LineGC312,LineGC313, LineOriginal,LineMerah,LineBiru,LineHijau,LineGC1,LineGC2,LineGC3,LineIGC: PRG B32Array; jumlahGC1,jumlahGC2,jumlahGC3,K,n:integer; hajarhitamGC3,hajarputihGC3,lebarhitam,itungan,jumlahGC3sebelumnya:integer; ilang,bener:boolean; rerataX:real; kotak:TRect; HasilBMP:TBitmap; begin if (OpenPictureDialog1.Execute)thenbegin //membuat Image dengan format 32 bit IOriginal.Picture.LoadFromFile(OpenPictureDialog1.FileName); OpenPictureDialog1.Filter:='BMP files (*.bmp)|*.BMP|';// mendefinisikan file khusus berjenis .BMPIOriginal.Picture.Bitmap.PixelFormat := pf32bit; IMerah.Picture.Bitmap.PixelFormat IBiru.Picture.Bitmap.PixelFormat IHijau.Picture.Bitmap.PixelFormat IGC1.Picture.Bitmap.PixelFormat IGC2.Picture.Bitmap.PixelFormat IGC3.Picture.Bitmap.PixelFormat IGC.Picture.Bitmap.PixelFormat := pf32bit; := pf32bit; := pf32bit; := pf32bit; := pf32bit; := pf32bit; := pf32bit;//mendefinisikan gambar panjang dan lebar yang di analisa panjang lebar := IOriginal.Width; := IOriginal.Height;//mengisi image yang original ke Imerah sampai IGC IMerah.Picture.Assign(IOriginal.Picture); IHijau.Picture.Assign(IOriginal.Picture); IBiru.Picture.Assign(IOriginal.Picture); IGC1.Picture.Assign(IOriginal.Picture); IGC2.Picture.Assign(IOriginal.Picture); IGC3.Picture.Assign(IOriginal.Picture); IGC.Picture.Assign(IOriginal.Picture); //membersihkan semua kondisi clear Series1.Clear; Series2.Clear; Series3.Clear; //menganalisa for y := 0 to lebar - 1 do //menganalisa looping dari Y =0 - Y = lebar -1 begin LineOriginal := IOriginal.Picture.Bitmap.ScanLine[y];//mengambil ga mbar Iorigigal pada Y LineMerah LineBiru LineHijau := IMerah.Picture.Bitmap.ScanLine[y]; := IBiru.Picture.Bitmap.ScanLine[y]; := IHijau.Picture.Bitmap.ScanLine[y];LineGC1 LineGC2 LineGC3 LineIGC:= IGC1.Picture.Bitmap.ScanLine[y]; := IGC2.Picture.Bitmap.ScanLine[y]; := IGC3.Picture.Bitmap.ScanLine[y]; := IGC.Picture.Bitmap.ScanLine[y];//berapa banyak jumlah warna hitam pada jumlahGC1,jumlahGC2,jumlahGC 3 dimulai dari 0 jumlahGC1:=0; jumlahGC2:=0; jumlahGC3:=0;//untuk mehilangkan noise hitam dan putih hajarhitamGC3:=0; hajarputihGC3:=0; ilang:=False; //Menganalisa nilai X dari 0 sampai panjang 1 pixel for x := 0 to panjang -1 do begin LineMerah[x].R:=LineOriginal[x].R;//membuat gambar original memjadi warna merah LineMerah[x].G:=0; LineMerah[x].B:=0;LineHijau[x].R:=0; LineHijau[x].G:=LineOriginal[x].G;//membuat gambar original memjadiwarna Hijau LineHijau[x].B:=0;LineBiru[x].R:=0; LineBiru[x].G:=0; LineBiru[x].B:=LineOriginal[x].B;//membuat gambar original memjadi w arna Biru // if (LineOriginal[x].R