यह सरल टेम्पलेट मिलान के साथ काफी सरल रूप से हल किया जा सकता है। मुझे नहीं पता कि आपने इसे कैसे स्थापित किया है, इसलिए मैं केवल एल्गोरिथ्म का वर्णन करूंगा और चित्रों का उपयोग करूंगा।
ध्यान दें कि पद्य संख्याओं की एक विशिष्ट सीमा होती है जिसका उपयोग आसानी से किसी पद्य के प्रारंभ और अंत का पता लगाने के लिए किया जा सकता है। तो उस पैटर्न के लिए एक बिनाराइज्ड टेम्पलेट बनाएं और उसे स्टोर करें। कुछ इस तरह:
चूँकि एक स्क्रीन में लाइनों की संख्या पहले से ज्ञात होती है (आप पृष्ठ को प्रारूपित कर रहे हैं) और प्रत्येक कविता में एक निरंतर ऊँचाई है, आप आसानी से अनुमान लगा सकते हैं (एल्गोरिदमिक रूप से) जहां छंदों के केंद्र बिंदुओं के लिए Y निर्देशांक स्क्रीन पर होना चाहिए । यह विचार प्रदर्शित करता है:
जब उपयोगकर्ता एक कविता को छूता है, तो XY निर्देशांक प्राप्त करें और Y समन्वय को निकटतम कविता केंद्र में स्नैप करें।
फिर एक्स के साथ समन्वय करना, उस पंक्ति के पार एक साधारण टेम्पलेट मिलान (क्रॉस-सहसंबंध) करना। पहला मैच (क्रॉस-सहसंबंध में शिखर) आगे की दिशा में (बाईं ओर), कविता के लिए अंतिम बिंदु होगा। यदि रिवर्स दिशा (दाईं ओर) में कोई मैच नहीं हैं, तो एक कविता को स्थानांतरित करें (जो आप कर सकते हैं, क्योंकि आप केंद्र के वाई समन्वय को जानते हैं) और दोहराएं। बाएं छोर से पहला मैच कविता का शुरुआती बिंदु होगा। इसी तरह, यदि लाइन पर कोई फॉरवर्ड मैच नहीं है, तो एक लाइन को नीचे ले जाएं और दोहराएं।
यहाँ विचार का संक्षिप्त चित्रण है। पीला बॉक्स वह जगह है जहां उपयोगकर्ता कविता को छूता है। फिर आप अपने टेम्पलेट के साथ क्रॉस-सहसंबंध करते हैं और नीले घेरे का मिलान होगा।
यदि आप इसे क्रिया में देखने में रुचि रखते हैं, तो मैं इस उत्तर में टेम्पलेट मिलान का भी उपयोग करता हूं ।
एक बार जब आप कविता के लिए प्रारंभ बिंदु निर्धारित कर लेते हैं, तो उस सीमा के अंदर कविता संख्या का पता लगाने के लिए एक अरबी पाठ पहचानकर्ता का उपयोग करें और संबंधित ऑडियो फ़ाइल चलाएं।
सरल समाधान:
एक सरल समाधान, यदि आप इसके माध्यम से नहीं जाना चाहते हैं तो कविता के शुरुआती बिंदुओं के XY निर्देशांक को संग्रहीत करना है (इसे सरल रखें और केंद्र बिंदुओं का उपयोग करें) और एक बार उपयोगकर्ता इनपुट के निर्देशांक प्राप्त करने के बाद, आप फिर से स्नैप कर सकते हैं इसे केंद्र में रखें और फिर पीछे की ओर देखें कि कविता कहाँ से शुरू होती है। यह तेजी से होने का फायदा हो सकता है।
मैंने इसे पहले समाधान के रूप में आगे नहीं रखा क्योंकि आप टिप्पणियों में एक समान विचार को अस्वीकार करते थे। अंत में, यह आपके बाधाओं पर निर्भर करता है - क्या आप बल्कि कम्प्यूटेशनल काम करेंगे (टेम्पलेट मिलान - जो, वैसे, आपको टेम्पलेट को स्टोर करने की भी आवश्यकता है) या मेमोरी (स्टोरिंग निर्देशांक) का उपयोग करना।
अगर मैं तुम थे, मैं शायद इस एक के साथ जाना होगा, लेकिन छवि प्रसंस्करण समाधान की कोशिश करने के लिए मजेदार हो सकता है।