एक मोबाइल डिवाइस के साथ मैं एक अंधेरे सतह पर एक सपाट प्रकाश वस्तु की तस्वीर लेता हूं। (उदाहरण के लिए किसी अखबार से निकाला गया कूपन)।
छवि को फिर एक चमक/विपरीत फ़िल्टर के माध्यम से चलाया जाता है। यदि यह बहुत अधिक अंधेरा है, तो महत्वपूर्ण घटकों को छोड़ दिया जाता है। यदि यह बहुत उज्ज्वल है, तो कूपन पर लिखा हुआ खो जाता है।
यह छवि तब एक बिटोनल छवि में परिवर्तित हो जाती है। कोई भी पिक्सेल जो 50% या अधिक गहरा होता है, काले रंग में परिवर्तित हो जाता है, बाकी सब सफेद होता है। (किया हुआ)
मुझे एक तिरछी बिटोनल छवि के साथ छोड़ दिया गया है (एक काले रंग की पृष्ठभूमि के साथ एक बड़े आयत के अंदर एक सफेद ट्रेपोजॉइड के बारे में सोचें)।
मुझे यह पता लगाने की आवश्यकता है कि छवि को कैसे क्रॉप करना है - जब यह एक काले रंग की पृष्ठभूमि पर होता है तो यह सफेद पृष्ठभूमि पर होने की तुलना में आसान होता है। फिर, मुझे छवि को तिरछा करना होगा ताकि पहलू को संरक्षित करने का प्रयास करते हुए, यह समलम्बाकार के बजाय आयताकार हो।
अंतिम परिणाम कूपन की अच्छी तरह से क्रॉप की गई, बिटोनल, पठनीय छवि होनी चाहिए।
1 उत्तर
अपनी छवि को क्रॉप करने के लिए, आप लॉकबिट्स विधि का उपयोग कर सकते हैं और अपने सभी पिक्सेल के माध्यम से स्कैन करके क्रमशः ऊपर, बाएँ, दाएँ और नीचे से सामग्री वाला पहला पिक्सेल ढूंढ सकते हैं। लॉकबिट्स का उपयोग कैसे करें यहां अच्छी तरह से वर्णित किया गया है: https:/ /web.archive.org/web/20141229164101/http://bobpowell.net/lockingbits.aspx
यह मानते हुए कि आपकी छवि को घुमाया नहीं गया है, और यह कि स्क्यूइंग उस टेबल के विपरीत कोण पर रखे गए कैमरे से आता है जहां कूपन की तस्वीर ली जा रही है, अब आपके पास कूपन की एक तिरछी छवि होनी चाहिए, जो क्रॉप किए गए बिटमैप की सीमा के भीतर पूरी तरह से फिट हो। आपको समलम्ब चतुर्भुज के चारों कोनों को भी जानना चाहिए।
एक छवि को "अविभाजित" करना उतना आसान नहीं है जितना आप सोच सकते हैं। हालांकि, अच्छे लोगों ने इस समस्या को हल कर लिया है और आप शायद उनके कोड को अपने इस्तेमाल के लिए पोर्ट कर सकते हैं। यहाँ एक लिंक है जिसका उपयोग मैंने कुछ समय पहले इसी तरह के मामले में इस समस्या का पता लगाने के लिए किया था:
http://ryoushin.com/cmerighi/en-US/2007-10-29_61/Image_Distortion_Enhancements
मेरे पास कहीं न कहीं कुछ कोड भी संग्रहीत हैं यदि आप जो पाते हैं उसका कोई मतलब नहीं निकाल सकते हैं।
संबंधित सवाल
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।