el 03-17-2010 04:15 AM
Hola amigos,
estoy adquiriendo video con
una camara de uEye monocromatica el objetivo es poder hacer mediciones
del objeto visualizado por eso quisiera volver digamoslo asi "binaria
mi imagen" para poder identificar las zonas con luz de las oscuras y
quisiera visualizar esto en una grafica en la cual me muestre un rango
de 0 a 255 en el eje X.
no se si me he dado bien a entender, perdonenme es que aun soy novata.
adjunto dos imagenes
la primera con lo que quiero obtener y la segunda con lo que tengo
Agradezco muchisimo su ayuda
Jois
el 03-18-2010 03:44 PM
Hola Jois estas trabajando en LabVIEW? Tienes el modulo de Vision?
Si quieres hacerlo manualmente es relativamente sencillo básicamente necesitas recorrer el arreglo (en este caso lo puedes hacer con dos ciclos for anidados) y si el valor del pixel es mayor al X (en donde es el valor del que quieres distinguir). le asignas un 1 y si es menor 0. Así queda binarizada. Si tienes el modulo de visión hay una función que hace esto.
Ahora para lo de la grafica simplemente suma todos los datos de la columna, y generas con estos un arreglo. Si tienes el modulo usa una función de histograma.
Saludos
el 03-20-2010 05:35 AM
HOLABENJAMIN,
GRAIAS POR CONTESTAR:
YO USO LABVIEW 8.6 PERO NO TENGO LA HERRAMIENTA DE VISION, ESTOY TRABAJANDO CON UNA CAMARA DE UEYE Y ESTA TIENE UNA BIBLIOTECA QUE HE ESTADO UDANDO ENTONCES NO HE TENIDO QUE HACERLO MANUAL O USAR LA HERRAMIENTA DE VISION. CREO QUE YA TENGO LA MI VIDEO BINARIZADO ,LO SE PORQUE LOS DATOS ME LOS ENTREGA EN UN RANGO DE 0 HASTA 255. ESE DATO LO LEI CON UNA GRAFICA, PERO ESTE ME MUESTRA LA INTENSIDAD DE TODA LA IMAGEN PERO YO NECESITO CONCRETAMENTE VER LA INTENSIDAD CUANDO CON EL CURSOR ME DESPLAZO POR EJEMPLO HORIZONTALMENTE.
ES COMPLICADO DE EXPLICAR ES QUE AUN SOY MUY NOVATA EN ESTO, PERO RESUMIENDO QUISIERA QUE AL DESPLAZAR EL CURSOR EN LA IMAGEN EN UNA GRAFICA EN FORMA DE ESPECTRO ME MUESTRE LA INTENSIDAD DE ESA ZONA HORIZONTAL IGUAL QUE EN LAS IMAGENES QUE ADJUNTE.
aLGO IMPORTANTE ES QUE ESTOY TRABAJANDO CON VIDEO EN VIVO OCEA QUE LOS DATOS ESTAN CANBIAN A CADA MOMENTO:
AGRADEZCO MUCHO SU AYUDA
el 03-22-2010 05:48 PM
Hola Jois, en este caso no esta binarizado, pero por lo que entiendo no necesitas binarizar. Binarizar una imagen la convierte en 2 tipos de valores a partir de un treshold. Hay un ejemplo que hace lo que necesitas en los ejemplos de LabVIEW:
LabVIEW\examples\Vision\2. Functions\Analysis\Histogram Example.vi
Puedes descargar la versión de evaluación de 30 días del modulo:
https://lumen.ni.com/nicif/us/evaltlktsigproc/content.xhtml
En este tu puedes dibujar el ROI (Region of intrest en la imagen, y LabVIEW saca el histograma de lo que marcaste, si lo marcas como una línea recta funciona como quieres. Pero para esto también se utilizan herramientas del modulo de visión. Si estás trabajando con LabVIEW 2009 puedes descargarlo en modo de evaluación.
En tu caso puedes simplemente convertir la imagen a un arreglo con la función de ImageToArray o ColorImageToArray estas están incluidas con el driver de IMAQ, y solamente toma la fila que te interesa y mándala a una grafica.
Las funciones que se incluyen en el Driver:
http://digital.ni.com/public.nsf/allkb/392E8F10F049918986256A3B005D484A?OpenDocument
Saludos
el 03-23-2010 07:41 AM
Hola,
muchas gracias por su ayuda 🙂 pero ya encontre la solucion y la quiero compartir. creo que no me pude dar bien a entender y mi problema era my facil de solucionar lo que pasa era que estaba introduciendo mal algunos datos.
lo que hice fue a la entrada de una matriz puse mi matriz 2D y en index puse la posicion del cursor y listo a ala salida una grafica que me muestra la intensidad del eje x o y es que me parecia complicado por que no es imagen sino video en vivo.
aqui adjunto unas foto