Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

MKN Reservas (Maro - Kayak Nerja)


Kayak Maro - Rutas y alquiler de kayak y tabla
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu inter�s (algunos de los avisos publicados)

01/feb./2019

Los moderadores, MVP y administradores podrán seguir editando, respondiendo o creando nuevos mensajes

Con idea de que puedan ayudar a responder e ir cerrando mensajes ;-)

  Foro: .NET.C# Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 41014 - Obtencion de imagenes a traves de webcam
IDAsuntoFechaNick 
41014 Obtencion de imagenes a traves de webcam02/05/08 05:05Scam   
Bueno amigos estoy desarrollando un programa para capturar imagenes desde una webcam el prototipo funciona perfectamente, pero no con la camara que necesito que funcione( microsoft LifeCam nx-6000), el problema es que al parecer no me deja conectar con el driver de la camara ya que al probar con otra camara (estando esta capturando imagenes desde el asistente de windows)el programa no detecto el driver y la pantalla dde la aplicacion quedo negra tal como lo hace con la LifeCam de microsoft ya no se que hacer espero puedan ayudarme con este problema, aca pego el codigo para que lo revisen (en el form solo inserten solo un picturebox y agreguen using System.Runtime.InteropServices;)

private void Form1_Load(object sender, EventArgs e)
{
Video cap = new Video();
System.IntPtr Handle;
Handle = this.pictureBox1.Handle;
GetVersionEx();
if (cap.ventana(Handle.ToInt32()) == true)
{
if (cap.conectar() == true)
{
if (cap.capturar() == false)
MessageBox.Show("No se pudo iniciar la captura");
}
else
MessageBox.Show("No se pudo encontrar el driver");
}
else
MessageBox.Show("No se pudo crear ventana de captura");
}

class Video
{
private int hwndc;
private const int WS_CHILD = (int)0x40000000;
private const int WS_VISIBLE = (int)0x10000000;
private const short WM_USER = (short)0x00000400;
private const int WM_CAP_DRIVER_CONNECT = WM_USER + 10;
private const int WM_CAP_DRIVER_DISCONNECT = WM_USER + 11;
private const int WM_CAP_SET_PREVIEW = WM_USER + 50;
private const int WM_CAP_SET_PREVIEWRATE = WM_USER + 52;

[DllImport("avicap32.dll")]
public extern static int capCreateCaptureWindowA(string lpsNombre, int dwStilo, int xpi, int ypi, int Ancho, int Alto, int hwndParent, int nID);
[DllImport("user32.dll")]
public extern static int SendMessageA(int hWnd, int wMsg, short wParam, int lParam);

public bool ventana(int Handle)
{
hwndc = capCreateCaptureWindowA("Ventana de Captura", WS_VISIBLE | WS_CHILD, 0, 0, 320, 240, Handle, 0);
if (hwndc != 0)
{
return true;
}
else
{
return false;
}
}
public bool conectar()
{
int r1;
r1 = SendMessageA(hwndc, WM_CAP_DRIVER_CONNECT, 0, 0);
if (r1 != 0)
{
return true;
}
else
{
return false;
}
}

public bool capturar()
{
int r1, r2;
r1 = SendMessageA(hwndc, WM_CAP_SET_PREVIEWRATE, 66, 0);
if (r1 != 0)
{
r2 = SendMessageA(hwndc, WM_CAP_SET_PREVIEW, 1, 0);
if (r2 != 0)
{
return true;
}
else
{
return false;
}
}
else
{

return false;
}
}
}
IDAsuntoFechaNick 
55630 Re: Obtencion de imagenes a traves de webcam (Resp: 41014)05/08/11 22:32kyodarkknight   
Hola Scam, yo tambien me tope con ese detalle, utilizando el avicap32.dll y no me levantaba la camara microsoft LifeCam nx-6000 y otras tampoco, por lo que buscando y probando me tope con lo DirectShow [DirectShowLib-2005.dll]y con este ya pude levantar y probarlo.

Saludos


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2026  - foros.elGuille v1.0.6.3 (01/Jun/2021 12:45 GMT +2)  - (ASP.NET v4.0.30319.42000)
 
La hora GMT del servidor es: 09/06/2026 14:51:25 GMT