PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ Kamerabilder einlesen



surfer
04.02.2005, 10:12
So... ich wage mich ein Stück weiter....

Um eine mit uC gesteuerte Kamera (Schrittmotoren...) auszulesen, benutzte ich bis jetzt ein Fremdprogramm um die Bilder anzusehen. Mit einem C++ Programm, welches ich mit Borland geschrieben habe, kann ich die Schrittmotoren steuern. Nun würde ich gerne in mein Programm ein kleines Feld einfügen, dass mir das Videobild anzeigt. Dass es möglich ist, denke ich schon... Fragt sich nur wie?

Hat jemand ein gutes Tutorial oder Link? Merci

NumberFive
05.02.2005, 10:43
kannst du delphi lesen ?

hast du ein Video karte drin ?

surfer
05.02.2005, 12:50
Tut mir leid... weiss nicht im geringsten, wie DELPHI programmiert wird.

Aber du könntest mir vielleicht erklären, welche Schritte du gemacht hast, um dieses Bild zu bekommen. So kann ich es dann in C versuchen...

Merci auf jedenfall mal für das Testprogramm...

NumberFive
06.02.2005, 10:47
Das ist doch ganz einfach du hast den Delphi code.

da gibt einen Declare für funktionen in einer dll. das muß du nur in den c code übersetzten ich nehme an das auch mit load libary geht und funktions declaration dann muß du nur den funktionspointer auf den ein sprungs punkt in der dll setzen.

mit ms c++ währe das einfachen da gibt es header datein dafür un lib leider weiß ich nicht ob die sich auch mit deinem c vertragen.

SendMessage = Windows Standart befehl

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capcreatecapturewindow.asp

hier findest du die beschreibung zu den funktionen in der dll.

das einzige problem ist halt das du erstmal an die funktione dran kommen mußt. also header und lib oder slebst schreiben mit loadlibary
den befehl muß es auch bei dir geben.

surfer
09.02.2005, 10:16
Der msdn - Link hat mir weitergeholfen... Danke vielmals!

NumberFive
09.02.2005, 10:24
tut es den jetzt ?

gruß

surfer
09.02.2005, 10:55
Ja... hab nur noch keine Videoquelle da zum Testen... aber es kommt wie bei deinem Beispielprogramm ein Schwarzes "default"-Bild. Muss mal ne Webcam oder sowas dranhängen. Stimmt es, dass dieses "nID" das Gerät auswählt? Also zuerst im Gerätemanager schauen, welche Pfadnummer es hat und dann dort eintragen, oder wie kann man das gewünschte Gerät auswählen, wenn man z.B. mehrere Webcams angesteckt hat?

NumberFive
09.02.2005, 11:15
capGetDriverDescription damit solltest du die Video Quelle abfragen können und so wissen was was ist.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_enumerating_installed_capture_drivers.asp

aber wenn du wirklich mehr als eine abfragen willst ist für mich die frage ob es nicht besser ist wenn du auf DirectX gehst ist zwar komplexer aber in meinen augen resourcen schonender. ob wohl ich ehrlich gesagt noch keinen test gemacht. was schneller ist habe zur zeit auch nur ein cam.

so das ich es nicht aus probieren kann.

aber ich denk du brauchst jetzt erstmal ne quelle sonst macht das testen keinen sin.

Gruß

surfer
09.02.2005, 11:38
Eine Kamera reicht bei mir auch... ich meinte nur mit den verschiedenen Kameras, dass man nicht das falsche Bild erwischt... Danke für den Link!