Red de conocimiento informático - Material del sitio web - Cómo mostrar imágenes adquiridas por la cámara en tiempo real en la ventana PB

Cómo mostrar imágenes adquiridas por la cámara en tiempo real en la ventana PB

El siguiente es un fragmento de código que vi en línea antes, pero aún no lo he probado.

Usar API para llamar al código fuente de la cámara

//Definir variables

uint lhand

//Definir constantes

largo WM_USER=1024

largo WM_CAP_START = WM_USER

largo WM_CAP_STOP = WM_CAP_START+68

largo WM_CAP_DRIVER _ CONNECT = WM _ CAP _ START+10

WM largo _ CAP _ DRIVER _ DISCONNECT = WM _ CAP _ INICIO+11

WM largo _ CAP _ guardar DIB = WM _ CAP _ INICIO+25

largo WM _ CAP _ GRAB _ FRAME = WM _ CAP _ INICIO+60

largo WM _ CAP _ SEQUENCE = WM _ CAP _ INICIO+62

largo WM _ CAP _ ARCHIVO _ SET _ CAPTURA _ ARCHIVO = WM _ CAP _ INICIO+20

largo WM _ CAP _ SEQUENCE _ NOFILE = WM _ CAP _ INICIO+63

largo WM _ CAP _ SET _ OVERLAY = WM _ CAP _ START+51

largo WM _ CAP _ SET _ PREVIEW = WM _ CAP _ START+50

largo WM _ CAP _ SET _ CALLBACK _ VIDEOSTREAM = WM _ CAP _ START+6

largo WM _ CAP _ SET _ CALLBACK _ ERROR = WM _ CAP _ START+2

largo WM _ CAP _ SET _ CALLBACK _ STATUSA = WM _ CAP _ START+3

largo WM _ CAP _ SET _ CALLBACK _ FRAME = WM _ CAP _ START+5

largo WM _ CAP _ SET _ SCALE = WM _ CAP _ START+53

largo WM _ CAP _ SET _ tasa de vista previa = WM _ CAP _ START+52

/ /definir api

Función ulong capCreateCaptureWindowA(string lpszWindowName, ulong dwStyle, long x, long y, long nWidth, long nHeight, ulong ParentWin, long nId) biblioteca 'AVICAP32.

' DLL '

//Código de inicialización

Cadena lpszName

ulong l1

l 1 =handle (w_main)

LpszName= 'Interfaz de cámara...'

lhand = capCreateCaptureWindowA(lpszName, 262144+1258291073741824+268435456, 0, 0, 200, 200, l1, 0)

Si lhand & lt& gt entonces 0

enviar(lhand, WM_CAP_SET_CALLBACK_video stream, 0, 0)

enviar(lhand, WM_CAP_SET_CALLBACK_ERROR, 0, 0)

enviar (a la izquierda, WM_CAP_SET_CALLBACK_STATUSA, 0, 0)

Enviar (a la izquierda, WM_CAP_DRIVER_CONNECT, 0, 0)

enviar(a la izquierda, WM_CAP_SET_SCALE, 1, 0)

enviar(lmano, WM_CAP_SET_PREVIEWRATE, 66, 0)

enviar(lmano, WM_CAP_SET_OVERLAY, 1, 0)

enviar(lmano, WM_CAP_SET_PREVIEW, 1, 0)

Terminará si...

//Guardar en archivo

Cadena s

s='c:\ save.avi '

Si lhand & lt& gt entonces 0

Enviar(lhand, WM_CAP_FILE_SET_CAPTURE_FILEA, 0, s

Enviar (lhand, WM _ cap _ secuencia, 0, 0)/ /Iniciar captura.

Terminará si...

//Dejar de guardar

Enviar (lhand, WM_CAP_STOP, 0, 0)

/ /Guardar como para imágenes

Cadena s

s='c:\save.bmp '

Si lhand & lt& gt entonces 0

Enviar(lhand, WM_CAP_SAVEDIB, 0, s);

Terminará si...

//Si no hay cámara, puede descargar el siguiente software y usarlo una cámara virtual (este software puede reproducir películas en lugar de cámaras normales).

Cámara Virtual Vandate Cámara Virtual 1.5.1.exe