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
exacto tengo q realizar lo mismo q la cmucam 😀
no tiene gracia q me compre la cmucam, seria trabajo q yo no haria
😀 😛
ya cuando solucione todos mis problemas se los presnto aqui 😛
oka gracias es q soy novata 🙁 me entienden
😉
Kaelyn, intenta no escribir un post para cada frase ya que aumenta el tamaño del tema innecesariamente, si te has olvidado de poner algo puedes editar el post anterior.
S2
Ranganok Schahzaman
Buen Dia amigos, este es mi primer mensaje ya que hace poco que estoy registrado, estoy siguiendo a modo de tutorial este foro, usando builder-C++ 6. Estoy teniendo complicaciones en el acceso a un pixel de la imagen usando punteros, lo que tengo es esto:
unsigned char *Puntero;
Puntero = Imagen.punt.lpIndex;
for(int x=0; x<320; x++){
for(int y = 0; y<240; y++){
r = *Puntero; //el color rojo está en el primer byte
g = *(Puntero+1); //el verde en el segundo
b = *(Puntero+2); // y el azul en el tercero
*Puntero = r+10;
*(Puntero+1) = g+10;
*(Puntero+2) = b+10;
Puntero += 3; //subo de tres en tres bytes
}
}
Lo cual anda perfectamente pero haciendo unrecorrido secuencial del puntero de 3 en 3 bytes
Estoy teniendo problemas de Violacion de acceso si quiero hacer un acceso directo en la forma:
Puntero += 3*(320*fila+culumna); en vez de usar
Puntero += 3;
solo me accede con un maximo de fila=14, columna=10.
Se entiende el problema?
Le paso a alguien o solo estiy haciendo mal uso del puntero.
Gracias y saludos a todos.
Creo que el problema es que estas haciendo un mal uso del puntero:
Tienes un array Imagen[320][240][3] es decir de 230400 bytes (=320*240*3). Es decir que tienes un máximo de 240 filas y 320 columnas.
Para posicionarte dentro de un pixel de la imagen directamente tienes que ir a la fila X y la columna Y de la siguiente forma:
Puntero = 3 * (320 * X + Y) + Imagen.punt.lpIndex;
El 3 es porque cada pixel tiene 3 bytes (R,G,B), 320 porque cada fila tiene 320 columnas e Imagen.punt.lpIndex porque es la posición de memória que marca el inicio del Array.
Si vas haciendo
Puntero += 3*(320*X+Y);
dentro del bucle (for) quiere decir que cada iteración en vez de irte al píxel siguiente harás un salto de X filas e Y columnas por lo que es posible que al poco rato te salgas del Array (por culpa del +=).
S2
Ranganok Schahzaman