यह एक परिप्रेक्ष्य परिवर्तन समस्या है। इस मामले में वे 2 डी विमान में 3 डी प्रक्षेपण की योजना बना रहे हैं।
जैसा कि, पहली छवि में चतुर्भुज आकार में चयन कोनों हैं और जब आप इसे आयताकार आकार में बदलते हैं, तो आपको या तो अधिक पिक्सेल जानकारी (interpolation) जोड़ने या कुछ पिक्सल हटाने की आवश्यकता होगी।
तो अब वास्तविक समस्या फसल छवि को अतिरिक्त पिक्सेल जानकारी जोड़ने और दूसरी छवि उत्पन्न करने के लिए प्रोजेक्ट करना है। इसे विभिन्न तरीकों से कार्यान्वित किया जा सकता है:
<> आप इंटरपोलेशन के साथ परिप्रेक्ष्य ट्रांज़ॉर्मेशन मैट्रिक्स को लागू करके इसे स्वयं लागू कर सकते हैं।
<> आप OpenGL का उपयोग कर सकते हैं।
<> आप OpenCV का उपयोग कर सकते हैं। .. और इसे लागू करने के कई और तरीके हैं।
मैंने ओपनसीवी का उपयोग करके इस समस्या को हल किया था। ओपनसीवी में निम्नलिखित कार्यों से आपको यह हासिल करने में मदद मिलेगी।
cvPerspectiveTransform
cvWarpPerspective
पहले समारोह स्रोत और गंतव्य प्रक्षेपण निर्देशांक का उपयोग कर परिवर्तन मैट्रिक्स की गणना करेगा। आपके मामले में src सरणी में सभी कोनों के लिए CGPoint से मान होंगे।और dest के आयताकार प्रक्षेपण बिंदु उदाहरण के लिए {(0,0) (200,0) (200,150) (0,150)} होगा।
एक बार जब आप रूपांतरण मैट्रिक्स प्राप्त कर लेते हैं तो आपको इसे दूसरे फ़ंक्शन पर पास करने की आवश्यकता होगी। आप इस thread पर जा सकते हैं।
ओपनसीवी लाइब्रेरी के कुछ अन्य विकल्प हो सकते हैं, लेकिन इसमें छवि प्रसंस्करण एल्गोरिदम का अच्छा संग्रह है।
ओपनसीवी लाइब्रेरी के साथ आईओएस एप्लिकेशन eosgarden पर उपलब्ध है।
हाय, क्या आप मुझे बता सकते हैं कि कैसे आप ऊपर बात को लागू किया है या यदि संभव हो तो आप किसी भी ट्यूटोरियल या उपयोगी लिंक साझा कृपया कर सकते हैं? –
हाय देव, क्या आपको इस समस्या का समाधान मिल रहा है? कृपया, क्या आप इस सुविधा के लिए कोड जोड़ सकते हैं। मुझे इस तरह की जरूरत है। – Mani