छवि डाउनसमलिंग के लिए कम-पास फ़िल्टर पैरामीटर


11

मैं का एक पहलू में एक छवि downscale करने की जरूरत है क्षैतिज और एस वाई (खड़ी रों एक्स , रों y < 1 )।sxsysxsy1

मैं downsampling से पहले एक परिमित कम-पास फिल्टर का उपयोग करना चाहता हूं ।n×m

मैं कम पास फिल्टर मानकों (कैसे यह निर्धारित करना चाहिए और गाऊसी σ ) के एक समारोह के रूप में इसे पाने के लिए रों एक्स और एस वाई ?n,mσsxsy

विशेष रूप से, मैं मामले में रोचक रहा हूँ जहां sx=sy=1/2


[यहां पूछे गए सवाल] [1] [1]: stackoverflow.com/questions/3149279/…
isrish

1
धन्यवाद, लेकिन यह सवाल इस बारे में नहीं है कि डाउनस्कूलिंग कारक के एक फ़ंक्शन के रूप में फ़िल्टर मापदंडों को कैसे निर्धारित किया जाए।
बेन-उरी

आप कितना फ़िल्टर करना चाहते हैं? आपका लक्ष्य क्या है?

1
मैं aliasing से बचने के लिए नमूने से पहले एक कम पास फिल्टर का उपयोग करना चाहता हूं। मैं अलियासिंग के बिना अधिक से अधिक जानकारी संरक्षित करना चाहता हूं।
बेन-उरी

1
आपको यह जानने के लिए फ़िल्टर के फूरियर रूपांतरण को देखने की आवश्यकता है कि नमूना परिणाम के Nyquist सीमा के नीचे आवृत्तियों को रखने के दौरान यह अलियासिंग आवृत्तियों को कितनी अच्छी तरह से काट देगा। एक गाऊसी का रूपांतरण एक और गाऊसी है, जिसका अर्थ है कि कोई तेज कटऑफ नहीं है। वहाँ लगभग हमेशा एक बेहतर विकल्प है।
मार्क रैनसम

जवाबों:


4

आपको दोनों छवियों के बीच Nyquist आवृत्ति में परिवर्तन के बारे में सोचना होगा। यदि मूल छवि का Nyquist फ़्रीक्वेंसी N है, तो डाउन इमेज की गई छवि में कम Nyquist फ़्रीक्वेंसी होगी, xN, जहाँ x अंतिम छवि और प्रारंभिक एक के बीच के आकार के अनुपात से संबंधित है। आपको उन स्थानिक आवृत्तियों को निकालने की आवश्यकता होगी जो मूल छवि में xN की तुलना में अधिक हैं, इसे डाउनसैंप करने से पहले।

इमेज स्पेस में एक गाऊसी का पावर स्पेक्ट्रम, फ्रीक्वेंसी स्पेस में भी एक गाऊसी है। यदि हम एक पल के लिए दूसरे आयाम की उपेक्षा करते हैं, तो छवि स्थान में गौसियन को एक्सप (-x ^ 2 / s ^ 2) के रूप में परिभाषित किया जाता है, जहां x आपके पिक्सेल का प्रतिनिधित्व करता है। यह ऍक्स्प के स्पेस आवृत्ति पर मैप किया जाता है (-w ^ 2 * s ^ 2), जहां w फ्रीक्वेंसी है। सिग्मा पैरामीटर (एस) से पता चलता है कि छवि अंतरिक्ष में एक व्यापक गॉसियन, आवृत्ति अंतरिक्ष में एक संकीर्ण गॉसियन से मेल खाती है।

आप एक सिग्मा पैरामीटर चुनना चाहेंगे जो आवृत्ति पर आवृत्ति स्थान में बहुत कम मूल्य प्राप्त करता है जो नीचे नमूना छवि के Nyquist आवृत्ति से मेल खाती है।


ठीक है, लेकिन मैं इसे असतत सजा कर्नेल में कैसे अनुवाद करूं? (यह सवाल था)
बेन-उरी

संपादित करें pls देखें ...
NoNameNo

धन्यवाद, लेकिन फिर भी सिग्मा को अधिकतम आवृत्ति के एक फ़ंक्शन के रूप में खोजने का एक सूत्र है जो आउटपुट परिणाम में होना चाहिए?
बेन-उरी

मैं कोई सूत्र नहीं जानता।
NoNameNo


0

यदि आप एक बड़ी डाउनसाइज़ (2x, 3x, 4x कहते हैं) कर रहे थे, तो आप अच्छी एंटी-अलियासिंग प्राप्त करने के लिए पिक्सेल औसत कर सकते हैं। यही कारण है कि वीडियो गेम को कुरकुरा बनाने के लिए एंटी-अलियासिंग बहुत सारे अतिरिक्त सीपीयू / जीपीयू का उपयोग करता है।

जब से आप 1000x1000 से 707x707 छवि (पैमाने कारक के लिए सिर्फ एक उदाहरण) पर जा रहे हैं, तो आप सही हैं कि एलियासिंग एक मुद्दा हो सकता है।

शुक्र है कि यह एक समस्या है जिसे हल करने के लिए बहुत से लोग पहले ही भाग चुके हैं और काफी काम कर रहे हैं। कई मामलों में एक बाइबिक इंटरपोलेशन जाने का रास्ता है। विभिन्न प्रक्षेप विधियों के कुछ उदाहरण यहां दिए गए हैं:

http://www.compuphase.com/graphic/scale.htm

OpenCV के आकार में निर्मित कई तरीके हैं:

http://opencv.willowgarage.com/documentation/cpp/geometric_image_transformations.html#cv-resize

यदि आप पहले से ही उन इंटरपोलेशन विधियों में से कई के साथ खेल चुके हैं और वे अच्छी तरह से काम नहीं करते हैं, तो कृपया किसी प्रकार का नमूना स्रोत छवि और नमूना परिणाम छवि पोस्ट करें जिसमें कमी दिखाई दे। हमें समस्या का निदान करने और इसके लिए एक अच्छे समाधान के साथ प्रयास करने की आवश्यकता है।


टिप्पणी करते हैं, जबकि यह तेज है, पिक्सेल औसत गुणवत्ता के लिए आदर्श समाधान नहीं है। पिक्सेल औसत प्रभावी रूप से एक फिल्टर को लागू करता है। फ्रिक्वेंसी स्पेस में, यह एक sinc फ़ंक्शन द्वारा गुणा करने के बराबर है जो Nyist के हार्मोनिक्स में शून्य क्रॉसिंग के साथ दोलन करता है। इसकी दो समस्याएं हैं: 1. यह उच्च आवृत्ति को दर्शाता है लेकिन इतना अधिक नहीं है। यह प्रत्येक दूसरे पक्ष के लोब पर चरणबद्ध होता है। दोनों (1) और (2) अलियासिंग में योगदान कर सकते हैं।
थांग

0

मेरे पास वास्तव में आपके लिए एक अच्छा जवाब नहीं है, लेकिन यहां 2 विकल्प दिए गए हैं जिन्हें आप आज़मा सकते हैं:

  • σ3σ
  • यदि आप ठीक संकेत-नमूना गणना करने के लिए तैयार हैं, तो फूरियर रूपांतरण का उपयोग क्यों नहीं कर रहे हैं? अपनी छवि का FFT लें, केवल सबपार्टर रखें जो आपके लक्ष्य आकार के अनुरूप हो, और परिवर्तन को उल्टा कर दें। यह आपके स्पेक्ट्रम पर एक एंटी-अलियासिंग फ़िल्टर लागू करेगा। यदि आपके लिए बहुत सारी कलाकृतियां (तरंगें, दाद) हैं, तो अपने गॉसियन फ़िल्टर के स्पेक्ट्रम पर लागू करें, जिसकी चौड़ाई आपके लक्ष्य आकार से मेल खाती है।

0

s=1/2

[1,2,1]T[1,2,1]

तुम गलत हो। क्या आप 0.25 का स्केल फैक्टर भूल गए? ... और यदि हां, तो यह s = 1/2 नहीं 1 / sqrt (0.5) के लिए एक सामान्य विकल्प है।
बेन-उरी

@ बेन-उरी की टेक पर कोई टिप्पणी? सिस्टम लंबाई के कारण इस पोस्ट को निम्न-गुणवत्ता के रूप में चिह्नित कर रहा है। कृपया इसे संशोधित या हटाने पर विचार करें।
पीटर के.एच.

1
ss2

ssσσsx,sy
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.