मैं विशिष्ट प्रोग्रामिंग भाषा से स्वतंत्र, यहां एक एल्गोरिदम खोज रहा हूं।गंदे आयताकारों का इष्टतम सेट
समस्या:
हम एक 2-आयामी प्रदर्शन क्षेत्र (लगता है पिक्सल के सरल बफर) है। समय-समय पर, कुछ पिक्सल बदल गए हैं। हमें आयतों का एक सेट ढूंढना होगा जो सभी परिवर्तित पिक्सल को समाहित करता है।
यह तुच्छ होगा, लेकिन अवांछनीय, एक एकल, संभवतः बड़े, आयत है कि सभी बदली हुई पिक्सल समाहित गणना करने के लिए। हमारे पास एकाधिक, छोटे, तंग-फिटिंग आयताकार निर्दिष्ट न्यूनतम आकार (जो एक चर है जो बदल सकता है) के बजाय होगा।
उदाहरण के लिए, मान लीजिए कि पूरे प्रदर्शन क्षेत्र के भीतर, में कुछ पिक्सल ऊपरी बाएँ कोने बदल गया है और निचले दाएं कोने में एक कुछ पिक्सल बदल दिया है। हम पूरे क्षेत्र के एकल गंदे आयत की गणना नहीं करना चाहते हैं - हम इसके बजाय दो गंदे आयत चाहते हैं: ऊपरी में एक छोटा सा छोड़ दिया गया है और निचले में एक छोटा सा दाएं है।
प्रदर्शन महत्वपूर्ण है, इसलिए यह सवाल है।
यह समस्या हर समय फसल होती है, निश्चित रूप से वीडियो कोडेक्स और दूरस्थ डेस्कटॉप संपीड़न क्षेत्रों में, मुझे लगता है। मेरे मामले में, यह ग्राफिकल छवि मैनिप्लेशंस के दौरान आवर्ती समस्या है जिसमें एक साथ साझा क्षेत्र में एक साथ कई उपयोगकर्ता शामिल होते हैं।
क्या किसी को इसके लिए प्रकाशित एल्गोरिदम पता है या अतीत में उपयोग किए गए समाधान के बारे में पता है?
धन्यवाद!
आप "प्रदर्शन" को कैसे परिभाषित कर रहे हैं? आपकी अन्य बाधाएं क्या हैं? क्या आपके पास अच्छे समाधान का न्याय करने के लिए ठोस मीट्रिक है? – Karmastan
चूंकि मैं एक विशिष्ट भाषा या मंच से स्वतंत्र एक एल्गोरिदम मांग रहा हूं, इसलिए मीट्रिक के साथ ठोस होना मुश्किल है, लेकिन मेरा मतलब है कि एक एल्गोरिदम है जो उत्तर को जितना संभव हो सके उतने संचालन में पाता है, जैसा कि कुछ ऐसा है उदाहरण के लिए क्षेत्र में प्रत्येक पिक्सेल के कई ब्रूट फोर्स स्कैन करता है। मैं मापता हूं कि यह उसी तरह है कि हम ब्रेसनहम लाइन ड्राइंग जैसे एल्गोरिदम को मापते हैं: इसे कम से कम परिचालनों में सही उत्तर मिल जाता है कि किसी भी कम उपयोग के तरीकों के बारे में सोचना बहुत कठिन होता है। –