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
Arggggg... me voy a cortar las venas.... jajaja
A ver, estoy migrando de VB a BorlandC++ igual que Mif, y me encuentro con que este código funciona en Visual Basic 6... es del programa del robot de Eurobot2006.
lwndC = capCreateCaptureWindowA(lpszName, WS_CHILD Or WS_VISIBLE, 0, 0, 320, 240, PicCapture1.hwnd, 0)
capDriverConnect lwndC, 0
capDriverGetCaps lwndC, VarPtr(Caps), Len(Caps)
capPreviewRate lwndC, 66
capPreview lwndC, True
Y este NO funciona con Borland C++... ojo, no da error, tan solo no muestra la imagen... ¿puede ser alguna propiedad del objeto Panel3?
void __fastcall TForm1::FormCreate(TObject *Sender) {
hWndC = capCreateCaptureWindow ( "Camara", WS_CHILD | WS_VISIBLE, 0, 0, 320, 240, Panel3->Handle, 0);
capDriverConnect (hWndC, 0);
CAPDRIVERCAPS carac ;
capDriverGetCaps(hWndC,&carac,sizeof(carac));
capPreviewRate(hWndC, 66);
capPreview(hWndC,true);
}
furri.
Furri, mi codigo y el tuyo estan casi iguales, las dos unicas diferencias son la configuracion opcional, que yo tengo:
capDriverConnect (hWndC, 0);
CAPTUREPARMS setup;
capCaptureGetSetup(hWndC, &setup, sizeof(setup));
setup.fYield= true;
setup.fLimitEnabled = false;
setup.fCaptureAudio = false;
setup.fMakeUserHitOKToCapture = false;
setup.dwRequestMicroSecPerFrame = 33334 ;
setup.fAbortLeftMouse=false;
setup.fAbortRightMouse=false;
capCaptureSetSetup(hWndC, &setup, sizeof(setup));
Y la frecuencia de refresco a 33, peor lo acabo de probar a 66 y tira perfectamente... pruieba a meter la configuracion tb, a ver que pasa.
Ahora no puedo probarlo, esta noche lo intento, pero un par de preguntas....
¿que es fYield?... ¿como se si mi camara tiene de eso...? 😀 😀
¿que significa cada parametro... o esto es una configuración genérica que vale para la mayoria de webcams?
de todas formas en el codigo VB no toco este setup y funciona a las mil maravillas... pienso que depende de alguna propiedad del objeto donde se tiene que ver la imagen, en este caso Panel3... pero bueno, ya probaré esto por si las moscas.
furri
el fYield parece ser que forma parte de la API de windows, lo que indica es si la captura debe de hacerse en segundo plano en un hilo gestionado por windows, o en el propio hilo, a priori parece conveniente el que se realice en segundo plano, por el tema de la fluidez,
he encontrado aqui un manualillo interesante sobre la captura de video en el que viene esto indicado
Por que no mejor cuando señala el color del centro ( de la mano ) hacer un recorrido de variantes de colores o_O? con varias matices de color ? :s me di a entender? asi hara que la mano sean colores y no formas ?
bueno es solo u na idea 🙄