Einzelnen Beitrag anzeigen

Ilmug3

Registriert seit: 19. Apr 2015
7 Beiträge
 
#7

AW: Videoanalyse (ähnlich wie Lichtschranke)

  Alt 19. Dez 2015, 23:29
Danke für den Hinweis.
Erste Versuche habe ich jetzt schon gemacht.
Bildvergleich mit Scanline gibt gute Ergebnisse. Danke für den Tipp.
Meine Überlegung war weiterhin, einen kleinen Ausschnitt (30*30 Pixel) vom Desktop in die Anwendung zu kopieren
und dort mit dem hinterlegten Bild des Ausschnitts ohne Auto zu vergleichen.

Ich habe mich aus Faulheit für den Desktop entschieden. Dann muss ich mich nicht mit irgend welchen Videosstreams in Delphi rumschlagen,
sondern lasse den Stream im Browser anzeigen und kopiere es von dort in die Delphianwendung. Verschieben, darf man dann das Browserfenster natürlich nicht mehr.

Bedient habe ich mich bei diesen Codezeilen
_______________________________________
function GetScreenShot: TBitmap;
var
Desktop: HDC;
begin
Result := TBitmap.Create;
Desktop := GetDC(0);
try
try
Result.PixelFormat := pf32bit;
Result.Width := Screen.Width;
Result.Height := Screen.Height;
BitBlt(Result.Canvas.Handle, 0, 0, Result.Width, Result.Height, Desktop, 0, 0, SRCCOPY);
Result.Modified := True;
finally
ReleaseDC(0, Desktop);
end;
except
Result.Free;
Result := nil;
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Picture.Bitmap := GetScreenShot;
end;
_______________________________

Leider scheint die Prozedur denn Speicher nicht ordentlich aufzuräumen,
denn nach einigen Sekunden (Scannrate 100ms) gehen mir die Ressourcen aus.
Die Probleme tauchen immer dort auf, wo man sie nicht vermutet
Ich muss vielleicht noch etwas mit FreeAndNil arbeiten.
Das werde ich morgen testen.
  Mit Zitat antworten Zitat