ओपनसीवी केवल आयताकार आरओआई का समर्थन करता है।
हालांकि, विशिष्ट पिक्सेल के लिए कुछ प्रसंस्करण करने के लिए, आप कुछ सहायक कार्यों का उपयोग कर सकते हैं।
उनमें से एक बिंदु पॉलीगोनटेस्ट() है, जो आपको बताता है कि एक दिया गया पिक्सेल बहुभुज पर नहीं है।
तो तुम भी इस नमूने http://opencv.itseez.com/doc/tutorials/imgproc/shapedescriptors/point_polygon_test/point_polygon_test.html#point-polygon-test
जाँच एक और (तेज) विकल्प @ andeas-haferburg द्वारा sugested एक है की तरह
for(i=0;i<height;i++)
{
for(j=0;j<width;j++)
{
if(pointPolygonTest(Point(i,j),myPolygon))
{
// do some processing
}
}
}
कुछ लिख सकते हैं। एक नया ग्रेस्केल छवि में अपने बहुभुज चित्रकला द्वारा एक मुखौटा बनाओ:
drawPoly()
(ताकि पृष्ठभूमि 0 है, और बहुभुज 255 है), तो फिर तुम कुछ अन्य कार्य करने के लिए पारित कर सकते हैं, या अपने आप को द्वारा इसका इस्तेमाल:
for(i=0;i<height;i++)
{
for(j=0;j<width;j++)
{
if(mask[j+w*i]))
{
// do some processing
}
}
}
ऊपर दिया गया उदाहरण सिर्फ छद्म कोड है, आपको इसे काम करना है।
आपके पास शीर्षक में एक टाइपो है। इसके अलावा, अधिकांश ओपनसीवी कार्यों में मास्क पैरामीटर होता है और केवल उनके इनपुट के क्षेत्र पर काम करता है जहां मास्क का विशेष मान होता है। क्या वास्तव में आप करना चाहते हैं? –
मैं पूर्वनिर्धारित समोच्च में पिक्सल पर हिस्टोग्राम बैक प्रक्षेपण का उपयोग करना चाहता हूं। तो मूल रूप से मैं उस भरे हुए समोच्च का एक काला और सफ़ेद मुखौटा बनाउंगा और फिर उस छवि के लिए मुखौटा के रूप में इसका उपयोग करूंगा जिसे मैं हिस्टोग्राम बैकप्रोजेक्शन का उपयोग करना चाहता हूं? – user1017485
यदि आप समोच्च के साथ मास्किंग करने से पहले सुझाव दिया गया है, तो समोच्च के साथ मास्किंग करने से पहले सुझाव दिया गया है (समोच्च को खींचें - काले रंग पर सफेद इसे मूल छवि पर मुखौटा के रूप में उपयोग करें) जाने का स्पष्ट तरीका है। – AruniRC