En la descripción tienes la información de cada sección del video en los minutos en los que aparece, para que no pases tiempo si ya quieres ver algo en específico. 👍👍👍 No olvides seguirme en mis redes sociales. ¡Sigamos aprendiendo JUNTOS! 🧐
Buenísimo video Gabi. Sólo para complementar lo compartido para los que recién se inician, es que tengan cuidado con la función drawContours y la versión de Open CV que utilicen 😉
Buenas.. una pregunta... En vez de un contador se podría poner una especie de reloj con más o menos porcentaje de color verde o de color rojo? Si sale más verdes que se vaya la aguja hacia el lado verde. Me gustaría contactar contigo para un proyecto, no me importa pagarte, es importante. Gracias
Hola,Me suscribí a tu canal y pronto a unirme tu blog porque lo mereces, sin embargo tengo una pregunta... como sería para el incoloro ? Necesito detectar botellas de plástico pet pero no sé como se daría si es el caso para PET INCOLORO. Gracias por tu tiempo
Muy interesante tu video Gabi. Cómo puede acceder al rango real de la imagen en HSV, ya que la gráfica que tu utilizas es ideal cuando el background es uniforme. Sin embargo, cuando hay brillos no es tan fácil encontrar el umbral.
Hola Enrique, podrías usar trackbars para determinar los rangos en tiempo real. En este video puedes encontrar como realizarlos: ua-cam.com/video/4tWQFboP5kQ/v-deo.html
Hola buenisimos tus videos!, tengo una duda si quisiera detectar el color blanco que rangos del HSV e estado usando blancoBajo = np.array([0, 0, 255], np.uint8) blancoAlto = np.array([180, 100, 255], np.uint8) pero no me lo detecta
Hola estoy ejecutando tu script en Spyder desde un entorno virtual que trabajé con Anaconda, aunque se ejecuta observo que en la consola imprime este mensaje: QObject::moveToThread: Current thread (0x561a2d40f7d0) is not the object's thread (0x561a2ca164d0). Un mensaje similar o igual me salía cuando ejecutaba la guía de detección de figuras, solo que se quedaba trabado en la primera figura; mi consulta sería si estoy fallando en cuanto al uso de OpenCV ya que al hacer la consulta en mi terminal entiendo que tengo cv4; imagino es por ello el error que me va saliendo; así mismo en otros enviroments creo hay conflicto de librería con PyQT5?, al menos eso pensaba podía ser, por eso en un nuevo env tengo solo openCV. Esa en mi inquietud, me gustaría tener un script para detectar poligonos donde pueda obtener valores de sus parámetros como perimetro y área; estoy investigando en cuanto a ello. Si me podrías orientar sería fabuloso, gracias de antemano por tu tiempo a leer mi comentario.
Disculpa una consulta, en caso de hacer la identificación en video donde debería colocar un ciclo while y con que condición de identificación de colores ? De momento esta asi, pero me da error: import cv2 import numpy as np def dibujarContorno(contornos, color): #Como argumento recibe el contorno del color que sea y el color en BGR for (i, c) in enumerate(contornos): M = cv2.moments(c) if(M["m00"] == 0): M["m00"] == 1 x = int(M["m10"] / M["m00"]) y = int(M["m01"] / M["m00"]) #Visualizo cada contorno en c cv2.drawContours(cap, [c], 0, color, 2) #Ponemos un centro de dicho contorno con cv2.putText # usamos i+1 ya que no queremos que empiece a contar por 0 cv2.putText(cap, str(i + 1), (x - 10, y + 10), 1, 2, (0, 0, 0), 2) #Para determinar los valores de H es gyuw4.png que esta en References amarilloBajo = np.array([ 20, 100, 20], np.uint8) amarilloAlto = np.array([ 32, 255, 255], np.uint8) violetaBajo = np.array([130, 100, 20], np.uint8) violetaAlto = np.array([145, 255, 255], np.uint8) verdeBajo = np.array([ 36, 100, 20], np.uint8) verdeAlto = np.array([ 70, 255, 255], np.uint8) rojoBajo1 = np.array([ 0, 100, 20], np.uint8) rojoAlto1 = np.array([ 10, 255, 255], np.uint8) rojoBajo2 = np.array([175, 100, 20], np.uint8) rojoAlto2 = np.array([180, 255, 255], np.uint8) #Pongo estos rangos previo a la lectura de la imagen porque si quisieras usar este code para un video podrias hacerlo antes del while # ya que solo sera necesario leerlos una vez #imagen = cv2.imread('lunares.png') #Carga imagen en BGR por defecto cap = cv2.VideoCapture(0) #Captura de video streaming while True: ret, frame = cap.read() if ret == True: frameHSV = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) #Detectando colores maskAmarillo = cv2.inRange(frameHSV, amarilloBajo, amarilloAlto) maskVioleta = cv2.inRange(frameHSV, violetaBajo, violetaAlto) maskVerde = cv2.inRange(frameHSV, verdeBajo, verdeAlto) maskRojo1 = cv2.inRange(frameHSV, rojoBajo1, rojoAlto1) maskRojo2 = cv2.inRange(frameHSV, rojoBajo2, rojoAlto2) maskRojo = cv2.add(maskRojo1, maskRojo2) #Sumo las 2 imagenes # Encontramos contornos con cv2.findContours() que devolvera 3 variables # OpenCV 3 # contornosAmarillo = cv2.findContours(maskAmarillo, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[1] # contornosVioleta = cv2.findContours(maskVioleta, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[1] # contornosVerde = cv2.findContours(maskVerde, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[1] # contornosRojo = cv2.findContours(maskRojo, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[1] # OpenCV 4 contornosAmarillo = cv2.findContours(maskAmarillo, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0] contornosVioleta = cv2.findContours(maskVioleta, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0] contornosVerde = cv2.findContours(maskVerde, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0] contornosRojo = cv2.findContours(maskRojo, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0] # LLamo a la funcion dibujarContorno() para visualizar los resultados dibujarContorno(contornosAmarillo, (0, 255, 255)) dibujarContorno(contornosVioleta, (140, 40, 120)) dibujarContorno(contornosVerde, (0, 255, 0)) dibujarContorno(contornosRojo, (0, 0, 255)) ''' #Esto lo tengo comentado de momento # Imagen Resumen para que no sea tan confuso, usando numpy (OPCIONAL) imgResumen = 255 * np.ones((210, 100, 3), dtype=np.uint8) # Esta imagen en un principio estara en blanco (255) # Agregamos circulos correspondientes a cada color cv2.circle(imgResumen, (30, 30), 15, (0, 255, 255), -1) cv2.circle(imgResumen, (30, 70), 15, (140, 40, 120), -1) cv2.circle(imgResumen, (30, 110), 15, (0, 255, 0), -1) cv2.circle(imgResumen, (30, 150), 15, (0, 0, 255), -1) # Ponemos el numero total encontrado por cada color con cv2.putText() cv2.putText(imgResumen, str(len(contornosAmarillo)), (65, 40), 1, 2, (0, 0, 0), 2) cv2.putText(imgResumen, str(len(contornosVioleta)), (65, 80), 1, 2, (0, 0, 0), 2) cv2.putText(imgResumen, str(len(contornosVerde)), (65, 120), 1, 2, (0, 0, 0), 2) cv2.putText(imgResumen, str(len(contornosRojo)), (65, 160), 1, 2, (0, 0, 0), 2) # Sumamos todos los circulos de todos los colores y visualizamos totalCnts = len(contornosAmarillo) + len(contornosVioleta) + len(contornosVerde) + len(contornosRojo) cv2.putText(imgResumen, str(totalCnts), (55, 200), 1, 2, (0, 0, 0), 2) cv2.imshow('Resumen',imgResumen) # Imagen resumen con la cantidad de amarillo, violeta, verde y rojo encontrados, ademas de su totalidad
''' if cv2.waitKey(1) & 0xFF == ord('s'): break cv2.release() cv2.destroyAllWindows()
Este es el error: Traceback (most recent call last): File "C:/Users/PC0/Desktop/OpenCV Project/Contando_por_COLORES/countColour_Videos.py", line 69, in dibujarContorno(contornosAmarillo, (0, 255, 255)) File "C:/Users/PC0/Desktop/OpenCV Project/Contando_por_COLORES/countColour_Videos.py", line 15, in dibujarContorno cv2.drawContours(cap, [c], 0, color, 2) TypeError: Expected Ptr for argument 'image' [ WARN:0] global C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-oduouqig\opencv\modules\videoio\src\cap_msmf.cpp (434) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback La verdad no se me ocurre que hacer :(
Hola ElectrikVocal 95, en este video puedes encontrar la detección de colores en video: ua-cam.com/video/CFuyXw-pfPY/v-deo.html Podrías combinarlo con este videotutorial. En cuanto al error que obtienes, puede que sea por el primer argumento en cv2.drawContours, allí tendrías que ubicar el fotograma que se esté analizando, comúnmente llamado frame.
muy buen video, una consulta como obtendría el blanco? si tengo una imagen con fondo blanco y quisiera que solo el blanco salga con que combinación sería?
Hola , estoy utilizando este programa con vídeo cámara , pero tengo problemas con la parte de la (imgResumen), no me aparece el resultado de cada color que se da en el momento , quisiera saber si el código varia cuando se utiliza la cámara y que código puedo utilizar para mostrar mis resultados del conteo de colores ,gracias
Puede ser un poco diferente, pero podrías mostrar los resultados en el mismo frame. Para visualizar el texto en ese caso puedes usar cv2.putText y para que no se sobreescriban los resultados en el segundo argumento podrias usar .format.
Buenas noches Primer quería darte las gracias por brindar tu conocimiento, de verdad es de mucha ayuda Tengo una pregunta quiero realizar algo parecido, pero quisiera saber como se podría identificar si el color que tiene la imagen esta en un rango determinado. Disculpa la ignorancia algo así, : if cv2.inRange(imagenHSV, amarilloBajo, amarilloAlto): print(‘Esta en el rango’) else: print(‘No esta en el rango’)
Hola Juan Carlos muchas gracias por el ánimo, me alegra mucho que el contenido esté siendo útil :) . Creo que te constesté en mi blog, lo replico aquí también. Lo que podrías hacer es analizar la imagen que te da de vuelta cv2.inRange(imagenHSV, amarilloBajo, amarilloAlto), ya que esta será una imagen a blanco y negro, donde el blanco representará la presencia de dicho color (según el rango que hayas establecido), mientras que en negro se mostrarán las áreas donde no esté presente. Podrías también tomar las posiciones del área en blanco para de la imagen de entrada (imagen a color), obtener los valores contenidos en los pixeles.
OMES Muchas gracias por la atención. En realidad, bueno, quisiera saber si es posible obtener en un array, string o mostrar en la terminal los valores HSV obtenidos de la imagen en cuestión. No sé si esté hablando de otro tema, pero quisiera saber si es posible
Emm, podrías obtener las posiciones del área blanca correspondiente al color detectado. Con esas coordenadas puedes buscar los valores de la imagen en HSV. Espero que sea de ayuda Pablo. :)
Hola, hola! 🙋♀️, te dejo el código y tutorial de este video en mi web: omes-va.com/contando-por-colores-en-python-opencv/
👩💻 ¡Héchale un ojo! 👨💻
En la descripción tienes la información de cada sección del video en los minutos en los que aparece, para que no pases tiempo si ya quieres ver algo en específico. 👍👍👍
No olvides seguirme en mis redes sociales.
¡Sigamos aprendiendo JUNTOS! 🧐
una pregunta el mismo procedimiento si lo quiero hacer en java como se podria hacer
@@dilanalejandroantezanaserr6528 Hola Dilan, tendrías que buscar los comandos para java, deben ser similares y su funcionamiento también :)
@@OMES-va si muchas gracias ya encontre los comandos
Buenísimo video Gabi.
Sólo para complementar lo compartido para los que recién se inician, es que tengan cuidado con la función drawContours y la versión de Open CV que utilicen 😉
Gaby, excelente video.
Gracias! 😊
Buenas.. una pregunta...
En vez de un contador se podría poner una especie de reloj con más o menos porcentaje de color verde o de color rojo?
Si sale más verdes que se vaya la aguja hacia el lado verde.
Me gustaría contactar contigo para un proyecto, no me importa pagarte, es importante. Gracias
Funciona para imágenes con más de un tipo de figura? Es decir, no solo círculos.
Hola,Me suscribí a tu canal y pronto a unirme tu blog porque lo mereces, sin embargo tengo una pregunta... como sería para el incoloro ? Necesito detectar botellas de plástico pet pero no sé como se daría si es el caso para PET INCOLORO. Gracias por tu tiempo
Muy interesante tu video Gabi. Cómo puede acceder al rango real de la imagen en HSV, ya que la gráfica que tu utilizas es ideal cuando el background es uniforme. Sin embargo, cuando hay brillos no es tan fácil encontrar el umbral.
Hola Enrique, podrías usar trackbars para determinar los rangos en tiempo real. En este video puedes encontrar como realizarlos: ua-cam.com/video/4tWQFboP5kQ/v-deo.html
Hola buenisimos tus videos!, tengo una duda si quisiera detectar el color blanco que rangos del HSV e estado usando blancoBajo = np.array([0, 0, 255], np.uint8)
blancoAlto = np.array([180, 100, 255], np.uint8) pero no me lo detecta
en el minuto 8:10 no me permite aplicar el dibujarContorno y lo deja como un simple texto
Hola estoy ejecutando tu script en Spyder desde un entorno virtual que trabajé con Anaconda, aunque se ejecuta observo que en la consola imprime este mensaje:
QObject::moveToThread: Current thread (0x561a2d40f7d0) is not the object's thread (0x561a2ca164d0).
Un mensaje similar o igual me salía cuando ejecutaba la guía de detección de figuras, solo que se quedaba trabado en la primera figura; mi consulta sería si estoy fallando en cuanto al uso de OpenCV ya que al hacer la consulta en mi terminal entiendo que tengo cv4; imagino es por ello el error que me va saliendo; así mismo en otros enviroments creo hay conflicto de librería con PyQT5?, al menos eso pensaba podía ser, por eso en un nuevo env tengo solo openCV. Esa en mi inquietud, me gustaría tener un script para detectar poligonos donde pueda obtener valores de sus parámetros como perimetro y área; estoy investigando en cuanto a ello. Si me podrías orientar sería fabuloso, gracias de antemano por tu tiempo a leer mi comentario.
muy bueenooo !!!!!
Disculpa una consulta, en caso de hacer la identificación en video donde debería colocar un ciclo while y con que condición de identificación de colores ?
De momento esta asi, pero me da error:
import cv2
import numpy as np
def dibujarContorno(contornos, color): #Como argumento recibe el contorno del color que sea y el color en BGR
for (i, c) in enumerate(contornos):
M = cv2.moments(c)
if(M["m00"] == 0): M["m00"] == 1
x = int(M["m10"] / M["m00"])
y = int(M["m01"] / M["m00"])
#Visualizo cada contorno en c
cv2.drawContours(cap, [c], 0, color, 2)
#Ponemos un centro de dicho contorno con cv2.putText
# usamos i+1 ya que no queremos que empiece a contar por 0
cv2.putText(cap, str(i + 1), (x - 10, y + 10), 1, 2, (0, 0, 0), 2)
#Para determinar los valores de H es gyuw4.png que esta en References
amarilloBajo = np.array([ 20, 100, 20], np.uint8)
amarilloAlto = np.array([ 32, 255, 255], np.uint8)
violetaBajo = np.array([130, 100, 20], np.uint8)
violetaAlto = np.array([145, 255, 255], np.uint8)
verdeBajo = np.array([ 36, 100, 20], np.uint8)
verdeAlto = np.array([ 70, 255, 255], np.uint8)
rojoBajo1 = np.array([ 0, 100, 20], np.uint8)
rojoAlto1 = np.array([ 10, 255, 255], np.uint8)
rojoBajo2 = np.array([175, 100, 20], np.uint8)
rojoAlto2 = np.array([180, 255, 255], np.uint8)
#Pongo estos rangos previo a la lectura de la imagen porque si quisieras usar este code para un video podrias hacerlo antes del while
# ya que solo sera necesario leerlos una vez
#imagen = cv2.imread('lunares.png') #Carga imagen en BGR por defecto
cap = cv2.VideoCapture(0) #Captura de video streaming
while True:
ret, frame = cap.read()
if ret == True:
frameHSV = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
#Detectando colores
maskAmarillo = cv2.inRange(frameHSV, amarilloBajo, amarilloAlto)
maskVioleta = cv2.inRange(frameHSV, violetaBajo, violetaAlto)
maskVerde = cv2.inRange(frameHSV, verdeBajo, verdeAlto)
maskRojo1 = cv2.inRange(frameHSV, rojoBajo1, rojoAlto1)
maskRojo2 = cv2.inRange(frameHSV, rojoBajo2, rojoAlto2)
maskRojo = cv2.add(maskRojo1, maskRojo2) #Sumo las 2 imagenes
# Encontramos contornos con cv2.findContours() que devolvera 3 variables
# OpenCV 3
# contornosAmarillo = cv2.findContours(maskAmarillo, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[1]
# contornosVioleta = cv2.findContours(maskVioleta, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[1]
# contornosVerde = cv2.findContours(maskVerde, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[1]
# contornosRojo = cv2.findContours(maskRojo, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[1]
# OpenCV 4
contornosAmarillo = cv2.findContours(maskAmarillo, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0]
contornosVioleta = cv2.findContours(maskVioleta, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0]
contornosVerde = cv2.findContours(maskVerde, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0]
contornosRojo = cv2.findContours(maskRojo, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0]
# LLamo a la funcion dibujarContorno() para visualizar los resultados
dibujarContorno(contornosAmarillo, (0, 255, 255))
dibujarContorno(contornosVioleta, (140, 40, 120))
dibujarContorno(contornosVerde, (0, 255, 0))
dibujarContorno(contornosRojo, (0, 0, 255))
'''
#Esto lo tengo comentado de momento
# Imagen Resumen para que no sea tan confuso, usando numpy (OPCIONAL)
imgResumen = 255 * np.ones((210, 100, 3), dtype=np.uint8) # Esta imagen en un principio estara en blanco (255)
# Agregamos circulos correspondientes a cada color
cv2.circle(imgResumen, (30, 30), 15, (0, 255, 255), -1)
cv2.circle(imgResumen, (30, 70), 15, (140, 40, 120), -1)
cv2.circle(imgResumen, (30, 110), 15, (0, 255, 0), -1)
cv2.circle(imgResumen, (30, 150), 15, (0, 0, 255), -1)
# Ponemos el numero total encontrado por cada color con cv2.putText()
cv2.putText(imgResumen, str(len(contornosAmarillo)), (65, 40), 1, 2, (0, 0, 0), 2)
cv2.putText(imgResumen, str(len(contornosVioleta)), (65, 80), 1, 2, (0, 0, 0), 2)
cv2.putText(imgResumen, str(len(contornosVerde)), (65, 120), 1, 2, (0, 0, 0), 2)
cv2.putText(imgResumen, str(len(contornosRojo)), (65, 160), 1, 2, (0, 0, 0), 2)
# Sumamos todos los circulos de todos los colores y visualizamos
totalCnts = len(contornosAmarillo) + len(contornosVioleta) + len(contornosVerde) + len(contornosRojo)
cv2.putText(imgResumen, str(totalCnts), (55, 200), 1, 2, (0, 0, 0), 2)
cv2.imshow('Resumen',imgResumen) # Imagen resumen con la cantidad de amarillo, violeta, verde y rojo encontrados, ademas de su totalidad
'''
if cv2.waitKey(1) & 0xFF == ord('s'):
break
cv2.release()
cv2.destroyAllWindows()
Este es el error:
Traceback (most recent call last):
File "C:/Users/PC0/Desktop/OpenCV Project/Contando_por_COLORES/countColour_Videos.py", line 69, in
dibujarContorno(contornosAmarillo, (0, 255, 255))
File "C:/Users/PC0/Desktop/OpenCV Project/Contando_por_COLORES/countColour_Videos.py", line 15, in dibujarContorno
cv2.drawContours(cap, [c], 0, color, 2)
TypeError: Expected Ptr for argument 'image'
[ WARN:0] global C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-oduouqig\opencv\modules\videoio\src\cap_msmf.cpp (434) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback
La verdad no se me ocurre que hacer :(
Hola ElectrikVocal 95, en este video puedes encontrar la detección de colores en video: ua-cam.com/video/CFuyXw-pfPY/v-deo.html Podrías combinarlo con este videotutorial. En cuanto al error que obtienes, puede que sea por el primer argumento en cv2.drawContours, allí tendrías que ubicar el fotograma que se esté analizando, comúnmente llamado frame.
@@OMES-va Muchas gracias por responder. Saludos
muy buen video, una consulta como obtendría el blanco? si tengo una imagen con fondo blanco y quisiera que solo el blanco salga con que combinación sería?
Hola Arturo, en ese caso usaría umbralización simple. ua-cam.com/video/pPcuzYqPMhE/v-deo.html
Hola , estoy utilizando este programa con vídeo cámara , pero tengo problemas con la parte de la (imgResumen), no me aparece el resultado de cada color que se da en el momento , quisiera saber si el código varia cuando se utiliza la cámara y que código puedo utilizar para mostrar mis resultados del conteo de colores ,gracias
Puede ser un poco diferente, pero podrías mostrar los resultados en el mismo frame. Para visualizar el texto en ese caso puedes usar cv2.putText y para que no se sobreescriban los resultados en el segundo argumento podrias usar .format.
Excelente video inge... puede hacer uno de como cargar opencv en una raspberry... gracias!!!
Hola Danny. Puedes instalarlo con este turorial. Te lo recomiendo 🙂
www.pyimagesearch.com/2018/09/26/install-opencv-4-on-your-raspberry-pi/
Buenas noches
Primer quería darte las gracias por brindar tu conocimiento, de verdad es de mucha ayuda
Tengo una pregunta quiero realizar algo parecido, pero quisiera saber como se podría identificar si el color que tiene la imagen esta en un rango determinado.
Disculpa la ignorancia algo así, :
if cv2.inRange(imagenHSV, amarilloBajo, amarilloAlto):
print(‘Esta en el rango’)
else:
print(‘No esta en el rango’)
Hola Juan Carlos muchas gracias por el ánimo, me alegra mucho que el contenido esté siendo útil :) . Creo que te constesté en mi blog, lo replico aquí también. Lo que podrías hacer es analizar la imagen que te da de vuelta cv2.inRange(imagenHSV, amarilloBajo, amarilloAlto), ya que esta será una imagen a blanco y negro, donde el blanco representará la presencia de dicho color (según el rango que hayas establecido), mientras que en negro se mostrarán las áreas donde no esté presente. Podrías también tomar las posiciones del área en blanco para de la imagen de entrada (imagen a color), obtener los valores contenidos en los pixeles.
Esta muy bueno pero trato de replicarlo con pyc y algo no me permite compilarlo bueno seguiré intentando gracias por compartir tus conocimientos
cual seria el rango para color gris??
Hola, muchísimas gracias por tu increíble conocimiento 😯 Una pregunta ¿Cómo podría mostrar los resultados del rango obtenido en un print?
¿Me explicas un poquito más?
OMES Muchas gracias por la atención. En realidad, bueno, quisiera saber si es posible obtener en un array, string o mostrar en la terminal los valores HSV obtenidos de la imagen en cuestión. No sé si esté hablando de otro tema, pero quisiera saber si es posible
Emm, podrías obtener las posiciones del área blanca correspondiente al color detectado. Con esas coordenadas puedes buscar los valores de la imagen en HSV. Espero que sea de ayuda Pablo. :)
Hola muy bien vídeo, como podría hacer para saber el aérea que ocupa un color en una imagen?
Puedes usar la función cv2.contourArea. Te dejo el link para que le des un vistazo: docs.opencv.org/trunk/dd/d49/tutorial_py_contour_features.html
@@OMES-va Gracias a vos empecé el curso en Cursera. MUCHAS GRACIAS!!!!!
Espero que te sea de ayuda Pablo, a mi me ayudó mucho sobre todo para mi tesis. :)