/ / ओपनसीवी - छवि, ओपनसीवी में विशेष क्षेत्र को रीमेप कैसे करें

ओपनसीवी - छवि, ओपनसीवी में विशेष क्षेत्र को रीमेप कैसे करें

मुझे प्रदर्शन ड्रॉप मुद्दे का सामना करना पड़ रहा है। मैंने कुछ शोध किया और ऐसा लगता है कि रीमेप फ़ंक्शन में बहुत अधिक समय लगता है। छवि का आकार वीजीए है, लेकिन दिलचस्प क्षेत्र में इस क्षेत्र के बारे में 1/4 है। इसलिए, मैं केवल इस क्षेत्र के लिए रीमेप () का उपयोग करना चाहता हूं और अंत में लगभग 1/4 वीजीए क्षेत्र के साथ छवि प्राप्त करना चाहता हूं।

यह वीजीए रिज़ॉल्यूशन में छवि इनपुट है -ग्रीन रेक्ट ट्रैक करने योग्य एरिया रेक्ट है

वांछित आउटपुट लेकिन वीजीए में

द्वारा उत्पन्न:

remap(originalCornersSamples[i], rview, map1, map2, INTER_NEAREST);

जब मैं केवल विशिष्ट क्षेत्र पर रीमेप बनाने का प्रयास करता हूं:

remap(frame_bgr, rview, map1(trackableArea), map2(trackableArea), INTER_NEAREST);

मुझे उम्मीद है - ट्रैक करने योग्य एरिया रेक्ट के वांछित संकल्प के साथ वांछित छवि खिंचाव।

इनपुट छवि से केवल टीवी स्क्रीन प्राप्त करने के लिए getPerspectiveTransform से map1 और map2 उत्पन्न किए गए थे। ट्रैक करने योग्य एरिया यहां एक रेक्ट है (हरी रेखाएं):

कोई विचार यह कैसे संभव बनाता है या रीमेप () कैसा दिखना चाहिए?

उत्तर:

जवाब के लिए 0 № 1

मैं खुद का जवाब देता हूं :) तो इससे मदद मिली:

resize(map1,modified,Size(trackableArea.width,trackableArea.height), 0, 0,  INTER_CUBIC );

remap(frame_bgr, rview, modified, map2(trackableArea), INTER_NEAREST);