mikrocontroller.net

Forum: PC-Programmierung Kamera unter Windows 2000 über USB auslösen


Autor: Guido C. (guidoanalog)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

zur Überwachung einer Langzeitmessung möchte ich unter Windows 2000 zu 
festgelegten Zeiten (ca. alle 20 Minuten) ein Photo von dem Messaufbau 
bzw. dem Prüfling machen. Gibt es eine einfache Möglichkeit wie ich 
entweder meine Canon PowerShot A70 oder meine Nikon Coolpix L16 über die 
USB-Verbindung auslösen kann? Die Bilder können auf der Kamera 
verbleiben. Mir würde es genügen, wenn ich die Kamera auslösen könnte. 
Ideal wäre hierfür ein Skript oder ein Komanndozeilenprogramm. Unter 
Windows XP lässt sich dies mit dem folgenden Skript und dem Windows 
Image Acquisition Automation Library v2.0 Tool verhältnismäßig einfach 
lösen.

<job>
<reference object="WIA.DeviceManager" />
<object id="DeviceManager1" progid="WIA.DeviceManager" />
<object id="CommonDialog1" progid="WIA.CommonDialog" />
<script language="VBScript">

Dim dev 'As Device

Set dev = CommonDialog1.ShowSelectDevice

If dev.Type = CameraDeviceType Then
    Dim itm 'As Item

    Set itm = dev.ExecuteCommand(wiaCommandTakePicture)
End If

</script>
</job>

Kennt jemand ein ähnliches Skript, das unter W2k funktioniert? Das 
Skript bzw. das Programm soll von Matlab aus aufgerufen werden. 
Mechanisches auslösen über einen Servo oder dergleichen wäre zwar 
möglich mir wäre jedoch eine Softwarelösung lieber.

Mit freundlichen Grüßen
Guido

Autor: rse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wäre es nicht die einfachste Lösung, den Windows Scripting Host 
nachträglich auf dem W2K-PC zu installieren?

Autor: Guido C. (guidoanalog)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der Windows Scripting Host ist nicht das Problem ;-) Das Problem liegt 
eher darin, dass das o. g. Skript die Kamera über die Windows Image 
Acquisition (WIA) Bildverarbeitungschnittstelle anspricht. Unter Windows 
2000 muss ich die Kamera jedoch über die TWAIN-Schnittstelle ansprechen 
oder ist mir hier etwas entgangen?

Mit freundlichen Grüßen
Guido

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuch doch mal ob das unter W2k läuft:
http://sourceforge.net/projects/nikoncapture/

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich mich recht entsinne, gibts es (oder gab es?) für die Canon 
Kameras ein API, um die aus eigenen Programmen heraus anzusprechen. 
Vielleicht läuft das auf W2k?

Autor: Guido C. (guidoanalog)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

leider komme ich erst heute dazu mich zu melden.

@ hp-freund
Das von Dir vorgeschlagene Programm "Nikon Capture Free" konnte ich 
leider nicht testen, da meine Nikon Coolpix L16 von W2k nicht erkannt 
wird. Es gibt zwar einen W2k-Treiber für dieses Modell, doch 
seltsamerweise funktioniert dieser Treiber nicht mit meiner Kamera. Die 
USB Product ID meiner Kamera ist nicht in der PID-Liste der INF-Datei 
des Treibers aufgeführt. Anpassen der INF-Datei brachte leider keinen 
Erfolg. Irgendwie scheint meine Firmware/Kamera nicht mit W2k 
kompatibel.

@ Christian R.
Ich habe mir das Canon Digital Camera SDK 7.3 von Canon heruntergeladen. 
Soll die Kamera wie bei mir immer mit den gleichen Einstellungen (Blitz 
ein, Autofokus ein, …) ausgelöst werden ist es mit diesem SDK 
verhältnismäßig einfach ein entsprechendes Kommandozeilenprogramm zu 
schreiben. Etwas aufwendiger wird es, wenn man die Bilder gleich auf den 
PC herunterladen möchte. Darauf habe ich -aus Zeitmangel- verzichtet. 
Leider muss man sich bei Canon als Entwickler registrieren um das SDK 
herunterladen zu dürfen.

Vielen Dank für Eure Unterstützung.

Mit freundlichen Grüßen
Guido

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Leider muss man sich bei Canon als Entwickler registrieren um das SDK
>herunterladen zu dürfen.

Das ist aber eher unproblematisch.
Ich musste dafür damals nur angeben, was ich damit dann fotografieren 
will.
Ein Satz reicht da völlig.

Autor: Marie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich nehme an, das hat sich inzwischen erledigt - also nur falls sich 
jemand anders die gleiche Frage stellt:

TWAIN-kompatible Kameras (= mit TWAIN-Treibern) kann man in Matlab mit 
der kostenlosen DIPimage-Toolbox (Uni Delft) auslesen, das Kommando 
lautet 'aquireim'.

[m]

Autor: Guido C. (guidoanalog)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Marie schrieb:
> ich nehme an, das hat sich inzwischen erledigt

Stimmt ;-)

Ich habe mir damals unter Verwendung des SDK von Canon ein 
Kommandozeilenprogramm zum Auslösen der Kamera geschrieben. Dies konnte 
ich dann problemlose von Matlab aus aufrufen. Da ich das Programm nur 
für den o. g. Messaufbau benötigt habe, habe ich die Einstellungen für 
die Kamera "hart im Programm verdrahtet". Dies ist natürlich extrem 
"quick and dirty". Deshalb habe ich das Programm auch nicht 
veröffentlicht. Ich weiß allerdings auch nicht, ob sich eine 
Veröffentlichung gegenüber dem NDA mit Canon vertreten lässt.

NDA: http://en.wikipedia.org/wiki/Non-disclosure_agreement

Mit freundlichen Grüßen
Guido

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.