Salut,
Quelqu'un connait une lib ou autre, permettant de faire de l'acquisition vidéo via une carte usb ?
D'avance je vous remercie pour votre réponse.
P.S.: Le but est de relié une caméra de surveillance au pc via une carte externe en usb, et de récupéré l'image dans un programme à moi.
acquisition vidéo
-
- Messages : 1500
- Inscription : jeu. 25/mars/2004 11:23
- Localisation : Sophia Antipolis (Nice)
- Contact :
Recherche Twain sur le forum.
J'ai un lien là pour capturer une image depuis une Webcam : http://basicunivers.free.fr/index.php?p ... hp&file=30.
Le problème avec cette DLL, c'est qu'il faut une validation pour capturer l'image (il me semble), elle ne se fait pas automatiquement. Par contre, une version payant existe et contient toutes les fonctions nécessaire pour acquérir et sauvegarder dans les formats vidéos de ton choix tes images capturées...
Mais regarde déjà par là. Si ça correspond, tu peux télécharger la version complète (version évaluation de x jours) sur le site officiel avant d'aviser si tu veux payer pour la version complète ou non...
Lio
J'ai un lien là pour capturer une image depuis une Webcam : http://basicunivers.free.fr/index.php?p ... hp&file=30.
Le problème avec cette DLL, c'est qu'il faut une validation pour capturer l'image (il me semble), elle ne se fait pas automatiquement. Par contre, une version payant existe et contient toutes les fonctions nécessaire pour acquérir et sauvegarder dans les formats vidéos de ton choix tes images capturées...
Mais regarde déjà par là. Si ça correspond, tu peux télécharger la version complète (version évaluation de x jours) sur le site officiel avant d'aviser si tu veux payer pour la version complète ou non...
Lio

Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Participez à son extension: ajouter vos programmes et partagez vos codes !
Re: acquisition vidéo
essaye moi ça pour voirwolfjeremy a écrit :Salut,
Quelqu'un connait une lib ou autre, permettant de faire de l'acquisition vidéo via une carte usb ?
D'avance je vous remercie pour votre réponse.
P.S.: Le but est de relié une caméra de surveillance au pc via une carte externe en usb, et de récupéré l'image dans un programme à moi.

Code : Tout sélectionner
; code original de je sais plus qui
; modifié par Dobro
UseJPEGImageEncoder()
UseJPEGImageDecoder()
Enumeration
#Window_0
#Button_capture
#Button_quit
#Button_affiche
#Button_4
#viewer1
#gadget1
#counter
#counter1
#name
#takebut
#viewbut
#quitbut
EndEnumeration
Dim snapshot.l(50)
Global saver$
i=1
If OpenWindow(#Window_0, 100, 100, 408, 338, "Little Camera", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget )
If CreateGadgetList(WindowID(#Window_0))
ButtonGadget(#Button_capture, 150, 280, 50, 25, "Capture")
ButtonGadget(#Button_quit, 250, 280, 50, 25, "Quit")
ButtonGadget(#Button_affiche, 200, 280, 50, 25, "Show")
EndIf
EndIf
Global hWndC.l
Global snapshot.l
Procedure.b initcam()
pcvs.b = 0
CreateImage(0,400,400)
#WM_CAP_START = #WM_USER
#WM_CAP_DRIVER_CONNECT = #WM_CAP_START + 10
#WM_CAP_DRIVER_DISCONNECT = #WM_CAP_START + 11
#WM_CAP_DRIVER_GET_CAPS = #WM_CAP_START + 14
#WM_CAP_EDIT_COPY = #WM_CAP_START + 30
#WM_CAP_SET_PREVIEW = #WM_CAP_START + 50
#WM_CAP_SET_PREVIEWRATE = #WM_CAP_START + 52
#WM_CAP_STOP = #WM_CAP_START + 68
#WM_CAP_SET_SCALE = #WM_CAP_START + 53
If OpenLibrary(0, "avicap32.dll")
*capAddress = GetFunction(0, "capCreateCaptureWindowA")
hWndC = CallFunctionFast(*capAddress, "My Capture Window", #WS_CHILD | #WS_VISIBLE, 50,38, 310, 230, WindowID(0),0)
SendMessage_(hWndC, #WM_CAP_DRIVER_CONNECT, 0, 0)
SendMessage_(hWndC, #WM_CAP_SET_PREVIEW, #True, 0)
SendMessage_(hWndC, #WM_CAP_SET_PREVIEWRATE, 1, 0)
SendMessage_(hWndC, #WM_CAP_SET_SCALE, #True, 0)
pcvs = 1
; ;............................................(pour afficher l'option)
; #WM_CAP_START = #WM_USER
; #WM_CAP_DLG_VIDEOSOURCE = #WM_CAP_START + 42
; ;............................................
; SendMessage_(hWndC, #WM_CAP_DLG_VIDEOSOURCE, 0, 0)
EndIf
ProcedureReturn pcvs
EndProcedure
Procedure.b capcam()
pcvs.b = 0
SendMessage_(hWndC, #WM_CAP_EDIT_COPY, 0, 0)
snapshot = GetClipboardImage(#PB_Any)
If snapshot
saver$= "snapshot.jpg"
SaveImage(snapshot,saver$,#PB_ImagePlugin_JPEG,10)
;FreeImage(snapshot)
pcvs = 1
EndIf
ProcedureReturn pcvs
EndProcedure
Procedure destroycam()
SendMessage_(hWndC, #WM_CAP_STOP, 0, 0)
SendMessage_(hWndC, #WM_CAP_DRIVER_DISCONNECT, 0, 0)
DestroyWindow_(hWndC)
CloseLibrary(0)
EndProcedure
initcam()
;HideWindow(0,1)
Repeat
Event=WaitWindowEvent(10)
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case #Button_capture
capcam()
Case #Button_quit
SendMessage_(hWndC, #WM_CAP_STOP, 0, 0)
SendMessage_(hWndC, #WM_CAP_DRIVER_DISCONNECT, 0, 0)
DestroyWindow_(hWndC)
CloseLibrary(0)
End
Case #Button_affiche
If OpenWindow(#viewer1, 10, 10, 340, 270, "ImageGadget", #PB_Window_ScreenCentered|#PB_Window_BorderLess )
StickyWindow(#viewer1, 1)
If CreateGadgetList((WindowID(#viewer1)))
existimage= LoadImage(0, saver$) ;Path/filename of the image
If existimage
ImageGadget(#gadget1, 10, 10, 310, 230, ImageID(0),#PB_Image_Border) ; imagegadget standard
Else
ResizeWindow(#viewer1,#PB_Ignore ,#PB_Ignore ,10,10)
MessageRequester("No Image", "image doesn,t exist",#PB_MessageRequester_Ok)
CloseWindow(#viewer1)
Quit=1
EndIf
EndIf
Repeat
Event2=WaitWindowEvent()
bugger=EventType()
Select bugger
Case #PB_EventType_RightClick
CloseWindow(#viewer1)
Quit=1
EndSelect
Until Quit=1
EndIf
Quit=0
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
destroycam()
End
et si tu retire les ";" de ce code
Code : Tout sélectionner
; ;............................................(pour afficher l'option)
; #WM_CAP_START = #WM_USER
; #WM_CAP_DLG_VIDEOSOURCE = #WM_CAP_START + 42
; ;............................................
; SendMessage_(hWndC, #WM_CAP_DLG_VIDEOSOURCE, 0, 0)

-
- Messages : 1500
- Inscription : jeu. 25/mars/2004 11:23
- Localisation : Sophia Antipolis (Nice)
- Contact :
Arf j'ai pas de webcam pour tester ça.
Merci Dobro pour ce code ! Ca me servira sans doute !
Lio
Merci Dobro pour ce code ! Ca me servira sans doute !
Lio

Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Participez à son extension: ajouter vos programmes et partagez vos codes !
-
- Messages : 1202
- Inscription : sam. 31/déc./2005 23:52