www.pudn.com > PlateDSP.rar > main.pas
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, PlateDSP_TLB, ExtCtrls, StdCtrls,
Defs;
type
TForm1 = class(TForm)
PlateDSPX1: TPlateDSPX;
ImageCar: TImage;
LabelNumber: TLabel;
LabelColor: TLabel;
Button1: TButton;
ImagePlate: TImage;
Button2: TButton;
procedure FormShow(Sender: TObject);
procedure PlateDSPX1Recoged(Sender: TObject; PlateNum: Integer);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
OnOff: Integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormShow(Sender: TObject);
var
Tmp: Integer;
begin
OnOff := 0;
{
// hide tool buttons
Tmp := 0;
PlateDSPX1.PortControl(SET_VALUE_NOSAVE or VAL_TOOL_BUTTONS, Tmp);
// hide statusbar
Tmp := 0;
PlateDSPX1.PortControl(SET_VALUE_NOSAVE or VAL_STATUS_BAR, Tmp);
}
{ connect #1 video capture card }
PlateDSPX1.VideoConnect(0);
end;
procedure TForm1.PlateDSPX1Recoged(Sender: TObject; PlateNum: Integer);
var
TempStream : TMemoryStream;
pMemImage : PInteger;
MemImageSize: Integer;
begin
try
//check recog result
if( PlateNum > 0 ) then
begin
//list
//display car-image
TempStream := TMemoryStream.Create;
pMemImage := PInteger(PlateDSPX1.BuildMemoryImage( 0, MemImageSize ));
if( pMemImage <> nil ) then
begin
TempStream.Write( pMemImage^, MemImageSize );
TempStream.Position := 0;
ImageCar.Picture.Bitmap.LoadFromStream( TempStream );
end;
TempStream.SetSize(0);
//display plate-image
pMemImage := PInteger(PlateDSPX1.BuildMemoryImage( $10000, MemImageSize ));
if( pMemImage <> nil ) then
begin
TempStream.Write( pMemImage^, MemImageSize );
TempStream.Position := 0;
ImagePlate.Picture.Bitmap.LoadFromStream( TempStream );
end;
TempStream.Free;
//get recognition result
LabelNumber.Caption := PlateDSPX1.GetPlateNumber(0);
LabelColor.Caption := 'ÑÕÉ«:' + IntToStr(PlateDSPX1.GetPlateColor(0));
end;
except
;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Tmp :Integer;
begin
{ hide tool buttons }
Tmp := OnOff; // 0 = disable, 1 = enable
PlateDSPX1.PortControl(SET_VALUE_NOSAVE or VAL_TOOL_BUTTONS, Tmp);
{ hide statusbar }
Tmp := OnOff; // 0 = disable, 1 = enable
PlateDSPX1.PortControl(SET_VALUE_NOSAVE or VAL_STATUS_BAR, Tmp);
if OnOff > 0 then
OnOff := 0
else
OnOff := 1;
{ connect #1 video capture card }
PlateDSPX1.VideoConnect(0);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
//capture bmp and recog continue
PlateDSPX1.CaptureBmp(-1);
//stop
//PlateDSPX1.CaptureBmp(0);
end;
end.