AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

WebCam-Bild in Array

Offene Frage von "Freiberger"
Ein Thema von Freiberger · begonnen am 15. Okt 2005 · letzter Beitrag vom 12. Nov 2005
Antwort Antwort
Freiberger

Registriert seit: 15. Okt 2005
Ort: Schkeuditz
5 Beiträge
 
#1

WebCam-Bild in Array

  Alt 15. Okt 2005, 15:43
Hy,

ich habe mir einen Roboter gebaut, den ich über WEBCAMs steuern will.

Ich will über nen Timer alle X Sekunden das Bild aus ner Webcam in ein Array laden,
damit ich es bearbeiten kann. (z.B. Randerkennung, Objekterkennung usw.)

Ich habe einen Code gefunden, wo ich das Live-Bild auf nem Panel anzeigen kann, aber das
bringt mich leider nicht weiter...

Kann mir jemand helfen ?
Habe schon viele Foren durchsucht, aber nix richtiges gefunden.
99% der Fehler sitzen vor dem Computer...!
  Mit Zitat antworten Zitat
Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: WebCam-Bild in Array

  Alt 15. Okt 2005, 15:54
was für nen array haste denn?


Du kannst es ja einfach auf ein Panel zeichnen und es von dem Panel runterkopieren mit GETDC

Delphi-Quellcode:
var can : TCanvas;
    bitmap : array of TBitmap;
    index : integer;
..
Begin
... //Bild auf Panel

can := TCanvas.create;

can.Handle := GetDC(Panel1.Handle);

setlength(bitmap, high(bitmap)+1);

index := high(bitmap)-1;

bitmap[index] := TBitmap.create;

bitmap[index].pixelformat := pf32bit;

bitmap[index].Width := //beite;

bitmap[index].Height := //höhe;

bitmap[index].Canvas.CopyRect( Rect( 0 ,0, bitmap[index].Width, bitmap[index].Height), can , Rect(0, 0, Panel1.Width, Panel1.Height));

can.free;

end;

Ist ungetestet aber ich denke das sollte gehen!
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#3

Re: WebCam-Bild in Array

  Alt 15. Okt 2005, 16:01
Zitat von Eichhoernchen:
Du kannst es ja einfach auf ein Panel zeichnen und es von dem Panel runterkopieren mit GETDC
Wenn er allerdings ein anderes Fenster teilweise über das Panel legt, hat er diesen Fensterausschnitt mit im Bild.

Ich würde eher Code von hier verwenden
Julian J. Pracht
  Mit Zitat antworten Zitat
Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: WebCam-Bild in Array

  Alt 15. Okt 2005, 16:15
das ist natürlich schöner!

Wusste nicht davon!
Jan
  Mit Zitat antworten Zitat
Freiberger

Registriert seit: 15. Okt 2005
Ort: Schkeuditz
5 Beiträge
 
#5

Re: WebCam-Bild in Array

  Alt 15. Okt 2005, 16:51
Danke, ich versuche es mal.
Aber ich brauche eigentlich das Panel mir dem Originalbild nicht.

Ich will ja das berechnete Bild (Kantenerkennung...) auf dem ganzen Bildschirm anzeigen.

Kann ich denn die Daten nicht direkt aus der CAM laden ?
Es ist doch bestimmt sehr zeitintensiv, wenn ich das Bild in nem Panel anzeige, dann kopiere, bearbeite und wieder anzeige...


Ich will ja sofort wenn die Berechnung fertig ist, mein neues Bild anzeigen
und dann die Berechnung mit nem neuen Bild starten.
99% der Fehler sitzen vor dem Computer...!
  Mit Zitat antworten Zitat
loetmann

Registriert seit: 22. Dez 2003
Ort: Rostock
33 Beiträge
 
Delphi 3 Standard
 
#6

Re: WebCam-Bild in Array

  Alt 12. Nov 2005, 19:23
Hallo,

Zitat von Freiberger:
Kann ich denn die Daten nicht direkt aus der CAM laden ?
ja, guck mal nach capSetCallbackOnFrame (WM_CAP_SET_CALLBACK_FRAME) bei msn. ich habe lange danach gesucht und so halbwegs funktioniert das ganze auch. Andere Grabfunktionen gehen z.B. über die Zwischenablage was aber nicht so elegant ist wenn mal ein anderes Programm die zwischenablage überschreibt (CapClipboard[capGrabFrame/capEditCopy]/WM_CAP_GRAB_FRAME).

Für Robotik gibt es ein Forum (www.roboternetz.de) wo man über eine "CMUcam2" spricht die einige Algorythmen integriert hat und auch auslebar ist.

Ein Gruß
LM
  Mit Zitat antworten Zitat
Phantom1

Registriert seit: 20. Jun 2003
282 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: WebCam-Bild in Array

  Alt 12. Nov 2005, 20:47
Zitat von loetmann:
ja, guck mal nach capSetCallbackOnFrame (WM_CAP_SET_CALLBACK_FRAME) bei msn. ich habe lange danach gesucht und so halbwegs funktioniert das ganze auch.
Ein Code der WM_CAP_SET_CALLBACK_FRAME benutzt habe ich ihm schon vor einiger Zeit geschickt per PN. Ich kann den Code ja mal hier anhängen.

Achja: Man muss dafür die Graphics32 komponenten installiert haben!
Angehängte Dateien
Dateityp: zip cam_192.zip (231,8 KB, 27x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz