Benutzer mit den meisten Antworten
Webcam aus einem Programm heraus auslösen und als Foto (Datei) speichern

Frage
Antworten
-
Hallo BerndBen,
Im folgenden Beispiel (VB.NET) wird mithilfe von avicap32.dll die Webcam gestartet, und man kann das Bild als Beliebiges Format speichern (.bmp im Beispiel aber es geht auch .jpeg).
http://www.vb-helper.com/howto_net_video_capture.html
Grüße,
Robert
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 2. März 2010 15:47
Alle Antworten
-
Hallo BerndBen,
Im folgenden Beispiel (VB.NET) wird mithilfe von avicap32.dll die Webcam gestartet, und man kann das Bild als Beliebiges Format speichern (.bmp im Beispiel aber es geht auch .jpeg).
http://www.vb-helper.com/howto_net_video_capture.html
Grüße,
Robert
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 2. März 2010 15:47
-
Hallo BerndBernd,
Ich bekomme zum Beispiel eine gut sichtbare BMP Datei aus der Anwendung wenn ich sie auf meinem Laptop mit integrierten Webcam laufen lasse.
Die Datei hat 640x480 Pixel und 32 Bit depth.Ich glaube die Qualität hängt ab auch an dem Capture Gerät, Licht in der Umgebung und vielleicht auf noch andere Faktoren. Man kann versuchen verschiedene Formate speichern und sehen wie die aussehen.
zum Beispiel die Zeile: bmap.Save(sfdImage.FileName, Imaging.ImageFormat.Bmp) aus der Anwendung mit bmap.Save(sfdImage.FileName, Imaging.ImageFormat.Tiff) ändern oder mit bmap.Save(sfdImage.FileName, Imaging.ImageFormat.Jpeg)
Noch ein paar interessante Artikel mithilfe von DirectX:
http://www.codeproject.com/KB/directx/directxcapture.aspx
http://www.codeproject.com/KB/directx/DirXVidStrm.aspx
Grüße,Robert
-
Vielen Dank Robert,
mit VB funktioniert es!
Hast du vielleicht eine Ahnung wie ich die DLL in Visual C++/Windows Form
ansprechen kann?
Wenn ich einen Verweis auf diese avicap32.dll machen möchte kommt die Fehlermeldung
"...kein Verweis möglich, da sie weder eine NET-Assembly, noch ein Activ-X
Steuerelement ist!"
Ich habe mein C++ Programm so gut wie fertig und möchte nicht alles noch einmal
mit VB programmieren!
Vielen Dank für jede Hilfe!
Gruß
Bernd
Nothing Is As Easy As It Looks -
Hallo BerndBen,
Hier etwas für Dich gefunden:
http://www.codeproject.com/KB/audio-video/Cpp_DShowNET_FrameCap.aspx --> Visual Studio C++ .NET Express: Using DirectShow in a Webcam Capture Application
http://www.codeproject.com/KB/audio-video/avicapwrp.aspx
http://www.codeguru.com/cpp/g-m/multimedia/audio/article.php/c1579/
Grüße,
Robert
-
Vielen Dank, sehr nett von dir!!!
Mein Bild-Qualitätsproblem ist mir treu geblieben!
Ein Änderung von 640x480 auf 1280x860 und BMP auf JPG
bleibt ohne jeglichen Erfolg obwohl die Kamera eine 5MB Optik hat.
hHwnd = capCreateCaptureWindowA(iDevice, WS_VISIBLE Or WS_CHILD, 0, 0, 1280, 860, picCapture.Handle.ToInt32, 0) bmap.Save(sFileName, System.Drawing.Imaging.ImageFormat.Jpeg)
Meine SW ist fertig, ich auch!
Vielleicht noch eine Idee?
Gruß
Bernd
Nothing Is As Easy As It Looks- Bearbeitet Robert BreitenhoferModerator Mittwoch, 10. März 2010 14:31 Formatierung
-
Hallo BerndBen,
Schau Dir mal die folgende Diskussion an. Vielleicht findest Du noch etwas was Dir weiter helfen kann.
http://social.msdn.microsoft.com/forums/en-US/vbgeneral/thread/3c6b7dae-4600-4f74-9c47-c48e0b76f0cf/
Es wird noch zum Beispiel, was ich hier sehe, ein Encoder auf Encoder.Quality = 100 gestellt.
Grüße und Erfolg,
Robert
-
Hallo DONHH1982,
Hier ist der Link zu einem Beispiel in Visual Studio C++ .NET: Visual Studio C++ .NET Express: Using DirectShow in a Webcam Capture Application
Die meisten Beispiele die ich gefunden habe sind aber in C# oder Visual Basic geschrieben. Für C++ konnte ich nur das obige Beispiel finden. Dieses enthält auch die kompilierte exe Datei sowie den SourceCode.
Hoffe das hilft Dir weiter.
Grüße,
Robert
-
erst einmal vielen Dank für die schnelle antw.
das Programm ist zwar schön super ist auch das der SourceCode enthalten ist so das ich noch was lernen kann
aber leider bin ich nicht so firm in der sprache
suche etwas ohne button
Programm startet, macht ein foto wohin auch immer und in welchem format auch immer
grübe
nobre
-
das Programm ist zwar schön super ist auch das der SourceCode enthalten ist so das ich noch was lernen kann
aber leider bin ich nicht so firm in der sprache
Hallo nobre,
Meinst Du die Visual Studio C++ .NET Sprache?
Dann ist ja für Dich das beste Beispiel dieses (Visual Basic .NET Entwicklersprache): http://www.vb-helper.com/howto_net_video_capture.html
In diesem Beispiel gibt’s drei Knöpfe: Start Preview (startet die Webcam), Stop Preview (stoppt die Webcam), Save Image (Bild speichern). Man kann doch einfach durch den Code machen, dass diese Knöpfe sich automatisch einer nach einen anderen von „allein drucken“ sollen.
Grüße,
Robert