viernes, 5 de octubre de 2012

Tomar foto con nuestra webcam Visual Studio C# .net

Hola que tal, enseguida les describire como tomar una foto desde su webcam.
Antes que nada hay que descargar un archivo el cual contiene los dos .dll que nos servira para hacer funcionar nuestra webcam, les dejo el link de descarga:
https://skydrive.live.com/?cid=E17AAA68D9CA0FF8&id=E17AAA68D9CA0FF8%21452
La carpeta comprimida se llama AForge, mas adelantito les explicare en la ubicacion donde deben de ponerla y como poder utilizarla en su proyecto ya que estos archivos hay que agregarlos como referencias.

Bueno para empezar vamos a crear un nuevo proyecto en su VS, yo lo nombre poniendole EjemploWebcam e hice un formulario que contiene un combobox, un picturebox y un simple boton.


Ahora hay que agregar a nuestro proyecto las referencias de los archivos dll descargados de la siguiente manera:
En el explorador de soluciones de su proyecto hay que pocisionarnos donde dice References, darle clic derecho y darle clic en agregar referencia:


Pero para eso primero hay que mover los archivos dlls descargados a su carpeta DEBUG del proyecto.


Entonces volviendo a la pantalla donde agregaremos la referencia, cuando le del clic en agregar referencia les saldra una ventana en la cual debemos ir a la pestaña de Examinar y en donde dice Buscar en hay que ir a la carpeta del proyecto donde tenemos nuestros archivos dlls y seleccionar ambos archivos dlls para agregarlos al proyecto.



Si se fijan bien ya se agregaron los archivos dlls a su proyecto:

 

En nuestro proyecto hay que utilizar las siguientes librerias junto con la de los archivos que descargamos con el using para que pueda reconocer nuestro codigo.

Ausing  System.IO;

using  System.Drawing.Imaging;

using  AForge.Video;

using AForge.Video.DirectShow;


Y tambien hay que hacer instancias de los siguientes objetos en nuestro proyecto:

private bool ExistenDispositivos = false;

private FilterInfoCollection DispositivosDeVideo;

private VideoCaptureDevice FuenteDeVideo = null;


Ok ahora lo que vamos a hacer es irnos al evento onclic de nuestro boton.
NOTA: Como propiedad de texto al boton ponganle: Iniciar, adelante explicare el por que.
Y agregamos el siguiente codigo a nuestro evento.

if (btnIniciar.Text == "Iniciar")

{
 
if (ExistenDispositivos)

{

FuenteDeVideo =
new VideoCaptureDevice(DispositivosDeVideo[cboDispositivos.SelectedIndex].MonikerString);

FuenteDeVideo.NewFrame += new NewFrameEventHandler(video_NuevoFrame);

FuenteDeVideo.Start();

btnIniciar.Text =
"Detener";

cboDispositivos.Enabled = false;

gbMenu.Text = DispositivosDeVideo[cboDispositivos.SelectedIndex].Name.ToString();

}
else

 MessageBox.Show("Error: No se encuentra dispositivo.");

}
else

{
 
if (FuenteDeVideo.IsRunning)

{

TerminarFuenteDeVideo();

btnIniciar.Text =
"Iniciar";

cboDispositivos.Enabled = true;

}

}


 


No se asusten, yo se que su proyecto les marcara en rojo los metodos que no encuentra por que exactamente no se encuentran pero aqui se los pego en codigo para que los pongan dentro de su proyecto.
 
 
public void CargarDispositivos(FilterInfoCollection Dispositivos)

{
for (int i = 0; i < Dispositivos.Count; i++)

cboDispositivos.Items.Add(Dispositivos[i].Name.ToString());
//cboDispositivos es nuestro combobox

cboDispositivos.Text = cboDispositivos.Items[0].ToString();

}

public void BuscarDispositivos()

{

DispositivosDeVideo =

new FilterInfoCollection(FilterCategory.VideoInputDevice);

if (DispositivosDeVideo.Count == 0)

ExistenDispositivos =
false;
 else

{

ExistenDispositivos =

true;

CargarDispositivos(DispositivosDeVideo);

}

}
 
public void TerminarFuenteDeVideo()

{
if (!(FuenteDeVideo == null))

if (FuenteDeVideo.IsRunning)

{

FuenteDeVideo.SignalToStop();

FuenteDeVideo =

null;

}

}

private void video_NuevoFrame(object sender, NewFrameEventArgs eventArgs)

{ Bitmap Imagen = (Bitmap)eventArgs.Frame.Clone();

pbFotoUser.Image = Imagen;
//pbFotoUser es nuestro pictureBox

}


 
Ahora si compilan el proyecto y lo ejecutan.



Para poder guardar la foto es sencillo, con esta linea de codigo:

pbFotoUser.Image.Save(Nombre,
ImageFormat.Jpeg);


 Donde pbFotoUser es nuestro pictureBox y como propiedad en imagen tiene el metodo Save que sirve para guardar, ahi ustedes jueguen con eso es bastante facil.

Cualquier duda, comentario es bien recibido espero les haya servido de algo.
Les deje el archivo del proyecto ahi mismo en mi SkyDrive para que puedan descargarlo, se llama EjemploWebcam esta comprimido.

Saludos.
Misael Ontiveros


 

82 comentarios:

  1. Hola buenas tardes para este proyecto se utiliza una webcam en especial o cualquiera puede ser saludos

    ResponderEliminar
    Respuestas
    1. Buenas tardes, puede ser cualquier webcam claro que debes de tener primero instalado el driver del fabricante para que funcione, si no pues nunca se podrá.

      Eliminar
    2. Gracias amigo tu aporte ayudo a sacar mi empleo adelante mil gracias

      Eliminar
  2. mil gracias, asta que pude terminar este ejercicio, gracias por el aporte esta muy completo :)

    ResponderEliminar
  3. Hola amigo oie me sirvio mucho tu proyecto solo que tengo una pregunta para guardar la imagen el codigo que dices para guardar donde se coloca tu codigo ? espero y me puedas ayudar

    ResponderEliminar
    Respuestas
    1. Que tal amigo, lo puedes poner en el evento clic de un botón que hayas creado ;) que bueno que te haya servido, animo.

      Eliminar
  4. orale muchas grax oie no se si me puedas ayudar de como le podria hacer para que lo que se capturo de la webcam lo pueda guardar en sql

    ResponderEliminar
    Respuestas
    1. De que si se puede, si se puede guardar una imagen en SQL amigo pero yo te diría que es mala practica, debido a que si tu BD llega a crecer mucho pues como quien dice saturarías de información y a la hora de hacer un Query este se te volverá muy lento, si tu proyecto es local lo que puedes hacer es guardar la dirección de donde se van a guardar tus imágenes en tu maquina: ej: C:/fotos/"nombredeimagen.jpg" entonces al cargar ya sea en el formulario el contenido pues solo redireccionas la ubicacion para que te selecciona la foto, en nombre de imagen puedes ponerle el nombre como tu mismo ID del SQL, no se si me explique?

      Eliminar
    2. Pero igual te dejo un link que habla sobre eso:
      http://msdn.microsoft.com/es-es/library/bb972266.aspx
      Espero te sirva de ayuda.

      Eliminar
  5. tengo un problema tu codigo me corre perfecto, pero al aplicarlo en un nuevo proyecto me activa la webcam, sin embargo, no se ve nada en mi picture box, ya cheque las propiedades varias veces y no encuentor ninguna diferencia, nose si intervenga que trabajo en visual2012, te agradeceria una pronta respuesta, de igual forma tengo duda del metodo video_nuevoframe, quiero creer que tu lo creaste, pero de no ser asi te agradeceria una aclaracion o alguna ayuda de como hacer que se vea el picture box, gracias

    ResponderEliminar
  6. Que tal amigo, puede ser que a lo mejor los drivers de tu webcam externa o de tu laptop no estan funcionando como deben de ser, la verdad no creo que intervenga que utilices otra version de desarrollo, mientras importes los dll's de manera correcta al proyecto y pues uses el using de las librerias al principio de tu codigo debe de funcionar, esta aplicacion la tome de ejemplo ya hace tiempo de un ejemplo que me encontre por la web y pues nada mas la adapte a mis necesidades por eso tu pregunta del metodo video_nuevoframe, de todos modos mira ahi puse en mi Skydrive el archivo ya listo solo para compilarlo, ejecutalo y dime si ese ejemplo te sirve.. en dado caso te sirva bien y en un nuevo proyecto que lo implementes puede ser que quiza haya un reacomodo mal del codigo, vamos paso a paso y me vas diciendo porfa.

    ResponderEliminar
    Respuestas
    1. Pues de hech si me funciona correctamente el archivo que subiste, de hecho intente implementarlo en mi proyecto y no funciono, prove en un proyecto nuevo y pues sucede lo mismo, al dar click al boton inciar se activa mi webcam porque enciende su foquito sin embargo no se visualiza nada en el picturebox, nose si tenga alguna propiedad en especial el picturebox aunque revise todas las propiedades y las compare y ps no encontre nada diferente es por ello que me extraña que no funcione adecuadamente, y si importe los dll's tal cual lo mencionas y las librerias tambien

      Eliminar
    2. Pues la verdad no tiene ninguna propiedad en especifico el picture box, al menos que el nombre de tu picture box no lo hayas puesto igual que el del proyecto, aunque pues igual te marcaria error de compilacion al no encontrar al objeto, se me hace un poco raro, deberias de poner en tu skydrive el proyecto para revisarlo.

      Eliminar
  7. que tal, una pregunta esperando me puedas ayudar, dentro del codigo se encuentra un gbmenu.text el cual no encuentro su funcionamiento, me podrias apoyar aclarando como funciona o en que momento fue declarado????

    ResponderEliminar
    Respuestas
    1. Lo único que hace esa función es cambiarle el nombre al groupbox que contiene la forma, por ejemplo si tu webcam es una ToshibaWebCam así le pone el nombre, es solo como para identificar de que webcam esta tomando la imagen.

      Eliminar
  8. vieras que tengo un problema en el if (FuenteDeVideo.IsRunning) del codigo me ayudas

    ResponderEliminar
    Respuestas
    1. Pon el error que te arroja por favor, pero primero tienes webcam y tus drivers están correctamente instalados?

      Eliminar
    2. me pasa lo mismo.
      System.NullReferenceException: 'Referencia a objeto no establecida como instancia de un objeto.'
      este error me aparece

      Eliminar
  9. hola amigo sabrias si este metodo funciona para capturar imagen de una targeta dvr q controla varias camaras? pero q no son web sino de seguridad? o talvez conoscas otro metodo

    ResponderEliminar
  10. Que tal amigo, pues básicamente el dll que carga el proyecto sirve para cargar cualquier dispositivo de webcam que tengas instalado en tu equipo, si es que tienes funcionando bien tu dispositivo de imagen corriendo desde la tarjeta dvr enlazada a tu eqiupo, es decir que no tengas conflictos con los drivers para su funcionamiento y te da bien la imagen, no deberías de tener ningún problema, solamente seleccionas el dispositivo por el cual vas a obtener la imagen y te la debe de mostrar, intenta y me dices.

    ResponderEliminar
  11. amigo muchas gracias por tu aporte, queria saber al momento de crear el boton guardar y colocar el codigo
    pbFotoUser.Image.Save(Nombre,
    ImageFormat.Jpeg);

    me aparece marca error en Nombre no se si tengo que cambiar algo ahi en el codigo o en las propiedades del pbFotoUser

    te agradezco mucho si me puedes ayudar

    ResponderEliminar
    Respuestas
    1. compañero ya resolvi este problema un par de "" y ya
      pero quisiera saber si quiero cambiar la ruta a donde me guarda las fotos como lo prodria hacer

      muchas gracias

      Eliminar
    2. Que tal amigo, debes de agregarle la ruta al principio de la sobre carga cuando llamamos al metodo de Save:
      pbFotoUser.Image.Save("c:\\imagen.jpeg",Nombre,ImageFormat.Jpeg);

      Eliminar
    3. amigo como hizo para resolver lo del nombre?

      Eliminar
    4. amigo como hizo para resolver lo del nombre?

      Eliminar
    5. "Nombre" es como quieres que se llame tu archivo de imagen.

      Eliminar
  12. hola amigo oye un favor para poder guardar la foto tengo que crear otro boton de guardar y poner ese codigo en el evento o como espero puedas ayudarme un saludo y gracias

    ResponderEliminar
    Respuestas
    1. Así es mi amigo, tal como lo dices tu puedes poner el evento de guardar ya sea en un botón al darle clic, o en un label o también al momento de cuando capturas la foto automáticamente que la guarde, tu puedes jugar como gustes con esa parte a como se te haga mas cómodo.

      Eliminar
  13. Muchachos:
    Implemente el código y funciona pero hay un detalle en la función TerminarFuenteDeVideo()

    hay que reemplazar
    esta linea
    FuenteDeVideo.SignalToStop();
    por esta otra
    FuenteDeVideo.Stop();

    con esta modificación se podrán sacara fotos repetidas veces

    ResponderEliminar
    Respuestas
    1. Excelente amigo! Gracias por el aporte y la modificación en el código ahí para que lo usen a como lo necesiten ;)

      Eliminar
  14. Estimado, antes que nada agradecerte por este aporte, me viene perfecto para un proyecto que estoy empezando. Ahora bien, te consulto, hay manera de controlar que el tamaño de la captura no sea de 640x480, por ejemplo llevarla a la mitad de resolución, siempre desde el Form no? Gracias de antemano!!Saludos!!

    ResponderEliminar
    Respuestas
    1. Que tal mi estimado que bueno que te sirvió, si de hecho hay una manera solamente el único requisito es que tu webcam debe de soportar varios tamaños, en realidad es una propiedad del mismo PictureBox el cual es PictureBox1.Size = new System.Drawing.Size(140, 140); en este caso en el proyecto el PictureBox se llama pbFotoUser entonces seria pbFotoUser.Size = new System.Drawing.Size(1200,800); por ser un ejemplo, claro antes de llamar mandar el form debes de darle esas propiedades, o igual en la propiedad Size del mismo Picturebox creo que puedes ponerle el tamaño personalizado a como gustes ;)

      Eliminar
  15. compañero.. en la parte de guardar donde dice nombre, eso q es?

    ResponderEliminar
    Respuestas
    1. La sintaxis de eso es: public void Save(
      string filename,
      ImageFormat format
      por lo que mencionas de Nombre viene siendo simplemente como quieres que se llame tu archivo de imagen.

      Eliminar
  16. amigo... como hago para q en el picturebox salga la camara completa?
    le agradeceria

    ResponderEliminar
    Respuestas
    1. En la propiedad del PictureBox de SizeMode puedes seleccionar que sea Stretch para que te abarque todo el PictureBox

      Eliminar
  17. Gracias por tu aporte, es de mucha utilidad. Ahora, quiero que me ayudes con un problemita en una linea de codigo que me salta excepciones.

    Esta es la linea:

    else
    {
    if (FuenteDeVideo.IsRunning)
    {
    TerminarFuenteDeVideo();
    btnIniciar.Text = "Iniciar";
    cboDispositivos.Enabled = true;
    }
    }

    el problema está en la linea: if (FuenteDeVideo.IsRunning)
    me salta excepcion de nulidad: NullReferenceException

    Como lo puedo solucionar?

    ResponderEliminar
  18. Gracias amigo, solucione el problema era cuestion de variables. GRACIAS POR EL APORTE!!! :)

    ResponderEliminar
    Respuestas
    1. Excelente que bueno que te haya servido y hayas encontrado la solución rápida ;)

      Eliminar
    2. Ayudame con algo: Tengo que guardar una captura de lo que se ve en la camara. Quiero guardar en una carpeta del computador. AYUDAME! :)

      Eliminar
    3. Que tal, es sencillo solo crea un metodo en donde debes de agregarle el siguiente codigo:
      pbFotoUser.Image.Save("c:\\imagen.jpeg",Nombre,ImageFormat.Jpeg);
      Tu metodo puede ser void no hay problema, nombralo como gustes también para que lo identifiques y lo llamas al dar click a un boton de guardar cada ves que quieras guardar la imagen.

      Eliminar
  19. Estaba viendo que el video que toma y las imagnes que guarda no son a la resolucion maxima de mi camara web, como puedo obtener la maxima resolucion.

    ResponderEliminar
    Respuestas
    1. Que tal amigo, sinceramente no he tenido problema con eso bueno al menos no me he topado con ese detalle pero te dejo un link que te servira para lo que necesitas: http://www.subgurim.net/Articulos/csharp/29/trabajo-con-imagenes-con-csharp-redimensionar-una-imagen.aspx

      Eliminar
  20. Si quisiera hacerlo para web, como seria??

    ResponderEliminar
    Respuestas
    1. No te sabría dar una respuesta en concreto a eso amigo porque ahí jugarías con los plugins de cada navegador para que tome la webcam local, sinceramente nunca lo he hecho pero seria bueno investigar algo así, te lo debo.

      Eliminar
  21. Buen día a todos.
    Muchas gracias por el aporte, solo que tengo un pequeño detalle, No detecta ninguna cámara web y tengo instalada y funcionando una. Podría ayudarme a solucionar este detalle por favor?
    Muchas gracias de antemano

    ResponderEliminar
    Respuestas
    1. Hola buen dia, claro que si.. Podrias detallar que error o que detalle te muestra en la parte donde te deberia de salir la camara?
      Te marca algun error al momento de la compilacion del proyecto? Que tipo de camara es?

      Eliminar
  22. No me arroja ningún error al momento de compilar. Todo funciona bien, solo en el combobox no me muestra ninguna cámara. Mi cámara es una Logitech c110 con sus drivers funcionando bien.
    Gracias por la pronta respuesta.

    ResponderEliminar
    Respuestas
    1. Que extraño, en teoria deberia de funcionar.. Los archivos .dll si los pusiste en el proyecto y los referenciaste? La camara funciona bien? Es decir si funciona independiente al proyecto con su software? Lo que tambien puedes hacer es tratar de conseguir otra camara o si tienes laptop para tratar de ver si el problema radica en que no reconoce ese modelo de la camara.

      Eliminar
    2. Que tal Misael.
      1.- Los .dll los descargue del SkyDrive que proporcionaste y están bien referenciados.
      2.- La cámara funciona correctamente en otras aplicaciones y con su propio software.

      Intentare crear otro proyecto para ver que errores arroja y también probaré con otro equipo.
      Comentare los resultados obtenidos.

      Muchas gracias por la respuesta. Saludos

      Eliminar
    3. He resuelto la duda.
      Me faltaba agregar la linea " BuscarDispositivos();" al iniciar el formulario. por eso no me mostraba las camaras conectadas.
      Una disculpa y nuevamente gracias por el post y la ayuda

      Eliminar
    4. Que bueno que esa fue la solución :D no te preocupes a veces así nos pasa a todos los programadores que se nos escapa hasta un punto y coma sin darnos cuenta jeje, saludos.

      Eliminar
    5. Yo tengo el mismo problema y e intentado todo, lo echo todo de nuevo de todas las formas y no logro solucionarlo y no tiene ningun error ni nada y todas las lineas de codigo estan igual que el tuyo incluso e probado de otra formas y nada...

      Eliminar
    6. Hola, te marca error de compilación? Tienes bien cargados los dlls a tu proyecto y los drivers de tu cámara funcionan bien?

      Eliminar
    7. Ahora descargue el proyecto de ejemplo ademas compare el ejemplo con el que esta publico en este pagina de Blog.
      Tengo el proyecto descargado lo abro se enciende mi camara(Se por La Luz Led Que Se Activa) pero el PictureBox no cambia y sigue igual puede darme cuenta que en el codigo esto esta en "Comentarios" // gbMenu.Text = DispositivosDeVideo[cboDispositivos.SelectedIndex].Name.ToString();
      Mientras y En esta pagina de Blogger que publicaste esta parte esta sin comentarios al momento de quitarle el comentario Dice: Que "gbMenu" no existe.
      ¿Me ayudas enserio que lo llevo buscando Mucho mucho mucho ?

      Eliminar
    8. Hola Diego, el problema que debes de tener es que el GroupBox no tiene asignado el nombre como "gbMenu" es por eso que no encuentra al objeto, si existe la forma en el proyecto pero no la encuentra como tal por los nombres, checa dándole clic derecho e irte a las propiedades del GroupBox y que en el campo Name tenga puesto: "gbMenu" (Sin las comillas) para que de esa manera pueda encontrar al objeto, haz ese procedimiento primero y si todo esta correcto vamos depurando poco a poco para ver que errores te sigue arrojando.

      Eliminar
    9. Tengo el mismo proyecto que dejaste listo en la descripción incluso e trato hacerlo con el codigo que esta aquí. En el proyecto que dejaste en este blog lo descargue y ya le agregue el GroupBox con "gbMenu" la cámara se enciende(Se porque se prende la luz de mi notebook) pero donde esta ubicado el Picture Box no se ve nada de la camara , todo se compila bien sin ningún error pero el problema es que al momento de Iniciar En Donde debería mostrar la cámara no muestra nada...

      Eliminar
    10. Ahora que recuerdo, no debe de existir ningun GroupBox, me equivoque en decirte eso.. es por eso que la linea la tenia comentada, borra esa linea que esta comentada y tambien borra el GroupBox que creaste, tambien es muy importante que hayas puesto las dll's al proyecto y referenciarlas en caso de que no existan, verifica en las referencias, yo acabo de descargar el proyecto en otra maquina y me funciona a la perfecccion, mira si gustas contactarme por skype y te apoyo mi ID es aux.soles@hotmail.com agregame y te auxilio via remota si te urge.

      Eliminar
    11. ok, mira una imagen del problema para que se entienda un poco mas...

      http://fotos.subefotos.com/de05e0d8307ffbdfab591964730b1ccbo.png

      Eliminar
    12. Descargue el proyecto y lo abrí pero esto es lo que me sucede...

      Eliminar
    13. Pareciera como si tu PictureBox se inhabilitara o tu webcam no estuviera mandando los frames, imagino que si abres tu webcam directamente si funciona? No le hacen falta los drivers de casualidad? o que otro recurso de Windows este consumiendo los frames de tu webcam? Si gustas mira agregame a Skype y lo vemos por remoto para salir de duda porque si el proyecto no te marca error de compilacion no debe de haber algun error de dll's o de codificacion, ya pareciera algo mas externo a eso por el funcionamiento.

      Eliminar
    14. Mi computadora funciona todo correctamente, Ayer agregue la linea pbfotoUser.Image.Save("Prueba.jpg") Me produce un error porque no esta definido antes de colocar porque se pone al final luego compile siguiente mente en la carpeta "Debug" lo probé en el escritorio y me Dijo "Excepción No Controlada" Luego puse la opción "Continuar" y me funciono podía ver lo que mi camara web estaba viendo por ese error yo creo que funciona pero hay que hacer algo mas. No tengo Skype pero si es el unico medio de comunicación para solucionar el problema lo voy a crear.

      Eliminar
    15. Solo me paso una vez fue bastante extraño..

      Eliminar
    16. Es bastante extraño ese error que te arroja, la ultima alternativa puede ser que por el Framework que utilizas en C# o la version de tu Windows estén haciendo algún ruido y te cause incompatibilidad en los dll's de la camara con los del proyecto, intenta llevarte el .exe que te genera en el bin a una PC con Windows 7 e intenta abrirlo a ver si te arroja el mismo error, porque en si el proyecto sin ninguna modificación tal como lo descargas y lo compilas te debe de funcionar, prueba y me dices que tal.

      Eliminar
    17. Ya me creo la cuenta para el contacto luego te mando un mensaje. Si eso fue la acción que realice. Yo hice esto mismo en C++ Y Todo funciono correctamente pero en C# no puedo lograr que se capture una imagen y yo utilizo C# y necesito utilizar la cámara para poder realizar un proyecto en C#. Esta librería es la única que pueda servir porque es la unica que hace que se active la cámara significa que esta funcionando pero probando para poder solucionar hace dias me ocurrio un error Agregue una sola linea errónea y por un momento me funciono dando excepciones pero solo una vez con el mismo código en mi Conclusión esto funciona pero para que me funcione en mi Notebook necesite una modificación o falta algo u quitar algo. Ya que Microsoft me a fallado busque en su documentación oficial incluso en su pagina hice preguntas no recibí respuestas y en la documentación no hay nada de como capturar una imagen una decepción. llevo mucho tiempo para lograr hacer esto y no e podido... gracias por ayudarme te hablo luego

      Eliminar
    18. Ok espero tu contacto por Skype, quizá también intenta instalando el Framework 3.5 SP2 y 4.0 en tu Windows 10 igual a lo mejor se soluciona ese detalle.

      Eliminar
    19. Ya me di cuenta de algo.. solo me funciono solamente una vez de miles de intentos probé proyectos de lo mismo en otros sitios y me pasaba lo mismo luego ahora probe un proyecto y me funciono Una vez de miles de veces de intentarlo solo una vez, Lo que en cual pude concluir que los Codigos funcionan correctamente y el problema esta en mi Notebook aunque mi camara funcione correctamente debe pasar algo raro que todavía no tengo resuelto ahora pude comprobar que el problema debe estar en la Computadora. Revise la documentación oficial de Aforge y no existe porque ya no tienen el servidor pero vi miles de aportes de usuario en paginas de idioma ingles en cual todos mis intentos fallaron. Ahora voy a intentar a resolver este error que es desconocido y sucede en mi computadora si logro solucionarlo dejare como lo solucione porque creo que este error desconocido le pudo pasar alguien mas si logro resolverlo pondre como lo resolví . Muchas Gracias por la ayuda y la agradezco fue la manera de concluir que el error esta en mi pc o sino seguiría un ciclo infinito de buscar la forma de capturar imagenes... que tengas un Buen Dia

      Eliminar
    20. Quiza puede ser que algun parche que tiene el Windows 10 este afectando con las dll's de Visual Studio con los frameworks que utiliza para poder accesar a los perifericos o las dll's que tengan drivers que no reconozca, todo es mundo pero como te comentaba anteriormente intenta instalar los Frameworks y quiza te funciona o trata de ejecutar el .exe como compatibilidad de Windows anteriores, saludos.

      Eliminar
    21. Voy hacer una configuración a la "Bios" del computador espero no morir, lo que iba hacer era probarlo en una maquina virtual pero me Pide la configurar La aceleración por hardware VT-x/AMD-V la cual tambien me pide Android Studio para utilizar su emulador quizás haciendo esa Opción sea importante para el funcionamiento voy a intentar activarla Luego te cuento que pasa, solo espero no morir en el intento..

      Eliminar
    22. Esa configuración Era para la virtualizacion no hay cambio para la cámara.

      Dejo esto si alguien tiene un problema parecido en esta imagen algunas veces otras Aplicaciones maliciosas pueden dañar la pc cualquier app .exe .bat .com cualquier ejecutable puede dañar incluso el que parezca inofensivo aveces es el mas peligroso.
      1-Borrar Registro
      2-Ir A La Carpeta Window y Anotar Todos Los programas encontrados de tercero Ejecutables en un block de notas luego borrarlos
      3-Abrir el panel de control y anotar en block de notas los programas ademas de buscar en Google mas información sobre ellos luego desintalar los que no queremos
      4-Ir a la carpeta Conocida Menu-Inicio es la carpeta que abre los programas cuando se arranca la maquina anotar los programas, buscar sobre ellos y borrar los indeseados
      5-Ningún antivirus "Analiza Un Sotfware" solo busca Firma de virus lo que quiere decir que no se detecta un virus en tiempo real y tambien utiliza la "Reputación" solo revisa la parte de la información que dice quien es el editor.

      Sino se resuelve intenten de muchas otras maneras si después de realmente falla todo puede que una Dll o un exe Del Sistema Fue Dañada por un programa malicioso esto se puede verificar si la función no es realiza en la cual deben "Restablecer Su Computadora" para reparar sus Dll esto es cuando realmente no funciona, cuando por ejemplo La cámara estaba buena pero luego de instalar un programa malicioso su computador es dañado y algunas funciones no pueden ser utilizadas.

      Estas Opciones es para la mayoría de Virus no solo para uno especifico.

      y Una posible razón porque no se puede ocupar mi WebCam es que otra aplicación esta ya utilizando El Proceso. En android si su camara esta activa y utilizan una aplicacion de camara ocurre un error al menos esto pasaba cuando intentaba. Quizás otra app ya esta utilizando la opción de la camara en esta imagen miren la advertencia esta app ocupaba mi camara sin que yo me diera cuenta y estaba oculta en el sistema

      http://www.subeimagenes.com/img/intento-de-resolucion-de-problema-1694073.png

      Nota: Lo de restablecer el sistema que habia mencionado es cuando realmente ya han intentado absolutamente todas las opciones disponibles y cuando realmente no pueden solucionarlo cuando sea algo grave y que este comprobado que una parte de Su sistema este dañado

      Eliminar
    23. Gracias por el aporte mi amigo, desafortunadamente te toco batallar con un virus, pero lo bueno de todo es que pudiste darte cuenta cual era tu problema raiz, y pues ni modo primero a reparar anomalías antes de que algo malo mas suceda, suerte :D

      Eliminar
  23. Buen día Diego Ulises. ¿Como tiene nombrado al picture box en su proyecto? Debe revisar que los nombres de los elementos coincidan con el código al momento de llamarlos.

    ResponderEliminar
    Respuestas
    1. Tengo descargado el proyecto listo que estaba en el blog pero el problema que debe mostrar lo que estaba viendo mi camara en el PictureBox no muestra nada y sigue igual de siempre todo compila bien sin ningun error sin inconvenientes

      Eliminar
  24. Mil gracias, me sirvió sin problemas. Un saludo. eledwin.com

    ResponderEliminar
  25. Hola muchas gracias por el post, solo que tengo un problema la parte de gbMenu.Text me la marca que no existe en el contesto actual y no entiendo la parte donde dice que tenemos que poner al boton como propiedad Iniciar, espero puedas ayudarme.
    Saludos Cordiales.

    ResponderEliminar
    Respuestas
    1. Hola, el error de que no existe gbMenu.Text es probablemente porque no le has puesto ese nombre personalizado a la propiedad name del objeto, tienes que darle clic secundario (Izquierdo) a la caja de texto y dar clic a Propiedades, del lado derecho te debera salir un cuadro en el cual debes de buscar el que dice Name, en ese cuadro de Name debes de renombrarlo como gbMenu solamente, y del boton igual es renombrarlo como btnIniciar.

      Eliminar
    2. Muchas gracias amigo, ahora una pregunta, la imagen que guarda no las guarda con la extencion .jpg, sabes esto a que se debe?

      Eliminar
    3. Probablemente te falto agregarle la extension, pbFotoUser.Image.Save(Nombre,
      ImageFormat.Jpeg);

      Eliminar
  26. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar