Sv Community El Salvador
Soporte y Tecnología => Programación => Topic started by: ocky on September 12, 2008, 09:43:17 pm
-
ey saludos, aqui fregando otra vex jajaja. Bueno, tengo q hacer un programa en MATLAB que, por medio de una WebCam, me detecte si un objeto esta bueno o esta malo. Por ejemplo un vaso, si el vaso esta en perfecto estado no ocurre nada, pero si esta defetuoso con rayones o quebrado que me muestre en pantalla un mensaje diciendome que esta malo. Hasta ahora esto llevo del programa:
vid = videoinput('winvideo',1,'RGB24_320x240'); %Establece la conecxión con la WebCam
start(vid); %Inica la WebCam
imagen=getsnapshot(vid); %Toma la foto
J = rgb2gray(imagen); %Convierte la foto a blanco y negro
BW = edge(J,'prewitt'); %Filtro
BW2 = edge(J,'canny'); %Filtro
imshow(BW); %Muestra foto filtrada
figure, imshow(imagen) %Muestra la foto
Con esto solo he sacado el borde del objeto, mi primer gran problema es q la WebCam es la pura mie--- la resolucion es basura y cuando toma la foto la toma horrible (toda oscura xq c tiene q estabilizarse primero, es como cuando uno prende la luz y los ojos c adaptan a ese cambio de luminosidad) entonces si la foto no c ve bien el filtro sale mal. Y el segundo pronlema es q no c como comparar imagenes con MATLAB.
por favor alguien paloma en MATLAB q derrame conocimiento a este humilde ser humano :sur: :sur: :sur:
-
No es por nada pero lo primero es lo primero, y en este caso hay que hacer el esfuerzo por conseguir una camarita que te sea mas fiable. Ademas que para detectar fallas en ese caso (mas si el vaso es tranparente!) se requiere que la foto sea fiable y que las condiciones de luz sean adecuadas y constantes.
Otra cosa, si siempre toma la foto con el vaso exactamente en la misma posicion, podrias tomar la foto de un vaso en perfecto estado primero y luego hacer una comparación pixel a pixel y poner un limite de tolerancia en variación.
El secreto estaria en tomar la foto con el vaso siempre en la misma posicion (alguna banda automatica o algo asi).
-
No es por nada pero lo primero es lo primero, y en este caso hay que hacer el esfuerzo por conseguir una camarita que te sea mas fiable. Ademas que para detectar fallas en ese caso (mas si el vaso es tranparente!) se requiere que la foto sea fiable y que las condiciones de luz sean adecuadas y constantes.
Otra cosa, si siempre toma la foto con el vaso exactamente en la misma posicion, podrias tomar la foto de un vaso en perfecto estado primero y luego hacer una comparación pixel a pixel y poner un limite de tolerancia en variación.
El secreto estaria en tomar la foto con el vaso siempre en la misma posicion (alguna banda automatica o algo asi).
fijate q eso de q si es transparte ya lo habia pensado, pregunte y me dijeron q c pueden usar camaras infrarrojas, pero q son algo caritas y q MATLAB posee instrucciones para restaurar imagenes, osea para mejorar una imagen toda basura (lo q no me dijeron fueron las instrucciones exactamente solo me dijeron "investigue" :angry2:) Por el momento busco en inter algun tutorial o algo.La noche es larga x_x