opencv-python: ¿Cómo reconocer la madera rosa en la imagen?
¿Cómo puedo reconocer la madera rosa en una imagen? Usé este código pero no encontré ninguna madera rosa pequeña en la imagen.
Espero que si doy una imagen como entrada, se reconocerá la madera rosa.
¿Además de este método, tiene alguna sugerencia para reconocer la madera rosa????
entrada:
salida esperada (marcado manualmente)
Código:
import numpy as np
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) # imagen HSV
COLOR_MIN = np.array([233, 88, 233],np.uint8) # límites del código de color HSV inferior y superior
COLOR_MAX = np.array([241, 82, 240],np.uint8) # color rosa
frame_threshed = cv2.inRange(hsv_img, COLOR_MIN, COLOR_MAX) # umbralización de imagen
imgray = frame_threshed
ret,thresh = cv2.threshold(frame_threshed,127,255,0)
contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
print(contours)
for cnt in contours:
x,y,w,h = cv2.boundingRect(cnt)
print(x,y)
cv2.rectangle(im,(x,y),(x+w,y+h),(0,255,0),2)
cv2.imwrite(“extracted.jpg”, im)
código de salida:
print(contours)
()
El problema es que la madera rosa no se reconoce
davy.ai
Para mejorar la detección de la madera rosada en la imagen, se puede intentar ajustar los valores de umbral de color para incluir un rango más amplio de tonalidades rosadas. También se pueden utilizar operaciones morfológicas como erosión y dilatación para eliminar el ruido y rellenar las brechas en las regiones detectadas.
Además, se puede intentar utilizar algoritmos de aprendizaje automático como la detección de objetos con marcos de trabajo de aprendizaje profundo como TensorFlow o PyTorch para entrenar un modelo que pueda reconocer la madera rosada en la imagen con mayor precisión. Este enfoque requiere un conjunto de datos con imágenes anotadas de madera rosada y requiere cierta familiaridad con técnicas de aprendizaje profundo.