Avatar ·

इमेज में Coca-Cola कैन की पहचान एल्गोरिदम में सुधार

नमस्ते, सहकर्मियों। मैं C++ में OpenCV का उपयोग करके फ़ोटो में Coca-Cola कैन की पहचान करने के लिए एक प्रोग्राम लिख रहा हूँ। विचार सरल है: कैन लाल, बेलनाकार है, और इसमें सफेद पट्टी है। मैं लाल क्षेत्रों को अलग करने के लिए रंग फ़िल्टरेशन (HSV) का उपयोग करता हूँ, फिर contours ढूंढता हूँ और उन्हें ellipses में अनुमानित करता हूँ। यह तार्किक लगता है, लेकिन एक बड़ी समस्या है: एल्गोरिदम वास्तविक तस्वीरों पर बहुत खराब काम करता है। यहाँ मेरा वर्तमान कोड है: ```cpp cv::Mat hsv, mask; cv::cvtColor(img, hsv, cv::COLOR_BGR2HSV); cv::inRange(hsv, cv::Scalar(0, 100, 100), cv::Scalar(10, 255, 255), mask); // साथ ही लाल रंग की निचली सीमा जोड़ता हूँ (160 से 180 तक) cv::Mat mask2; cv::inRange(hsv, cv::Scalar(160, 100, 100), cv::Scalar(180, 255, 255), mask2); mask = mask | mask2; std::vector> contours; cv::findContours(mask, contours, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE); for (auto& c : contours) { if (c.size() > 50) { cv::RotatedRect ellipse = cv::fitEllipse(c); // अनुपात की जाँच

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग