Avatar ·

Mejora del algoritmo de reconocimiento de latas de Coca-Cola: ¿cómo aumentar la precisión?

¡Hola a todos! Soy un desarrollador principiante de C++ y estoy trabajando en un proyecto de reconocimiento de latas de Coca-Cola en imágenes. Uso OpenCV. Actualmente tengo un algoritmo simple que busca contornos e intenta emparejarlos con un patrón por color y forma. Pero la precisión es terrible: en un conjunto de prueba de 50 imágenes, solo se reconoce correctamente el 30-40% de las latas. Los problemas surgen con diferentes iluminaciones, rotaciones de la lata, presencia de reflejos o superposición parcial. Aquí está mi código actual (simplificado): ```cpp #include #include int main() { cv::Mat img = cv::imread("test.jpg"); cv::Mat hsv; cv::cvtColor(img, hsv, cv::COLOR_BGR2HSV); // Máscaras para el color rojo de la lata (dos rangos debido a las características de HSV) cv::Mat mask1, mask2; cv::inRange(hsv, cv::Scalar(0, 70, 50), cv::Scalar(10, 255, 255), mask1); cv::inRange(hsv, cv::Scalar(170, 70, 50), cv::Scalar(180, 255, 255), mask2); cv::Mat mask = mask1 | mask2; // Búsqueda de