AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Belichtungszeit bei Webcams einstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Belichtungszeit bei Webcams einstellen

Ein Thema von skyobserver · begonnen am 19. Apr 2008 · letzter Beitrag vom 10. Mai 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von skyobserver
skyobserver

Registriert seit: 18. Mai 2005
Ort: Ense
114 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Belichtungszeit bei Webcams einstellen

  Alt 19. Apr 2008, 20:04
Hallo zusammen,

nach langem Studium der MSDN bezüglich DirectShow bin
ich mittlerweile in der Lage eine Webcam auszuwählen,
die verfügbaren Auflösungen abzufragen und einzustellen
sowie die Framerate des Videostreams festzulegen.


Nun stehe ich vor dem Problem der Belichtungszeit:

Für diese Einstellung ist das Interface ICameraControl zuständig.
Leider kann ich das Interface, das Filter oder die Struktur nicht
finden welche mir das Interface per QueryInterface zurückgibt.

In der MSDN heißt es, man muß dazu zuerst das IKsTopologyInfo Interface
finden welches aber in meinen DirectX Header-Dateien (Clootie DX92)
nicht deklariert ist...(also kann ich danach nicht suchen)


Wie komme ich an das ICameraControl Interface heran?


PS: schonmal danke fürs Interesse...
Die größte Enttäuschung für einen Perfektionisten ist die Realität
  Mit Zitat antworten Zitat
Benutzerbild von skyobserver
skyobserver

Registriert seit: 18. Mai 2005
Ort: Ense
114 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

Re: Belichtungszeit bei Webcams einstellen

  Alt 30. Apr 2008, 19:24
...inzwischen habe ich herausgefunden, daß ich das
Interface "IAMCameraControl" verwenden muß um die
Webcam-Funktionen wie Belichtungszeit zu kontrollieren.
Leider kann ich das Interface mit
CaptureGraphBuilder.FindInterface(...) nicht finden.
Gleiches gilt für das Interface "IAMVfwCaptureDialogs" mit
dem man wenigstens die VfW Einstellungs-Dialoge des Treibers
abfragen bzw. aufrufen kann.

Ich verwende eine "Philips ToUCam Pro" deren Treiber eigentlich (?)
beide Schnittstellen unterstützen sollte...



Keiner eine Idee? Ich kann unmöglich der Einzige sein der so etwas je probiert hat!?!


Bin dankbar für jeden kleinen Hinweis...
Die größte Enttäuschung für einen Perfektionisten ist die Realität
  Mit Zitat antworten Zitat
TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Belichtungszeit bei Webcams einstellen

  Alt 30. Apr 2008, 19:33
Schon mal von dem das DX10-SDK verwendet? hier kannst Du es laden.
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#4

Re: Belichtungszeit bei Webcams einstellen

  Alt 30. Apr 2008, 19:37
Zitat von TurboMartin:
Schon mal von dem das DX10-SDK verwendet? hier kannst Du es laden.
Jau, ich würde auch einen russischen Server vor dem nVidia-Server vorziehen...

Edit: ups, den link vergessen
  Mit Zitat antworten Zitat
Benutzerbild von skyobserver
skyobserver

Registriert seit: 18. Mai 2005
Ort: Ense
114 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

Re: Belichtungszeit bei Webcams einstellen

  Alt 30. Apr 2008, 20:08
@TurboMartin: Ich verwende WindowsXP und kann daher kein DirectX10 nutzen!
Es sollte auch auf jeden Fall auch mit DirectX9c gehen. Das geplante Programm
ist für Hobby-Astronomen gedacht und die haben nach einem teuren Teleskop meist
kein Geld mehr für ein Vista-fähiges Notebook (meistens noch Win98).

@s-off: Es geht hier nicht um das DirectX10 Entwickler-Paket das im Original
von Microsoft zum Download angeboten wird, sondern um die Header-Dateien mit
denen man DirectX auch von Delphi aus nutzen kann (weil Microsoft irgendwie
die Unterstützung für Delphi vergessen hat ).
Clootie ist allen DirectX-Delphi-Entwicklern bekannt und der einzige der sich
die Mühe macht Delphi-Units zur Nutzung der DirectX-Dlls zu schreiben (und das umsonst!).
Die Adresse ist auf jeden Fall Vertrauenswürdig...
Die größte Enttäuschung für einen Perfektionisten ist die Realität
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#6

Re: Belichtungszeit bei Webcams einstellen

  Alt 30. Apr 2008, 22:21
Zitat von skyobserver:
@s-off: Es geht hier nicht um das DirectX10 Entwickler-Paket das im Original
von Microsoft zum Download angeboten wird, sondern um die Header-Dateien mit
denen man DirectX auch von Delphi aus nutzen kann (weil Microsoft irgendwie
die Unterstützung für Delphi vergessen hat ).
Clootie ist allen DirectX-Delphi-Entwicklern bekannt und der einzige der sich
die Mühe macht Delphi-Units zur Nutzung der DirectX-Dlls zu schreiben (und das umsonst!).
Die Adresse ist auf jeden Fall Vertrauenswürdig...
Na dann mal eine dicke Entschuldigung richtung TurboMartin - SORRY.

Man lernt halt nie aus

Dass ich mich mit Entwicklung unter DirectX noch nie auseinander gesetzt habe, muss ich wohl nicht mehr betonen.
  Mit Zitat antworten Zitat
Benutzerbild von skyobserver
skyobserver

Registriert seit: 18. Mai 2005
Ort: Ense
114 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

Re: Belichtungszeit bei Webcams einstellen

  Alt 3. Mai 2008, 01:45
Da ich nicht aufgeben will ( ) habe ich noch weitere Tests durchgeführt:
Wenn ich den CaptureDeviceFilter nach den Interfaces "IAMCameraControl" oder
"IAMVfwCaptureDialogs" frage bekomme ich als Rückgabewert immer den HResult
"Schnittstelle nicht unterstützt".
Der CaptureDeviceFilter sollte doch eigentlich das richtige Filter für diese Nachfrage sein?
Andererseits liefert "CaptureGraphBuilder.FindInterface" das gleiche Ergebnis und
hier werden alle Filter des CaptureGraph durchsucht...

Ich habe schon daran gedacht, daß das Gerät/Treiber diese Schnittstellen vielleicht
nicht unterstützt, habe aber andere Programme gefunden, welche offensichtlich die
Funktionen der Interfaces nutzen (z.B. WcCtrl, MS GraphEdit!).


Wo könnte man noch Informationen herbekommen?
Die größte Enttäuschung für einen Perfektionisten ist die Realität
  Mit Zitat antworten Zitat
grizzly

Registriert seit: 10. Dez 2004
150 Beiträge
 
Delphi XE4 Professional
 
#8

Re: Belichtungszeit bei Webcams einstellen

  Alt 3. Mai 2008, 09:00
Nein, der einzige, der das versucht hast, bist Du nicht
Leider läuft aber das meiste hier in Zusammenhang mit WebCams etc. über die VfW Schnittstelle.

Habe vor längerer Zeit selbst mal kurz in Richtung DirectX was versucht (WebCam mit DirectShow), aber richtig funktioniert hat es noch nicht (Gelegentlich gibt es eine Exception, weil ich beim Anhalten des Videos noch nicht richtig aufräume).

Habe aber in diesem Code gerade eben mal den Aufruf für die VfWCaptureDialogs eingebaut, und bei mir erscheint dann ein Kamera-Dialog. Ich häng das Ding mal hier als ZIP an, aber wie gesagt, das ist nur ein schneller (und gelegentlich mit künstlerischen Freiheiten versehener) Übertrag eines Microsoft-Demo Programmes nach Delphi. Hab' leider noch nicht die Zeit zum Aufräumen gefunden. Die benötigten DirectX Dateien sind nicht mit im Archiv! Ich weiß gar nicht, ob ich die überhaupt beilegen dürfte. Aber die hast Du ja selber.

Dein Endresultat würde mich allerdings interessieren. Dieses Jahr gab es für meine Tochter nämlich ein Teleskop zu Weihnachten (nichts gigantisches, aber für die Saturnringe reichts), und da wären Deine Erfahrungen mit dem Aufzeichnen von Bildern mittels einer WebCam (o.ä.) ganz interessant.

Gruß
Michael
Angehängte Dateien
Dateityp: zip vsampledemo101_477.zip (21,5 KB, 24x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von skyobserver
skyobserver

Registriert seit: 18. Mai 2005
Ort: Ense
114 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#9

Re: Belichtungszeit bei Webcams einstellen

  Alt 3. Mai 2008, 23:26
Schön, daß ich nicht der Einzige bin...

...da sind ein paar recht interessante Stellen im Code, welche ich mir
gleich einmal genauer ansehen werde. Ich bin im Moment an der Vorarbeit
zu einem größeren Projekt. Ich brauche einen möglichst kompletten Zugang
zu allen Einstellungen von USB-Kameras (am besten vom Code selbst aus
ohne Benutzerdialoge).
Der erste Schritt wird eine Delphi Komponente werden, mit der man ohne
irgendwelche Kenntnisse von DirectShow/VfW Kameras auswählen, Auflösung
und Bildrate einstellen und alle Bilder in Form von einzelnen Bitmaps
abfangen kann um sie zu speichern oder sie vor der Anzeige auf einem
eigenen VideoScreen zu manipulieren.
Das Ganze ist bis auf die Belichtungszeit und Bildeinstellungen fertig.
Leider ist gerade die Belichtungszeit besonders wichtig (war ja klar das
dies am meisten Schwierigkeiten bereiten würde...).

Offtopic:
Das Hauptprojekt wird eine Komplette Software für die Videoastronomie;
angefangen beim Aufsuchen über Scharfstellen, erstellen von Korrekturbildern,
Bildaufnahme bis hin zur anschließenden Nachbearbeitung. Es gibt zwar einige
solcher Programme und jedes davon hat einzigartige wichtige Features.
Leider sucht man vergeblich eine Software mit allen wichtigen Funktionen.

Was man damit anstellen kann, kann sich der interessierte hier ansehen:
Far Out - Astronomie-Homepage von Sven Wienstein
Die größte Enttäuschung für einen Perfektionisten ist die Realität
  Mit Zitat antworten Zitat
grizzly

Registriert seit: 10. Dez 2004
150 Beiträge
 
Delphi XE4 Professional
 
#10

Re: Belichtungszeit bei Webcams einstellen

  Alt 4. Mai 2008, 09:03
Interessante Seite! Hatte auch schon überlegt, eine Web-Cam an das Teleskop zu basteln - auf die Idee mit den leeren Filmdosen als Adapter bin ich nicht gekommen. ([OT] Momentan ist das Teil aber noch ohne Motor-Nachführung. Keine Ahnung, ob der kurze Durchgang der Himmels-Objekte reicht, um vernünftig Bilder aufzuaddieren [/OT]).

Wie schon erwähnt, der Source-Code ist im Wesentlichen ein Übertrag eines C++ Demo-Programmes von Microsoft nach Delphi. Im Großen und Ganzen funktionierts, aber es klemmt auch noch gelegentlich. Vor allem mußte ich mir abgewöhnen alle Interfaces wie im C++ Code mittels Zuweisung mit nil freizugeben. Delphi mag das nicht...

BTW, eine Sache konnte ich noch nicht lösen, und das war für Dich scheinbar die einfachere Übung: Auflösungen und Frame-Rate abfragen und einstellen. Mir bleibt immer nur der Aufruf des Dialoges, und der User muß alles selber einstellen. Hast Du da ein paar Stichwörter für mich?

Gruß
Michael
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 06:23 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