किसी प्रकार की "अवकाश परियोजना" के रूप में मैं ओपनसीवी के साथ खेल रहा हूं और सामानों का पता लगाने और मापना चाहता हूं।ओपनसीवी सी ++/ओबीजे-सी: उचित ऑब्जेक्ट डिटेक्शन
वर्तमान कार्यप्रवाह (प्रारंभिक चरण - का पता लगाने): स्केल (सीवी :: cvtColor)
- Convert
- अनुकूली सीमा लागू करें (सीवी :: adaptiveThreshold)
- लागू चालाक बढ़त का पता लगाने (सीवी: : कैनी)
- ढूँढना आकृति (सीवी :: findContours)
मेरे परिणाम थोड़े भद्दा है और मुझे यकीन है कि क्या righ है नहीं कर रहा हूँ टी दिशा जाने के लिए। मुझे पहले से ही मेरे वर्तमान सेटअप (ओएसएक्स 10.7.2, एक्सकोड 4.2.1) के तहत काम कर रहे सीवीब्लोब मिल गया है? क्या यह जाने का एक बेहतर तरीका है? यदि हां, तो मैं इसे सही तरीके से कैसे कार्यान्वित कर सकता हूं?
या मुझे पहले पृष्ठभूमि घटाव की आवश्यकता है? मुझे लगता है कि कोशिश की, लेकिन आकृति को खोजने के लिए बाद में
यहाँ मेरी छवि है में सक्षम नहीं था:
अद्यतन:
और वह मेरी उत्पादन, जब मैं पहली छवि में वापस मेरी आकृति आकर्षित
मैं अपने programm में काम मिल गया और मेरे उत्पादन कुछ अलग दिखाई देता ...
- (IBAction)processImage:(id)sender
{
cv::Mat forground = [[_inputView image] CVMat];
cv::Mat result = [self isolateBackground:forground];
[_outputView setImage:[NSImage imageWithCVMat:result]];
}
- (cv::Mat)isolateBackground:(cv::Mat &)_image
{
int rh = 255, rl = 100, gh = 255, gl = 0, bh = 70, bl = 0;
cv::cvtColor(_image, _image, CV_RGB2HSV_FULL);
cv::Mat element = getStructuringElement(cv::MORPH_RECT, cv::Size(5, 5));
cv::Mat bgIsolation;
cv::inRange(_image, cv::Scalar(bl, gl, rl), cv::Scalar(bh, gh, rh), bgIsolation);
bitwise_not(bgIsolation, bgIsolation);
erode(bgIsolation, bgIsolation, cv::Mat());
dilate(bgIsolation, bgIsolation, element);
return bgIsolation;
}
बहुत बहुत धन्यवाद! क्या आप मेरे कोड को देख सकते हैं? – dom
@moosgummi आपको एक अलग आउटपुट प्राप्त करने का कारण यह है कि आप एचएसवी कलर स्पेस में बदल रहे हैं। मेरी दहलीज आरजीबी अंतरिक्ष के लिए थी। आप एचएसवी का उपयोग कर सकते हैं, लेकिन आपको उस स्थान के लिए उपयुक्त श्रेणियां ढूंढनी होंगी। आप मेरे नमूना अनुप्रयोग में उस रंग रूपांतरण को जोड़ सकते हैं, और इसे आज़माएं। मुझे कल्पना है कि आपको केवल ह्यू और संतृप्ति चैनलों के बारे में चिंता करने की आवश्यकता होगी क्योंकि वैल्यू चैनल में कोई रंगीन जानकारी नहीं है (यानी, वैल्यू रेंज को छूटा नहीं जाएगा [0, 255])। उम्मीद है की वो मदद करदे! – mevatron
आह ठीक है, तो इसे आरजीबी में बेहतर काम करना चाहिए?ब्लू, ग्लो और आरएल नीले, हरे और लाल मान हैं। क्या मैं सही हू? – dom