Webcam Abfrage wie geht das?

Anfängerfragen zum Programmieren mit PureBasic.
Neuland
Beiträge: 15
Registriert: 18.09.2009 13:24

Webcam Abfrage wie geht das?

Beitrag von Neuland »

Hallo!
Ich möchte eine meiner USB-WEB-CAM’S (Logitech HD (1280x720 Pixel)/ NoName (640x400 Pixel) (laut Werbung min. 13 MegaPixel)) an meinem PC (Windows 10) per PureBasic abfragen, bzw. ansteuern. So alle 5 Minuten ein Bild machen und dann abspeichern. Ja, ich hab diverse Webcam -Beispiele hier aus den Forum ausprobiert, aber keines der 9 Programme hat zum Erfolg geführt (Fehlermeldungen, Webcam nicht gefunden, schwarzes Bild, lässt sich nicht speichern…).
Nun würde ich mich sehr freuen, wenn mir einer unter die Arme greift und mir einen Link bzw. einen Code überlassen könnte. Ich krieg es einfach nicht hin, die Webcam per Bordmittel anzusprechen. Da reicht es bei mir nicht von der Erfahrung. :|
Benutzeravatar
jacdelad
Beiträge: 404
Registriert: 03.02.2021 13:39
Wohnort: Riesa
Kontaktdaten:

Re: Webcam Abfrage wie geht das?

Beitrag von jacdelad »

Hi,
wenn die vorhandenen Beispiele nicht funktioniert haben, dann hat wohl keiner einen Code, der bei dir funktionieren wird...
Alternativ mal bei JHPJHP im englischen Forum anfragen, der hat einen Wrapper für OpenCV und kann dir eventuell helfen. Kann aber sein, dass es einen Obolus kostet, er hat auch viel Arbeit da reingesteckt.
Guten Morgen, das ist ein schöner Tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Webcam Abfrage wie geht das?

Beitrag von DarkDragon »

Funktionieren denn andere webcam programme bei dir?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
jacdelad
Beiträge: 404
Registriert: 03.02.2021 13:39
Wohnort: Riesa
Kontaktdaten:

Re: Webcam Abfrage wie geht das?

Beitrag von jacdelad »

Ich hab das noch nicht probiert. Meine Webcams zeichnen direkt auf mein NAS auf, da hatte ich noch keinen Bedarf (das NAS kann alles auswerten).
Guten Morgen, das ist ein schöner Tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Webcam Abfrage wie geht das?

Beitrag von DarkDragon »

jacdelad hat geschrieben: 31.07.2024 22:33 Ich hab das noch nicht probiert. Meine Webcams zeichnen direkt auf mein NAS auf, da hatte ich noch keinen Bedarf (das NAS kann alles auswerten).
Hmm? Meine Frage ging an den Threadersteller.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Neuland
Beiträge: 15
Registriert: 18.09.2009 13:24

Re: Webcam Abfrage wie geht das?

Beitrag von Neuland »

DarkDragon hat geschrieben: 31.07.2024 06:06 Funktionieren denn andere webcam programme bei dir?
Ja, ohne Probleme zeigt Windows per Kamera-App die Streams an.
Neuland
Beiträge: 15
Registriert: 18.09.2009 13:24

Re: Webcam Abfrage wie geht das?

Beitrag von Neuland »

jacdelad hat geschrieben: 31.07.2024 22:33 Ich hab das noch nicht probiert. Meine Webcams zeichnen direkt auf mein NAS auf, da hatte ich noch keinen Bedarf (das NAS kann alles auswerten).
Bist Du sicher, dass es sich dabei nicht um IP-Cam's (Überwachungskameras) handelt. Den das klappt bei mir auch seit Jahren ohne Probleme.
Neuland
Beiträge: 15
Registriert: 18.09.2009 13:24

Re: Webcam Abfrage wie geht das?

Beitrag von Neuland »

Neuland hat geschrieben: 29.07.2024 22:29 Hallo!
Ich möchte eine meiner USB-WEB-CAM’S (Logitech HD (1280x720 Pixel)/ NoName (640x400 Pixel) (laut Werbung min. 13 MegaPixel)) an meinem PC (Windows 10) per PureBasic abfragen, bzw. ansteuern. So alle 5 Minuten ein Bild machen und dann abspeichern. Ja, ich hab diverse Webcam -Beispiele hier aus den Forum ausprobiert, aber keines der 9 Programme hat zum Erfolg geführt (Fehlermeldungen, Webcam nicht gefunden, schwarzes Bild, lässt sich nicht speichern…).
Nun würde ich mich sehr freuen, wenn mir einer unter die Arme greift und mir einen Link bzw. einen Code überlassen könnte. Ich krieg es einfach nicht hin, die Webcam per Bordmittel anzusprechen. Da reicht es bei mir nicht von der Erfahrung. :|
Da mein Englisch unter aller Sau ist :oops: , dachte ich hier könnte mir jemand helfen. Hätte ja sein können das jemand Ahnung von (siehe oben) hat. Dann gebe ich auf und vergesse das Projekt. Danke für eure „Hilfe“.
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Webcam Abfrage wie geht das?

Beitrag von mk-soft »

Die meisten tümmeln sich im englischen Forum. Auch die nicht so gut englisch können ;)

Hier hilft sehr gut https://deepl.com um mitzuhalten

Dort kann dir auch bessere geholfen werden
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Webcam Abfrage wie geht das?

Beitrag von DarkDragon »

Neuland hat geschrieben: 03.08.2024 13:28
Neuland hat geschrieben: 29.07.2024 22:29 Hallo!
Ich möchte eine meiner USB-WEB-CAM’S (Logitech HD (1280x720 Pixel)/ NoName (640x400 Pixel) (laut Werbung min. 13 MegaPixel)) an meinem PC (Windows 10) per PureBasic abfragen, bzw. ansteuern. So alle 5 Minuten ein Bild machen und dann abspeichern. Ja, ich hab diverse Webcam -Beispiele hier aus den Forum ausprobiert, aber keines der 9 Programme hat zum Erfolg geführt (Fehlermeldungen, Webcam nicht gefunden, schwarzes Bild, lässt sich nicht speichern…).
Nun würde ich mich sehr freuen, wenn mir einer unter die Arme greift und mir einen Link bzw. einen Code überlassen könnte. Ich krieg es einfach nicht hin, die Webcam per Bordmittel anzusprechen. Da reicht es bei mir nicht von der Erfahrung. :|
Da mein Englisch unter aller Sau ist :oops: , dachte ich hier könnte mir jemand helfen. Hätte ja sein können das jemand Ahnung von (siehe oben) hat. Dann gebe ich auf und vergesse das Projekt. Danke für eure „Hilfe“.
Wow, für Herabsetzung (unsere Hilfe sei nur eine "Hilfe") und Beleidigungen (wir seien Ahnungslos) immer wieder gern. Du hast ja nicht auf die Frage geantwortet bis heute Mittag. Es gibt tonnenweise APIs unter Windows für Videoschnittstellen, deshalb die Frage ob eine andere Anwendung bei dir funktioniert, aber so hab ich auch keine Lust mehr. Danke, dir auch ein scheiß Wochenende.

[Edit]
Ich lasse das Ahnungslos nicht auf mir sitzen. Den hiesigen Beispielcode kann man leicht nach PB 6 übersetzen:

Code: Alles auswählen

; Author: DarkDragon (updated for PB 4.00 by Andre)
; Date: 22. May 2005
; OS: Windows
; Demo: No

Structure VIDEOHDR
  lpData.l
  dwBufferLength.l
  dwBytesUsed.l
  dwTimeCaptured.l
  dwUser.l
  dwFlags.l
  dwReserved.l[3]
EndStructure

Procedure FrameCallback(lwnd.l, *lpVHdr.VIDEOHDR)
  For k=0 To *lpVHdr\dwBufferLength-1
    Color = PeekB(*lpVHdr\lpData+k)
    PokeB(*lpVHdr\lpData+k, RGB(Blue(Color), Green(Color), Red(Color)))
  Next
EndProcedure

Prototype.i Prototype_capCreateCaptureWindowW(lpszWindowName.p-unicode, dwStyle.i, x.i, y.i, nWidth.i, nHeight.i, hwndParent.i, nID.i)

Global capCreateCaptureWindowW.Prototype_capCreateCaptureWindowW

hWnd = OpenWindow(0, 0, 0, 820, 620, "WebCamTest", #PB_Window_SystemMenu)

If OpenLibrary(0, "AVICAP32.DLL")
  capCreateCaptureWindowW = GetFunction(0, "capCreateCaptureWindowW")
  
  hWebcam = capCreateCaptureWindowW("BLUBBER", #WS_VISIBLE + #WS_CHILD, 10, 10, 800, 600, hWnd, 0)

  SendMessage_(hWebcam, #WM_CAP_DRIVER_CONNECT          , 0 , 0)
  SendMessage_(hWebcam, #WM_CAP_SET_SCALE               , 1 , 0)
  SendMessage_(hWebcam, #WM_CAP_SET_PREVIEWRATE         , 50, 0)
  SendMessage_(hWebcam, #WM_CAP_SET_PREVIEW             , 1 , 0)

  SendMessage_(hWebcam, #WM_CAP_SET_CALLBACK_FRAME      , 0 , @FrameCallback())

  Repeat
    Event = WindowEvent()
    Select Event
      Case #PB_Event_CloseWindow
        Quit = 1
    EndSelect
  Until Quit = 1
  SendMessage_(hWebcam, #WM_CAP_SET_PREVIEW       , 0, 0)
  SendMessage_(hWebcam, #WM_CAP_DRIVER_DISCONNECT, "BLUBBER", 0)
  CloseWindow(0)
  CloseLibrary(0)
EndIf
End
Funktioniert:
Bild

Wenn bei dir nur bestimmte Beispiele gehen dann wird das aber wahrscheinlich nicht funktionieren, oder? Die meisten sind wohl mit AVICAP32.DLL.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Gesperrt