मैं वर्तमान में वेवलेट्स में डाइविंग कर रहा हूं और कुछ चीजों के बारे में थोड़ा उलझन में हूं।लिफ्टिंग (ऋणात्मक मूल्य, विज़ुअलाइजिंग, एलएच एचएल भ्रम) के साथ असतत वेवलेट ट्रांसफॉर्म लीगल 5/3)
सबसे पहले, यह होमवर्क नहीं है। केवल मनोरंजक कोडिंग के लिए।
बेहतर समझ हासिल करने के लिए, मैंने सी में लीगल 5/3 वेवलेट के लिए उठाने की योजना लागू की, जहां तक मैं देख सकता हूं, ऐसा लगता है। मैं इसे उलट सकता हूं और मूल छवियों को सही ढंग से पुन: उत्पन्न किया जाता है। छद्म कोड में, मेरा आगे डीडब्ल्यूटी इस तरह दिखता है:
// deinterleave splits the low band from the high band
// (e.g. 1 0 3 0 6 0 8 1 11 becomes 1 3 6 8 11 | 0 0 0 1)
for each row in image:
dwt1d(row)
deinterleave(row)
for each col in image:
dwt1d(col)
deinterleave(col)
लेकिन मैं चीजों के एक जोड़े के साथ संघर्ष।
dwt को लागू करते समय, मैं अपनी रूपांतरित छवि वापस लेता हूं, लेकिन मान सीमा से बाहर हैं [0 - 255]। इसलिए मैं उन्हें शॉर्ट्स में स्टोर करता हूं। कुछ नकारात्मक हैं, और कुछ बहुत बड़े हैं। अब यहां दिखाए गए अनुसार उन अच्छी दिखने वाली छवियों को प्राप्त करने के लिए मैं उन्हें कैसे प्रदर्शित कर सकता हूं: (http://www.whydomath.org/node/wavlets/images/Largetoplevelwt.gif)? अगर मैं imshow (छवि, []) के साथ मैटलैब में अपनी छवि दिखाता हूं, तो मेरा आउटपुट इस तरह दिखता है: http://i.imgur.com/dNaYwEE.jpg। तो, क्या मुझे अपने उप बैंड पर कुछ बदलाव करना है? यदि हां, क्या कोई मुझे समाधान के लिए इंगित कर सकता है या मुझे बता सकता है कि क्या करना है?
साहित्य में, मुझे कभी-कभी लगता है कि उप बैंड इस तरह के आदेश दिए गए हैं: [एलएल एलएच; एचएल एचएच] और कभी-कभी इस तरह: [एलएल एचएल; एलएच एचएच]। उत्तरार्द्ध, मैं ज्यादातर देखता हूं जब पेपर जेपीईजी 2000 के बारे में है और यह भी मेरे एल्गोरिदम का उत्पादन करता है। हालांकि मैटलैब में, lwt2 फ़ंक्शन का उपयोग करते समय, यह पूर्व लेआउट देता है। मैटलैब से आउटपुट के साथ अपने आउटपुट की तुलना करते समय भी मैं इसे देखता हूं। ऐसा लगता है कि एलएच और एचएल मिश्रित हैं। ऐसे कैसे हो सकता है? फर्क पड़ता है क्या? क्या इसे दृढ़ता के बजाय उठाने का उपयोग करने के साथ कुछ करना है?
क्या इससे वास्तव में कोई फर्क पड़ता है कि कोई पंक्तियों को पहले करता है और फिर कॉलम या वीज़ा बनाम? जब मैं ऑर्डर स्विच करता हूं तो मुझे अपने आउटपुट में कोई फर्क नहीं पड़ता। एकमात्र चीज जो अलग होगी वह यह है कि एलएच एचएल बन जाता है और एचएल एलएच बन जाता है। हालांकि, यह मेरे दूसरे प्रश्न को हल नहीं करता है क्योंकि आउटपुट वही है। मुझे लगता है कि यह सिर्फ उल्लेखनीय है। तो क्या इससे कोई फर्क पड़ता है? मैंने कागजात देखे जहां वे कॉल-पंक्ति करते हैं और अन्य जहां वे पंक्ति-कर्नल करते हैं। जेपीईजी 2000 के संबंध में दोनों।
बहुत बहुत धन्यवाद। अगर कोई मेरे मुद्दों पर कुछ प्रकाश डाल सकता है तो मैं बहुत आभारी रहूंगा।
सधन्यवाद, मार्कस
मैं इस प्रश्न के साथ कुछ मुद्दों को देख सकता हूं। *** 1 ***। आपने तीन प्रश्नों को एक में रखा है। उन्हें अलग-अलग प्रश्नों में विभाजित करें। *** 2 ***। आप एक [mcve] (http://stackoverflow.com/help/mcve) की आपूर्ति नहीं करते हैं। जब तक आप ऐसा नहीं करते हैं, तब तक अपने सवालों का जवाब देना बहुत मुश्किल है। *** 3 ***। आपके प्रश्न (ओं) को वेवलेट्स के सिद्धांत से संबंधित देखा जा सकता है और कुछ (मैं यह नहीं कह रहा हूं लेकिन कुछ हो सकता है) लगता है कि यह कहीं और है। इन्हें संबोधित करने से शायद आपको एक बक्षीस से अधिक मदद मिलेगी। – kkuilla
बिंदु 3 के संबंध में: आपको लगता है कि यह कहां से संबंधित होगा? –
मुझे यकीन नहीं है, मुझे डर है। यदि आप 1 और 2 को संबोधित करते हैं तो अंतिम बिंदु शायद अप्रासंगिक हो जाएगा। – kkuilla