Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Como ya estoy de medio vacaciones, pero a la vez no tengo demasiados medios técnicos, me dedico a recopilar datos y a procesarlos como puedo en mi cabecilla, para poder hacer cosas en verano.
Como sabeis estoy con el tema del Bluetooth... a falta de hacer algunas pruebas con otro ordenador, el tema del TouchPad... necesito más medios que mi portatil... y... ahora viene el proyecto guapi guapi... Visión artificial con una simple webcam, entonces aqui vienen mis preguntas y aclaraciones:
·Sé que es posible, porque si no me equivoco Golfus Hispanicus lo emplea, asi como otros proyectos como los de esta chiquita tan maja: Mavis
·¿Cómo se empieza en este mundito?
·¿Qué librerías usais para obtener imágenes de la webcam?
·¿Qué librerías usais para procesar la imagen?
·¿Es imprescindible programar el sistema en C?
·¿Tenemos algun proyecto de ejemplo?
Yo estoy comenzando con la librería WebCam.dll, pero me temo que es muy incompleta, y además consume demasiados recursos comparándolo con el proyecto de Mavis. Aun así, tengo un programa hecho que lo único que tiene es un botón, con el que al pulsarlo, se copia la imágen de la webcam en un control PictureBox... me imagino que es un primer paso en este mundo, y que me quedan miles de caminos que recorrer, pero esta librería no sé si da mucho más de si, de modo que me gustaría que alguno que haya trabajado con esto me eche un cablecillo.
Seguiré informando. Muchas gracias por la ayuda.
Ángel
Mif, para usar indistintamente un dispositivo de captura de otro, lo que e visto que se usa (notese que yo no lo e hecho xD) es DirectShow, que te sirve de "capa de abstraccion" y te entrega el video indistintamente de la fuente de la que provenga (le da lo mismo mientras este identificado como fuente de video, ya sea capturadora, webcam1, webcam2...)
Te dejo el enlace a MSDN http://msdn.microsoft.com/library/defau ... ctshow.asp
Garrocha, "Quillo", creo que me has puesto el link a la solucion de muchos de mis problemas, hay mucho que leer ahi, pero empezare despacito.
Por lo que he visto hasta ahora, este puede ser un sustituto mucho mas flexible a la libreria WebCam.dll, que solo soporta webcam.
Muy interesante Garrocha. Mil Gracias
por si a alguien le interesa investigar la linea de profundidad de color con colores ARGB, he de decir que esto funciona:
Label1.ForeColor = Color.FromArgb(&HFF00FF00)
La etiqueta Label1 tendra el texto en Verde puro, porque:
......&H................FF........00......FF.....00..
Identificador...Opacidad..Rojo..Verde.Azul
de numero
Hexadecimal
en VB
Espero que a alguno os aclare las ideas esto.
No tengo las ideas aun muy claras, pero creo que es mas util trabajar con este valor, si alguien cree otra cosa agradeceria ideas, porque puede que me equivoque.
PD, que chungo es montar texto para que quede bien ordenado. Se ve diferente al escribir y cuando aparece en el foro
Perdonad que sea tan pesao, pero me acabo de dar cuenta de que si empleamos el sistema que acabo de comentar, podemos utilizar un codigo como
if ColorDelPixel < &HFFF and ColorDelPixel > &H7F Then
'El pixel es azul
end if
Ahorras un monton de codigo comparando con lo que empleo en el Tutorial, y seleccionas muchos tonos de azul del tiron.
Un par de cosas quiero comentar
No soy un experto en el sistemas de video, pero por lo que tengo entendido si hay 50 fps, no completos pero si apreciables. Me explico:
En un monitor de pc cuando se dibuja la imagen se empieza por el primer pixel de la linea y cuando llega al último de esta continua en la siguiente.
En el sistema pal hace un salto de dos, de forma que primero dibuja las filas 1,3,5,7,... y en la siguiente pasada las 2,4,6,8,.... Por lo tanto se obtienen 25 imagenes completas cada segundo, pero si contamos las imagenes intermedias (cuando ha realizado la primera o impares pasada pero no la segunda o pares) se obtiene una sensación de movimiento mucho mayor.
Por otra parte lo del sistema de colores ARGB no me queda claro. Como puedes comparar entre "0000FF y 87CEEB" y obtener obtener azules? es que 00FF00 (verde) no está entre medio?.
Un saludo a todos.
