es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

OpenCV-Python: ¿Por qué se detecta una caja delimitadora incorrecta (varias cajas delimitadoras)?

Quiero encontrar la madera rosa en la imagen. El código lo hace correctamente, pero en algunas imágenes, como en la imagen a continuación, encuentra correctamente la madera rosa pero encuentra varias cajas incorrectamente. De hecho, en lugar de encontrar una coordenada (x, y, w, h), diagnostica varias coordenadas incorrectamente.

La imagen a continuación es bastante clara.

import numpy as np

imagePath = "core4.jpg"

import cv2
from cv2 import *
im = cv2.imread(imagePath)

im = cv2.bilateralFilter(im,9,75,75)
im = cv2.fastNlMeansDenoisingColored(im,None,10,10,7,21)
hsv_img = cv2.cvtColor(im, cv2.COLOR_BGR2HSV)   


COLOR_MIN = np.array([130,0,220],np.uint8)   
COLOR_MAX = np.array([170,255,255],np.uint8) 

frame_threshed = cv2.inRange(hsv_img, COLOR_MIN, COLOR_MAX)     
imgray = frame_threshed
ret,thresh = cv2.threshold(frame_threshed,127,255,0)
contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
for cnt in contours:
    x,y,w,h = cv2.boundingRect(cnt)
    print(x,y,w,h)
    cv2.rectangle(im,(x,y),(x+w,y+h),(0,255,0),2)
cv2.imwrite("core4_cropped.jpg", im)

entrada

salida (varias cajas detectadas incorrectamente)

En lugar de encontrar una coordenada (x, y, w, h), diagnostica varias coordenadas de cajas delimitadoras de manera incorrecta.

¿Cuál podría ser la razón de este error?

Nota: los números están escritos en la madera rosa.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El mal diagnóstico de varias coordenadas podría deberse a la técnica de umbralización utilizada. El método actual de umbralización no es capaz de distinguir entre los números en la madera rosa y otros objetos rosados en la imagen, lo que lleva a la detección de múltiples contornos. Una posible solución sería utilizar una técnica de umbralización más avanzada que pueda diferenciar mejor entre colores y formas, como la umbralización adaptativa o el método de Otsu. Además, el uso de otras técnicas de procesamiento de imágenes como erosión y dilatación antes de la detección de contornos puede ayudar a mejorar la precisión.

Comments are closed.