Avatar ·

Melhorando o algoritmo de reconhecimento de latas de Coca-Cola: como aumentar a precisão?

Olá a todos! Sou um desenvolvedor C++ iniciante e estou trabalhando em um projeto de reconhecimento de latas de Coca-Cola em imagens. Estou usando OpenCV. Atualmente, tenho um algoritmo simples que busca contornos e tenta combiná-los com um padrão por cor e forma. Mas a precisão é terrível — em um conjunto de teste de 50 imagens, apenas 30-40% das latas são reconhecidas corretamente. Os problemas surgem com iluminação variada, rotações da lata, presença de reflexos ou oclusão parcial. Aqui está meu código atual (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 a cor vermelha da lata (dois intervalos devido às peculiaridades do 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; // Busca