Muchas gracias @Alvan Sanchez me alegra mucho que te gusten los videos. He estado un poco atareada por eso no he podido subirlos muy seguido, espero tener más tiempo para hacerlo. Muchas gracias por darte el tiempo de comentar. :)
Ya habia usado opencv anteriormente, recien me encuentro haciendo una investigación de inteligencia artificial y ya no recordaba el espacio de color hsv, buscando en internet me encontre este canal, y wow me enamore, :p
@@OMES-va Deberías considerar enseñar en alguna plataforma como Udemy o algo así ya que ni en esas plataformas que son pagas veo que se tomen tantas molestias para graficar y enseñar.
He visto otros videos de este tema, pero los tuyos siempre son exactamente lo que necesito, los problemas que se me han presentado tú ya los has tenido en cuenta y les has dado solución, muy bien la verdad, lo recomiendo para aprender claro y fácil.
No es común encontrar esta combinación! Una mujer tan bonita hablando de un material tan interesante (en programación)! Heché un vistazo a tus videos y pienso verlos todos, al menos una vez! Bueno, al menos casi todos (solo por cuestiones de SO). De una me salió el primer ejemplo que enseñaste y ahora pienso profundizarlos! Gracias! 🙌 Y éxitos para tu canal!
Hola Gonzalo, muchas gracias por tomarte el tiempo de escribir. Espero que puedas seguir los videos y espero que te gusten mucho, los realizo con mucho cariño. :)
WOW, excelente video, aunque trabajo enteramente en opencv y qtcreator tu video me sirvió para enteder cada parámetro y cómo afecta la detección, muchas gracias
Muchas gracias, acabo de hacer mi primera app de deteccion de rostros, muy util para empezar... Me gustaria saber si tienes un tuto de como subir esta app a un servicio gratuito para testear en la web.
Waooo que video tan bueno espero nos puedas seguir compartiendo ese excelente conocimiento tengo una pregunta como puedo realizar reconocimiento facial ya con este video me da una idea podrias orientarnos mas gracias por tus aportes
Cómo siempre muy buen video !!! Sería muy bueno que entrar en detalles con el entrenador, para no solo aplicarlo a rostros (ando investigando eso) y redes neuronales ! Estaría de lujo, seguiré al pendiente de tus vídeos. Felicidades !!
me resulta muy interesante tu trabajo. has pensado hacer una aplicación que pueda ser instalada en cada terminal y que detecte cuando un alumno no esté prestando atención a su clase remota. sé que hay algunos proyectos en desarrollo, pero sería genial que hagas uno para un uso más local.
Hola Gaby!! Para empezar quiero decirte que cada video tuyo que veo tiene ese aire de enseñanza de 5 estrellas, está con pequeños detalles de funciones, correcta recomendación de las tarjetas, tono de voz excelente, ME ENCANTA jaja. Sinceramente deberíamos darte unos cuantos verdes para que en un futuro abras alguna academia online de esto. Ahora bien, tengo un problema con detectMultiscale, me sale el sigte error: " faces = faceClassif.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30)) cv2.error: OpenCV(4.1.2) C:\projects\opencv- python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale' " Uso opencv 4.2, python 3.6, y Pycharm Community. Estuve leyendo en foros y parece que no me detecta el archivo frontalface_default, hasta modifique un archivo hpp para que me lo detecte y nada.
Hola Andrés, ¿cómo estás? Te has dado el tiempo de escribir un comentario muy bonito (¡Me he puesto muy contenta al leerlo! :') ). Muchas gracias de verdad por plasmar lo que piensas, me alegra un montón que los tutoriales sean de ayuda y que si me esté dando a explicar. De verdad me has sorprendido con tu comentario ya que me encantaría seguir con más visión por computador en el futuro :D Según el problema que tienes con respecto al error que te sale, puede que el archivo haarcascade_frontalface_default.xml no esté en la misma carpeta que el script, y si lo está puede que no esté correctamente escrito su nombre. Te recomiendo que pruebes si es eso. Te dejo mi repositorio de gitHub en donde está este programa: github.com/GabySol/OmesTutorials/tree/master/Detecci%C3%B3n%20de%20Rostros Me dices con toda confianza si se solucionó el error o persiste. ¡Cuídate mucho!
@@OMES-va Acabo de realizar la prueba de poner el archivo xml dentro de la carpeta de script y ahora me salta otro error. Seguiré buscando en los post para encontrar alguna solución y si lo logro escribiré la respuesta aquí. O tal vez lo mejor sea usar otro IDE más sencillo.
Aleluya! He encontrado la solución(GitHub is GOOD) Para los que estan teniendo problemas con opencv 4.2 prueben a poner la siguiente línea: -faceClassif = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml') Yo lo hice y me anduvo a la primera
@@andrespereira4852 Puedes revisar si la imagen de entrada está correctamente leída. Si persiste el error puedes comentar tu código y/o el error que te salta. ¡Saludos y ánimo! :)
Hola Gaby !!! muy buenos todos tus videos y super entendibles !!! quería saber como poder implementar en el código una estructura que me indique cuando un rostro se desplaza hacia la derecha o hacia la izquierda soy nuevo en tema ... seria de gran ayuda te deseo éxitos !!!
ante todo gracias por tus excelentes videos estuve buscando informacion sobre detección de rostros y entendia mucho pero al ver tus videos bien explicados despeje muchas dudas y me dio mas ganas de aprender queria preguntarte que version de python y opencv usas y que diferencia hay con el tensorflow
Hola giancarlo, muchas gracias me alegra que te haya ayudado el tutorial. Justo ahora me cambié a OpenCV 4.1.2, en cuanto a Python uso la versión 3.6, y este código me ha funcionado también en estas vesiones (Antes usaba OpenCV 3.4.4). La diferencia es que tensorflow emplea redes neuronales para la obtención de clasificadores.
@@OMES-va gracias gaby por responderme por ahora me instale el python2.7.16 y el opencv3.1.0 asi como el de tu video y te tengo una pregunta cv2.videocapture(0) dices q capturas de la camara este parametro podria ser una url porque yo tengo una camara que pones la url y carga la foto instantánea de ese monento por ejemplo 192.168.1.45/screen mi pregunta si acepta ese parametro y me da mucho gusto que sepas y expliques bien espero contar con tu ayuda para poder aprender
@@giancarlomejia5496 Gracias a ti por escribir :) , y en realidad no he usado una cámara así. Pero cuando pones 0 o -1 quiere decir que vas a usar la cámara que está en tu laptop, si pones 1, estás eligiendo una segunda cámara, si pones 2 otra cámara y así sucesivamente. Puedes probar eso primero a ver si te funciona.
Excelente y muy bien la explicacion. Consulta: tendras un tutorial para usar la raspberry con opencv para deteccion y guardado en base postgree de patentes de vehiculos? me encantaria realizar ese proyecto Muchas gracias!!!
Hola Ariel, muchas gracias. :) Te cuento que tengo este video: th-cam.com/video/vpNOP8bZFEQ/w-d-xo.html en donde hablo de las herramientas que me están sirviendo para estudiar.
Hola muy buenas noches, podrias hacer un tutorial algo similar a este solo que podrias implementar al sofware que reconosca el rostro de la persona q esta siendo grabada
Hola , excelente trabajo con tu video y realice la prueba y me salio correcto por lo bien explicado. Una pregunta si deseo DIBUJAR un rectangulo de color en el CENTRO del striming y cuando presione una tecla o boton, exclusivamente lo que esta dentro de ese recatngulo se CAPTURE...!! Espero y me haya dado a entender y me puedas dar una idea.. GRACIAS
@@OMES-va si muchas gracias, en el almacenamiento no tengo probelma al igual que en el reconocimeinto de rostro, pero es que deseo pintar un recuadro FIJO y que ahi se coloque el usuario, para cuando le de capturar solo guarde lo del recuadro.. mi problema es como generar el recuadro FIJO ... muchas gracias por tomarte el tiempo para responderme... saludos
@@OMES-va si muchas gracias por la ayuda, asi es justamente como lo hice, ya solo me falta implementar que lo que esta dentro de ese rectangulo lo guarde como FOTO... Observare tu video .. GRACIAS Y EXCELENTE DIA ;)
Hola, como estas? genial video, oye, he leido he intentado de varias maneras usar el detectMultiScale, pero no me deja, tendrias alguna recomendación?, gracias
excelente aporte.. una duda mi cámara sale en negro, alguna idea de como solucionar, ya agregue esto cap = cv2.VideoCapture(0+cv2.CAP_DSHOW), porque salía un error y al agregar esto cv2.CAP_DSHOW aparece el video pero negro, como que la cámara no funcionara. ya probé el video de la cámara y esta ok.
Hola Julio, si tienes problemas en determinar cierto color en HSV, puedes tomar una porción de la imagen en donde aparezca dicho color. Puedes analizar esa región y determinar los límites bajos y altos de componentes H S y V.
Excelente explicación, solo he tenido un problema la función cv2.destroyAllWindow() me tira un error al cerrar el programa, pero no me pasa solo con este sino cada que la uso. me tira: Traceback (most recent call last): File "C:/Users/PC0/Desktop/OpenCV Project/DeteccionRostrosHaarCascades/detectorRostros.py", line 22, in cv2.destroyAllWindow() AttributeError: module 'cv2.cv2' has no attribute 'destroyAllWindow' Espero puedas ayudarme. Saludos.
una consulta, me descarge haarcascade_frontalcatface.xml, luego lo extrage en una carpeta, y con el programa anaconda pegue el codifgo detectorRostrovideo.pi, y al momento de ejectutar me sale esto File "C:\Users\oscar1\Documents ostro\DetectorRostroVideo.py", line 12, in ret,frame = cap.read() KeyboardInterrupt
No encuentro cómo descargar el archivo de GitHub T.T ... toca copiar y pegar en un bloc de notas o algo así? porque no vi por ningún lado algo que dijera download :c soy nueva con eso jeje
Excelente video , gracias por compartir y explicar tus conocimientos , saludos! una duda ¿donde puedo encontrar conjuntos de datos libres (ademas de los de tus link) para proyectos de IA?
En que casos se hace procesamiento de imágenes? Me refiero a tal punto de solo sacar bordes porque he visto en otros que incluso hasta solo usan la foto tal cual :/
Gran video. Tengo una duda. una vez ubicado el rostro, podemos aumentar una variable "X" ? Imaginemos que se detectan 5 rostros, en este caso mi variable "X" aumentaria en 5, es posible esto? A lo que voy es que, si es posible llevar un conteo de los rostros que ubica en tiempo real?
Hola una consulta para el video corro el mismo codigo pero me da este errorL error: cv2.error: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\demosaicing.cpp:1699: error: (-215:Assertion failed) scn == 1 && dcn == 1 in function 'cv::demosaicing'
En vez de usar eso: faceClassif=cv2.CascadeClassifier("haarcascade_frontalface_default.xml") Use esto: faceClassif = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml') espero te sirve saludos desde Perú
Hola saludos gran canal muy didactico, tengo una duda como cierro la camara ? cuando le doy cerrar se me vuelve abrir, o como cierro el bucle seria la pregunta.
Hola Gregory muchas gracias, puedes cerrarla con la letra 'q'. Dale un vistazo a este link: omes-va.com/deteccion-de-rostros-con-haar-cascades-python-opencv/ en la sección: Detección de rostros en video. Línea 17.
Hola me pareció muy interesante tu contenido, y me gustaría que me ayudaras con una duda que tengo, es posible realizar un sistema de verificación de la altura de la vista (ojos) que tengan las personas frente a un computador por medio de python haciendo uso de la librería opencv?, me explico si su linea de visión esta por debajo de cierto punto mandará una señal "x" y si está por encima de cierto punto indique que todo se encuentra bien, es un proyecto que estoy realizando y bueno me encantaría que me dieras una recomendación, por donde empezar, te agradezco de antemano y quedo atento a tu respuesta.
Espero alguien me pueda ayudar, por alguna razón cuando abro una imagen luego de que la cierro la terminal deja de funcionar, no recibe otros procesos, cómo si siguiera ejecutandose, me pasa algo similar con el video con la diferencia de que cuando lo cierro se vuelve a abrir y me toca reiniciar el nucleo de python para detenerlo.
Hola puse una img que encontré en google donde solo hay 1 negra y como 3 blancos y no detecta la negra XD sabes como puedo hacer para que detecte mas caras cuando no las detecta desde un principio ?
Hola Matias, puede haber ese tipo de limitaciones. Tendrías que experimentar con los valores con los que más identificaciones positivas tengas. Puedes también optar por buscar otra técnica de detección de rostros.
Hola Juan, tendrías que realizar pruebas sobre las distanacias de la cámara al rostro de la persona que se desea detectar, con los parámetros que le das en detectMultiScale.
Hola Jonathan, estudié ingeniería electrónica en control y redes industriales, pero visión por computador lo he estudiado y lo estoy estudiando de forma autodidacta! :)
excelente vídeo, muy bueno de verdad, yo uso como IDE Spyder Anaconda y al seguir los pasos y tener el mismo código me sale este error: cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale', creo yo es por que le falta el archivo xml correspondiente haar cascade. Pero si tu me puedes dar otra ayuda sera de gran utilidad y tampoco creo que sea el IDE
Hola Esteban, qué versión de OpenCV posees? Puedes revisar el apartado de, '¡Ahora, programemos! Detección de rostros sobre una imagen' en este link: omes-va.com/deteccion-de-rostros-con-haar-cascades-python-opencv/
@@OMES-va vale gracias!!! Es el que tú tienes, porque también seguí esos pasos de instalación de uno de tus videos!!! Y el vídeo del link también lo ví....y también me da el mismo error.....por cierto están muy buenos.....♥️ Tienes algún correo en el que nos podamos comunicar.... porque estoy empezando hacer un proyecto sobre detección de movimientos y como soy nuevo en OpenCv me está jugando una mala pasada!!!
Usaste tal vez esta línea: cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml") en vez de la del video? En el link que te había enviado está, para que puedas probarla a ver que tal te va. Para poder conocer la versión instalada de OpenCV puedes realizarlo así: omes-va.com/version-de-opencv/ Espero que pueda ayudarte la info Esteban :D
Una consulta, si quisiera comparar una foto (a), con un grupo de fotos y que me detecte cual se parece mas a la foto (a), de toda la base de datos, se podria?
Hola, me parecio muy bueno tu video y gracias por estos aportes :) y.. tengo una duda, acabo de hacer tal los pasos del video y tengo el mismo código, pero al momento de ejecutarlo abre la imagen y muestra los rectángulos pero en la consola me sale esto: libpng warning: iCCP: cHRM chunk does not match sRGB , no se que puedo hacer para solucionarlo, muchas gracias
Hola StevenRB, muchas gracias. Según leo hay algún problema con la imagen que estas usando, prueba con otra a ver si obtienes el mismo error. Aquí tienes algunas opciones que podrías tomar: stackoverflow.com/questions/22745076/libpng-warning-iccp-known-incorrect-srgb-profile
quisiera saber porque trabajas con BGR y no RGB segun leo muchas aplicaciones graficas funciona mejor con BGR pero quisiera saber el porque? que tiene que ver que el azul sea el byte mas significativo y el rojo no ?
Hola jhon, en realidad OpenCV por defecto lee las imágenes en BGR, pero puedes cambiar esto, si te es más cómodo puedes pasar la imagen de BGR a RGB con la función cv2.cvtColor.
Hola Freddy, cuando instalas opencv vía pip también viene numpy, pero si ese no fue el caso puedes instalarlo con pip install numpy. Para imutils: pip install imutils.
solo señalar que cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml") en realidad cv2.CascadeClassifier("/pathabsoluto para el archivo/haarcascade_frontalface_default.xml"), que si tienes el archivo .xml en la misma carpeta que el .py puedes omitir la ruta absoluta o esto:cv2.data.haarcascades ( que ami no me funciono :(
@@OMES-va imágenes en general, Tengo imágenes donde su orientación es hacia abajo o la derecha y estoy realizando un proyecto en el que sin saber la dirección de la imagen necesito rotarla para que se pueda leer, lo hago por medio ángulos de inclinación pero la medida es igual si esta boca abajo, a la derecha o izquierda, podrías ayudarme por favor
@@davidheredia3064 Podrías seguir este tutorial: th-cam.com/video/iAnCUJvNCGY/w-d-xo.html Para obtener mejores resultados, podrías ubicar tu imagen (papel o documento) sobre una superficie que sea diferenciable del propio documento.
@@davidheredia3064 Ohh! Creo que este es el tutorial que te va a servir: www.pyimagesearch.com/2017/02/20/text-skew-correction-opencv-python/ Dale un vistazo! :D
Hola Miguel, estaba en ubuntu así que allí usé el terminal. Si estás en Windows puedes buscar el símbolo del sistema. Tal vez este tutorial te sea útil: th-cam.com/video/6uPQNWE3DYU/w-d-xo.html
@@OMES-va Gracias por recordarme xd Pues si Cuando intento ejecutar el programa, si funciona pero, al momento que ejecuta, la imagen no sale completa. Solamente sale la mitad de mi imagen
Hola David, podrías aplicar las mismas técnicas que para el reconocimiento facial: th-cam.com/video/cZkpaL36fW4/w-d-xo.html aquí otro ejemplo: th-cam.com/video/7AY_Xgehyks/w-d-xo.html
hola amiga, buen video pero tengo una consulta, estoy aplicando tu mismo codigo pero me sale este error faces = faceclassif.detectmultiscale(gray, cv2.error: opencv(4.5.3) c:\users unneradmin\appdata\local\temp\pip-req-build-1i5nllza\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:assertion failed) !empty() in function 'cv::cascadeclassifier::detectmultiscale' busque la solucion y me dice que puede que no se lea bien, la imagen, trate de cambiar faceClassif = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') a cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml") pero tampoco me sirve tengo la version 4.5.3 gracias
@@OMES-va no, y la verdad es que lo intente con tu código de los videos iniciales y es raro porque si me valió en la primera prueba que hice, de igual forma, le intente con dos imagenes en png y tampoco valio, tendra algo que ver con la imagen en si?, import cv2 imagen = cv2.imread('retrato.png') cv2.imshow('Prueba de imagen', imagen) cv2.waitKey(0) cv2.destroyAllWindows()
@@OMES-va Sip, las dos, y ninguna me valio, lo que me parece raro porque como te digo el código con la imagen que pusiste en tu blog en la de Como LEER, VISUALIZAR y GUARDAR UNA IMAGEN en Python usando OpenCV si me valio :c osea, pero cuando puse 0, igual se me mantenia por un segundo, y se supone que debia estar la imagen hasta que presione una tecla, pero solo me duro como un segundo, tal vez sea python?
Te dejo el tutorial de este video en forma escrita ;) omes-va.com/deteccion-de-rostros-con-haar-cascades-python-opencv/ ¡Ten un lindo día/noche!
puedes hacer un video de open cv y atravez de una captura mover el click del mouse o otra cosa etc
Gracias, ok...
Flipo a colores ,no se como gente no aprecia tan buen trabajo que haces en cada video.Muchas Gracias
Admiro tu gran trabajó, que buenos aportes, gracias ❤️
Muchas gracias Francisco :D
Muy buen trabajo! 💯
Porfín un video en el que aprendes y no te aburres jajaja
Saludos desde 🇲🇽
Muchas gracias Alberto 😀😊
Vuelve a hacer videos, no lo dejes, de verdad estas super cañona estoy fascinado contigo, eres la mejor!!!!
Muchas gracias @Alvan Sanchez me alegra mucho que te gusten los videos. He estado un poco atareada por eso no he podido subirlos muy seguido, espero tener más tiempo para hacerlo. Muchas gracias por darte el tiempo de comentar. :)
Ya habia usado opencv anteriormente, recien me encuentro haciendo una investigación de inteligencia artificial y ya no recordaba el espacio de color hsv, buscando en internet me encontre este canal, y wow me enamore, :p
Muchas gracias Eduardo :)
De verdad que en todo el tiempo que he programado y visto tutoriales y vídeos de programación ninguno ha sido tan explícito y ameno. Felicitaciones!!
Hola Felipe, muchas gracias por dejar tus comentarios, me animan muchísimo. :)
@@OMES-va Deberías considerar enseñar en alguna plataforma como Udemy o algo así ya que ni en esas plataformas que son pagas veo que se tomen tantas molestias para graficar y enseñar.
Hermosa y muy inteligente. Me han ayudado mucho sus vídeos y su blog. Gracias por su enorme aporte a la comunidad.
Hola Frank, muchas gracias me alegra mucho saber que el contenido este siendo útil.
He visto otros videos de este tema, pero los tuyos siempre son exactamente lo que necesito, los problemas que se me han presentado tú ya los has tenido en cuenta y les has dado solución, muy bien la verdad, lo recomiendo para aprender claro y fácil.
A parte de wapa, execelente en conocimientos!! Con tus vídeos he aprendido conceptos que desconocía y tengo montado un par de proyectos en casa
Eres una chica maravillosa e inteligente me encantan tus vídeos saludos
Me agrada que lo expliques bien, gracias y sigue así!
Muchas gracias Brian!
No es común encontrar esta combinación! Una mujer tan bonita hablando de un material tan interesante (en programación)! Heché un vistazo a tus videos y pienso verlos todos, al menos una vez! Bueno, al menos casi todos (solo por cuestiones de SO). De una me salió el primer ejemplo que enseñaste y ahora pienso profundizarlos! Gracias! 🙌 Y éxitos para tu canal!
Hola Gonzalo, muchas gracias por tomarte el tiempo de escribir. Espero que puedas seguir los videos y espero que te gusten mucho, los realizo con mucho cariño. :)
me voy de este video con nuevo conocimiento y también enamorado jiji
Que buen youtuber, referencia paper, cuadros graficos excelente... me encanto.
Muchas gracias jhoel :D
WOW, excelente video, aunque trabajo enteramente en opencv y qtcreator tu video me sirvió para enteder cada parámetro y cómo afecta la detección, muchas gracias
Hola Azeca Red, me alegra mucho que el video te haya sido de ayuda! :D
Muchas gracias, acabo de hacer mi primera app de deteccion de rostros, muy util para empezar... Me gustaria saber si tienes un tuto de como subir esta app a un servicio gratuito para testear en la web.
Waooo que video tan bueno espero nos puedas seguir compartiendo ese excelente conocimiento tengo una pregunta como puedo realizar reconocimiento facial ya con este video me da una idea podrias orientarnos mas gracias por tus aportes
Buen trabajo Gaby, se entiende todo perfecto, Gracias por compartir.
me encantan tus vídeos no me gusta Python pero el código q pones es tan simple y me gusta copiar y pegar jajaja
Cómo siempre muy buen video !!! Sería muy bueno que entrar en detalles con el entrenador, para no solo aplicarlo a rostros (ando investigando eso) y redes neuronales ! Estaría de lujo, seguiré al pendiente de tus vídeos. Felicidades !!
Muchas gracias Julio, gracias por tus sugerencias y apoyo. :D
Que Genial ,que eres ..!! Ya comenze a ver todos tus vídeos :3
Gracias Paul por tus palabras, espero te sean de utilidad los videos :D
guau me perdí en tu mirada pero si me salio la programación muchas gracias
gracias muñeca bonita, tus trabajos quedaran para la prosperidad éxitos...
Como siempre excelente videos, Saludos de mucha ayuda para mi proyecto
Me alegra mucho que el video pueda ayudarte en tu proyecto! 😀 Espero que puedas realizarlo de la mejor manerda. Saludos Karlos
Muchas gracias explicas muy bien
Muchas gracias RoboticStudio! :)
GRACIAS POR TU VALIOSO APORTE ES GENIAL .
Muchas gracias Jaime Corrales 😊!
Tus videos son lo maximo muchas gracias por tu aporte !!!! :D
Muchas gracias Gustavo! :D
Gracias, que buen video
Eres hermosa y muy lista, felicidades, saludos desde México, estoy estudiando la ingeniería en informática
Hola Gustavo, muchas gracias! Muchos saludos para ti también.
vine por cobre y encontré oro, gracias por el video!
Gracias, profe: muy buena clase. :-)
Muchas gracias Vidal somohano! :D
Excelente video, como siempre.
excelente :D muchas gracias
me resulta muy interesante tu trabajo. has pensado hacer una aplicación que pueda ser instalada en cada terminal y que detecte cuando un alumno no esté prestando atención a su clase remota. sé que hay algunos proyectos en desarrollo, pero sería genial que hagas uno para un uso más local.
Hola Sergio muchas gracias! Y muchas gracias por la sugerencia. :)
Me sirvió mucho, muchas gracias!
excelente profesoraaa
Hola Gaby!! Para empezar quiero decirte que cada video tuyo que veo tiene ese aire de enseñanza de 5 estrellas, está con pequeños detalles de funciones, correcta recomendación de las tarjetas, tono de voz excelente, ME ENCANTA jaja. Sinceramente deberíamos darte unos cuantos verdes para que en un futuro abras alguna academia online de esto. Ahora bien, tengo un problema con detectMultiscale, me sale el sigte error:
" faces = faceClassif.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
cv2.error: OpenCV(4.1.2) C:\projects\opencv- python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale' "
Uso opencv 4.2, python 3.6, y Pycharm Community. Estuve leyendo en foros y parece que no me detecta el archivo frontalface_default, hasta modifique un archivo hpp para que me lo detecte y nada.
Hola Andrés, ¿cómo estás? Te has dado el tiempo de escribir un comentario muy bonito (¡Me he puesto muy contenta al leerlo! :') ).
Muchas gracias de verdad por plasmar lo que piensas, me alegra un montón que los tutoriales sean de ayuda y que si me esté dando a explicar. De verdad me has sorprendido con tu comentario ya que me encantaría seguir con más visión por computador en el futuro :D
Según el problema que tienes con respecto al error que te sale, puede que el archivo haarcascade_frontalface_default.xml no esté en la misma carpeta que el script, y si lo está puede que no esté correctamente escrito su nombre. Te recomiendo que pruebes si es eso. Te dejo mi repositorio de gitHub en donde está este programa: github.com/GabySol/OmesTutorials/tree/master/Detecci%C3%B3n%20de%20Rostros
Me dices con toda confianza si se solucionó el error o persiste. ¡Cuídate mucho!
@@OMES-va Buenas noches maestra jaja. Mañana vuelvo a verificar y probar lo que me dijiste. Gracias por tu respuesta👌🏻😁
@@OMES-va Acabo de realizar la prueba de poner el archivo xml dentro de la carpeta de script y ahora me salta otro error. Seguiré buscando en los post para encontrar alguna solución y si lo logro escribiré la respuesta aquí. O tal vez lo mejor sea usar otro IDE más sencillo.
Aleluya! He encontrado la solución(GitHub is GOOD) Para los que estan teniendo problemas con opencv 4.2 prueben a poner la siguiente línea:
-faceClassif = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
Yo lo hice y me anduvo a la primera
@@andrespereira4852 Puedes revisar si la imagen de entrada está correctamente leída. Si persiste el error puedes comentar tu código y/o el error que te salta. ¡Saludos y ánimo! :)
Muy buen trabajo
enamorado de vos Gaby. Excelente.
Hola Gaby !!! muy buenos todos tus videos y super entendibles !!! quería saber como poder implementar en el código una estructura que me indique cuando un rostro se desplaza hacia la derecha o hacia la izquierda soy nuevo en tema ... seria de gran ayuda te deseo éxitos !!!
Hola Rafael, muchas gracias! :D Tendrías que ir almacenando las posiciones centrales del rostro, para saber en que dirección se está moviendo.
6:29
ante todo gracias por tus excelentes videos estuve buscando informacion sobre detección de rostros y entendia mucho pero al ver tus videos bien explicados despeje muchas dudas y me dio mas ganas de aprender
queria preguntarte que version de python y opencv usas y que diferencia hay con el tensorflow
Hola giancarlo, muchas gracias me alegra que te haya ayudado el tutorial. Justo ahora me cambié a OpenCV 4.1.2, en cuanto a Python uso la versión 3.6, y este código me ha funcionado también en estas vesiones (Antes usaba OpenCV 3.4.4). La diferencia es que tensorflow emplea redes neuronales para la obtención de clasificadores.
@@OMES-va
gracias gaby por responderme por ahora me instale el python2.7.16 y el opencv3.1.0 asi como el de tu video y te tengo una pregunta cv2.videocapture(0) dices q capturas de la camara este parametro podria ser una url porque yo tengo una camara que pones la url y carga la foto instantánea de ese monento por ejemplo 192.168.1.45/screen mi pregunta si acepta ese parametro y me da mucho gusto que sepas y expliques bien espero contar con tu ayuda para poder aprender
@@giancarlomejia5496 Gracias a ti por escribir :) , y en realidad no he usado una cámara así. Pero cuando pones 0 o -1 quiere decir que vas a usar la cámara que está en tu laptop, si pones 1, estás eligiendo una segunda cámara, si pones 2 otra cámara y así sucesivamente. Puedes probar eso primero a ver si te funciona.
me gustaria ser open cv, para poder identificarte todos los dias
Parabéns pelo excelente vídeo
Gracias Alessandro!
grcs muy bien explicado.
Muchas gracias Miguel.
Eres una maquina
Muchas gracias Alvaro :)
Excelente y muy bien la explicacion. Consulta: tendras un tutorial para usar la raspberry con opencv para deteccion y guardado en base postgree de patentes de vehiculos? me encantaria realizar ese proyecto
Muchas gracias!!!
Hola Luis, muchas gracias 😊. Por ahora no tengo tutoriales sobre ello.
Genial
Excelente. Una consulta. Con mi grupo de desarrollo queremos implementar esto para una App, que detecte el rostro y lo recorte. Vos estas disponible?
excelente video me sirvio bastante, si quiero profundizar mas sobre deteccion de objetos con machine learning que me sugieres
Hola Ariel, muchas gracias. :) Te cuento que tengo este video: th-cam.com/video/vpNOP8bZFEQ/w-d-xo.html en donde hablo de las herramientas que me están sirviendo para estudiar.
Que buen video, saludos.✌
Muchas gracias DAVID, saludos para ti también.
podrias hacer uno con comandos de voz , con python y ARDUINO. SALUDOS DESD BRASIL , MUCHAS GRACIAS
hola como hago para cargar la imagen a detectar el rostro, la pueda seleccionar desde un boton
Hola muy buenas noches, podrias hacer un tutorial algo similar a este solo que podrias implementar al sofware que reconosca el rostro de la persona q esta siendo grabada
Hola dannyy, necesitas algo de reconocimiento facial?
@@OMES-va claro que si, pero quisiera que el programa reconosca a la persona que esta siendo grabada
Hola , excelente trabajo con tu video y realice la prueba y me salio correcto por lo bien explicado. Una pregunta si deseo DIBUJAR un rectangulo de color en el CENTRO del striming y cuando presione una tecla o boton, exclusivamente lo que esta dentro de ese recatngulo se CAPTURE...!! Espero y me haya dado a entender y me puedas dar una idea.. GRACIAS
Hola Adrian, puedes ver el video que he realizado para almacenar rostros: th-cam.com/video/ZYPyM4JUU7w/w-d-xo.html
@@OMES-va si muchas gracias, en el almacenamiento no tengo probelma al igual que en el reconocimeinto de rostro, pero es que deseo pintar un recuadro FIJO y que ahi se coloque el usuario, para cuando le de capturar solo guarde lo del recuadro.. mi problema es como generar el recuadro FIJO ... muchas gracias por tomarte el tiempo para responderme... saludos
De nada Adrian!, puedes usar cv2.rectangle y establecer las coordenadas en donde desees que aparezca el recuadro.omes-va.com/funciones-dibujo/
@@OMES-va si muchas gracias por la ayuda, asi es justamente como lo hice, ya solo me falta implementar que lo que esta dentro de ese rectangulo lo guarde como FOTO... Observare tu video .. GRACIAS Y EXCELENTE DIA ;)
Hola, como estas? genial video, oye, he leido he intentado de varias maneras usar el detectMultiScale, pero no me deja, tendrias alguna recomendación?, gracias
me sale este error alguna sugerencia para la solucion???
SystemError: returned a result with an error set
excelente aporte.. una duda mi cámara sale en negro, alguna idea de como solucionar, ya agregue esto cap = cv2.VideoCapture(0+cv2.CAP_DSHOW), porque salía un error y al agregar esto cv2.CAP_DSHOW aparece el video pero negro, como que la cámara no funcionara.
ya probé el video de la cámara y esta ok.
maravilloso !!
:3
Muchas gracias Anthony :D
Muy bueno!
Muchas gracias Juan! :)
Disculpa buenas noches quería saber si me puedes ayudar en tener los colores en hsv del color naranja y fucxia
Hola Julio, si tienes problemas en determinar cierto color en HSV, puedes tomar una porción de la imagen en donde aparezca dicho color. Puedes analizar esa región y determinar los límites bajos y altos de componentes H S y V.
Podrías conversar en privado porfa
Excelente explicación, solo he tenido un problema
la función cv2.destroyAllWindow() me tira un error al cerrar el programa, pero no me pasa solo con este sino cada que la uso.
me tira: Traceback (most recent call last): File "C:/Users/PC0/Desktop/OpenCV Project/DeteccionRostrosHaarCascades/detectorRostros.py", line 22, in
cv2.destroyAllWindow()
AttributeError: module 'cv2.cv2' has no attribute 'destroyAllWindow'
Espero puedas ayudarme. Saludos.
Hola ElectrikVocal 95, lo que pasa es que falta un s en la función, prueba con: cv2.destroyAllWindows(). Saludos para ti rambién. :)
una consulta, me descarge haarcascade_frontalcatface.xml, luego lo extrage en una carpeta, y con el programa anaconda pegue el codifgo detectorRostrovideo.pi, y al momento de ejectutar me sale esto
File "C:\Users\oscar1\Documents
ostro\DetectorRostroVideo.py", line 12, in
ret,frame = cap.read()
KeyboardInterrupt
hola que compilador utilizar para meter el codigo yo ocupo virtual studio pero cual es la que ocupas , gracias
No encuentro cómo descargar el archivo de GitHub T.T ... toca copiar y pegar en un bloc de notas o algo así? porque no vi por ningún lado algo que dijera download :c soy nueva con eso jeje
Excelente video Gaby; queria saber como se puede crear un clasificador como los clasificadores ya preentrenados. Saludos !!!
Espero poder realizarlos en un futuro no muy lejano jeje. Muchos saludos Eliot.
coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html
@@sebastiannietor9724 excelente Gracias
@@OMES-va Muy bien tus vídeos, gracias por tu tiempo y por compartir.
Excelente video , gracias por compartir y explicar tus conocimientos , saludos! una duda ¿donde puedo encontrar conjuntos de datos libres (ademas de los de tus link)
para proyectos de IA?
Hola, podrías ir a www.kaggle.com/datasets
@@OMES-va muchas gracias
En que casos se hace procesamiento de imágenes? Me refiero a tal punto de solo sacar bordes porque he visto en otros que incluso hasta solo usan la foto tal cual :/
Gran video.
Tengo una duda. una vez ubicado el rostro, podemos aumentar una variable "X" ?
Imaginemos que se detectan 5 rostros, en este caso mi variable "X" aumentaria en 5, es posible esto?
A lo que voy es que, si es posible llevar un conteo de los rostros que ubica en tiempo real?
Hola Djfercho234, muchas gracias. Puedes ayudarte de len, por ejemplo: len(faces). Allí obtendrás la cantidad de rostros que se han detectado.
Hola una consulta para el video corro el mismo codigo pero me da este errorL error:
cv2.error: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\demosaicing.cpp:1699: error: (-215:Assertion failed) scn == 1 && dcn == 1 in function 'cv::demosaicing'
En vez de usar eso: faceClassif=cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
Use esto:
faceClassif = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
espero te sirve saludos desde Perú
me marca error en la lineal 9. puedes explicar todo
Hola saludos gran canal muy didactico, tengo una duda como cierro la camara ? cuando le doy cerrar se me vuelve abrir, o como cierro el bucle seria la pregunta.
Hola Gregory muchas gracias, puedes cerrarla con la letra 'q'. Dale un vistazo a este link: omes-va.com/deteccion-de-rostros-con-haar-cascades-python-opencv/ en la sección: Detección de rostros en video. Línea 17.
Hola me pareció muy interesante tu contenido, y me gustaría que me ayudaras con una duda que tengo, es posible realizar un sistema de verificación de la altura de la vista (ojos) que tengan las personas frente a un computador por medio de python haciendo uso de la librería opencv?, me explico si su linea de visión esta por debajo de cierto punto mandará una señal "x" y si está por encima de cierto punto indique que todo se encuentra bien, es un proyecto que estoy realizando y bueno me encantaría que me dieras una recomendación, por donde empezar, te agradezco de antemano y quedo atento a tu respuesta.
Hola Isac P muchas gracias, si podrías realizarlo. Existe un clasificador pre eentrenado para detectar ojos, o podrías también usar la librería dlib.
Espero alguien me pueda ayudar, por alguna razón cuando abro una imagen luego de que la cierro la terminal deja de funcionar, no recibe otros procesos, cómo si siguiera ejecutandose, me pasa algo similar con el video con la diferencia de que cuando lo cierro se vuelve a abrir y me toca reiniciar el nucleo de python para detenerlo.
genialllllllllllll
Muchas gracias raul burbano! :D
Hola puse una img que encontré en google donde solo hay 1 negra y como 3 blancos y no detecta la negra XD sabes como puedo hacer para que detecte mas caras cuando no las detecta desde un principio ?
Hola Matias, puede haber ese tipo de limitaciones. Tendrías que experimentar con los valores con los que más identificaciones positivas tengas. Puedes también optar por buscar otra técnica de detección de rostros.
Amazing video!!! :D :D :D
Hola, muchas gracias por el contenido, como podria saber cual es el limite de distancia en que se detecta un rostro?
Hola Juan, tendrías que realizar pruebas sobre las distanacias de la cámara al rostro de la persona que se desea detectar, con los parámetros que le das en detectMultiScale.
@@OMES-va perfecto, gracias
Que carrera estudiaste?, me gusta mucho lo que haces
Hola Jonathan, estudié ingeniería electrónica en control y redes industriales, pero visión por computador lo he estudiado y lo estoy estudiando de forma autodidacta! :)
@@OMES-va Muchas gracias, algún curso que me recomiendes para empezar a aprender visión por computador?
👍🏼
👍 :)
excelente vídeo, muy bueno de verdad, yo uso como IDE Spyder Anaconda y al seguir los pasos y tener el mismo código me sale este error: cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale', creo yo es por que le falta el archivo xml correspondiente haar cascade. Pero si tu me puedes dar otra ayuda sera de gran utilidad y tampoco creo que sea el IDE
Hola Esteban, qué versión de OpenCV posees? Puedes revisar el apartado de, '¡Ahora, programemos! Detección de rostros sobre una imagen' en este link: omes-va.com/deteccion-de-rostros-con-haar-cascades-python-opencv/
@@OMES-va vale gracias!!! Es el que tú tienes, porque también seguí esos pasos de instalación de uno de tus videos!!! Y el vídeo del link también lo ví....y también me da el mismo error.....por cierto están muy buenos.....♥️ Tienes algún correo en el que nos podamos comunicar.... porque estoy empezando hacer un proyecto sobre detección de movimientos y como soy nuevo en OpenCv me está jugando una mala pasada!!!
Usaste tal vez esta línea: cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml") en vez de la del video? En el link que te había enviado está, para que puedas probarla a ver que tal te va. Para poder conocer la versión instalada de OpenCV puedes realizarlo así: omes-va.com/version-de-opencv/ Espero que pueda ayudarte la info Esteban :D
@@OMES-va Gracias me sirvioo😎👌
Una consulta, si quisiera comparar una foto (a), con un grupo de fotos y que me detecte cual se parece mas a la foto (a), de toda la base de datos, se podria?
Si si podrías hacerlo, puedes buscar información acerca de reconocimiento facial.
Tengo una duda como haces para salir tan linda siempre en tus vídeos jajaja... Excelente video gabi
Saludos...
Jajaja, muchas gracias deyvis! Un saludo.
cuando voy a ejecutar me sale error.....este mensaje..................ModuleNotFoundError: No module named 'cv2'
x2 empezando por la libreria como que no la detecta y ya verifique las instalaciones previas como CV
Hola, me parecio muy bueno tu video y gracias por estos aportes :) y.. tengo una duda, acabo de hacer tal los pasos del video y tengo el mismo código, pero al momento de ejecutarlo abre la imagen y muestra los rectángulos pero en la consola me sale esto: libpng warning: iCCP: cHRM chunk does not match sRGB , no se que puedo hacer para solucionarlo, muchas gracias
Hola StevenRB, muchas gracias. Según leo hay algún problema con la imagen que estas usando, prueba con otra a ver si obtienes el mismo error. Aquí tienes algunas opciones que podrías tomar: stackoverflow.com/questions/22745076/libpng-warning-iccp-known-incorrect-srgb-profile
@@OMES-va si ya me funcionó muchisimas gracias !!
Hola como puedo descargar ese archivo xml
Hola , genial!. ¿Que version de python utilizaste , y que version de las librerias?, porfavor si alguien me puede ayudar con esa informacion.
Hola Isabel, usé python 3.6 y OpenCV 3.4.4
@@OMES-va muchas Gracias :,)
Hola, no me aparece el detectMultiScale.. porque puede ser?? no se pinta de color y me tira error en esa línea
Hola @Maximiliano Grosso qué error obtienes?
@@OMES-va nose bien que pasó pero pase todo a otra carpeta nueva y anduvo..
que editor de video usas?
quisiera saber porque trabajas con BGR y no RGB
segun leo muchas aplicaciones graficas funciona mejor con BGR pero quisiera saber el porque? que tiene que ver que el azul sea el byte mas significativo y el rojo no ?
Hola jhon, en realidad OpenCV por defecto lee las imágenes en BGR, pero puedes cambiar esto, si te es más cómodo puedes pasar la imagen de BGR a RGB con la función cv2.cvtColor.
Podrías explicar como se hace pero sin librerías ni ayudas, osea desde cero cero, por favor?
Hola Erikoo 47, espero poder realizar un video pronto sobre el entrenamiento.
Dónde está esa carpeta opencv??
hola una pregunta como instalas numpy y umitils algun video de sugerencia?
Hola Freddy, cuando instalas opencv vía pip también viene numpy, pero si ese no fue el caso puedes instalarlo con pip install numpy. Para imutils: pip install imutils.
solo señalar que cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml") en realidad cv2.CascadeClassifier("/pathabsoluto para el archivo/haarcascade_frontalface_default.xml"), que si tienes el archivo .xml en la misma carpeta que el .py puedes omitir la ruta absoluta o esto:cv2.data.haarcascades ( que ami no me funciono :(
Buen video
Hola David, muchas gracias. Quieres enderezar una imagen en donde aparezca un rostro? o imágenes en general?
@@OMES-va imágenes en general, Tengo imágenes donde su orientación es hacia abajo o la derecha y estoy realizando un proyecto en el que sin saber la dirección de la imagen necesito rotarla para que se pueda leer, lo hago por medio ángulos de inclinación pero la medida es igual si esta boca abajo, a la derecha o izquierda, podrías ayudarme por favor
@@davidheredia3064 Podrías seguir este tutorial: th-cam.com/video/iAnCUJvNCGY/w-d-xo.html Para obtener mejores resultados, podrías ubicar tu imagen (papel o documento) sobre una superficie que sea diferenciable del propio documento.
@@OMES-va Me serviría pero son imágenes de documentos PDF no es posible tomarle una foto
@@davidheredia3064 Ohh! Creo que este es el tutorial que te va a servir: www.pyimagesearch.com/2017/02/20/text-skew-correction-opencv-python/ Dale un vistazo! :D
perdonen mi ignorancia pero como se pone el cuadro de comando que esta a la derecha 3:42??
Hola Miguel, estaba en ubuntu así que allí usé el terminal. Si estás en Windows puedes buscar el símbolo del sistema. Tal vez este tutorial te sea útil: th-cam.com/video/6uPQNWE3DYU/w-d-xo.html
@@OMES-va Muchas Gracias
Buen vídeo, gracias. Pero tengo un problema, ¿Por que cuando pongo una imagen del mismo tamaño que la del ejemplo altera al momento de ejecutar?
Hola Davidownsoky n.n7, no entiendo muy bien la pregunta.
@@OMES-va Gracias por recordarme xd
Pues si
Cuando intento ejecutar el programa, si funciona pero, al momento que ejecuta, la imagen no sale completa.
Solamente sale la mitad de mi imagen
Hola, hay alguna manera de detectar el sexo de una persona, por el rostro??
Hola David, podrías aplicar las mismas técnicas que para el reconocimiento facial: th-cam.com/video/cZkpaL36fW4/w-d-xo.html aquí otro ejemplo: th-cam.com/video/7AY_Xgehyks/w-d-xo.html
hola amiga, buen video pero tengo una consulta, estoy aplicando tu mismo codigo pero me sale este error
faces = faceclassif.detectmultiscale(gray, cv2.error: opencv(4.5.3) c:\users
unneradmin\appdata\local\temp\pip-req-build-1i5nllza\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:assertion failed) !empty() in function 'cv::cascadeclassifier::detectmultiscale'
busque la solucion y me dice que puede que no se lea bien, la imagen, trate de cambiar faceClassif = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') a cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml") pero tampoco me sirve
tengo la version 4.5.3
gracias
Hola Mere, si solo lees la imagen (sin aplicar la detección facial) la puedes visualizar?
@@OMES-va no, y la verdad es que lo intente con tu código de los videos iniciales y es raro porque si me valió en la primera prueba que hice, de igual forma, le intente con dos imagenes en png y tampoco valio, tendra algo que ver con la imagen en si?,
import cv2
imagen = cv2.imread('retrato.png')
cv2.imshow('Prueba de imagen', imagen)
cv2.waitKey(0)
cv2.destroyAllWindows()
@@mere9550 La imagen que estás tratando de leer está ubicada en el mismo directorio que el script de python?
@@OMES-va Sip, las dos, y ninguna me valio, lo que me parece raro porque como te digo el código con la imagen que pusiste en tu blog en la de Como LEER, VISUALIZAR y GUARDAR UNA IMAGEN en Python usando OpenCV si me valio :c osea, pero cuando puse 0, igual se me mantenia por un segundo, y se supone que debia estar la imagen hasta que presione una tecla, pero solo me duro como un segundo, tal vez sea python?