मैंने मैटलैब में एक 2 डी गॉसियन फ़ंक्शन के साथ बनाई गई एक छवि को गठबंधन किया है जिसे मैंने मैटलैब में भी परिभाषित किया है और अब मैं परिणामी मैट्रिक्स को डीकोनवॉल करने की कोशिश कर रहा हूं यह देखने के लिए कि क्या मुझे 2 डी गाऊशियन फ़ंक्शन मिलता है fft2 और ifft2 कमांड का उपयोग कर वापस। हालांकि परिणामस्वरूप मुझे प्राप्त होने वाला मैट्रिक्स गलत है (मेरे ज्ञान के लिए)। इनपुट छवि (img) [300x300 सरणी]मैटलैब समस्याओं में एफएफटी का उपयोग करते हुए 2 डी डीकोनवॉल्यूशन
N = 100;
t = linspace(0,2*pi,50);
r = (N-10)/2;
circle = poly2mask(r*cos(t)+N/2+0.5, r*sin(t)+N/2+0.5,N,N);
img = repmat(circle,3,3);
साथ 2 डी गाऊसी समारोह के लिए
% संहिता c = 0 sig = 1/64 के लिए
% कोड: यहाँ मैं अब तक क्या किया है के लिए कोड है (जेड) [300x300 सरणी] जेड (सी) के साथ img की 2 डी कनवल्शन के लिए
x = linspace(-3,3,300);
y = x';
[X Y] = meshgrid(x,y);
Z = exp(-((X.^2)+(Y.^2))/(2*1/64));
% कोड [599x599 सरणी]
C = conv2(img,Z);
% मेरे पास है परीक्षण किया गया है कि यह संकल्प आईएमजी और सी के लिए क्रॉस सेक्शन प्रोफाइल वैक्टर का उपयोग करके सही है और परिणामी एक्स-वाई प्लॉट्स मैं संकल्प से अपेक्षा करता हूं।
% संकल्प के मेरे ज्ञान से, एल्गोरिदम फोरियर स्पेस में गुणक के रूप में काम करता है, इसलिए मेरे इनपुट (आईएमजी) द्वारा मेरे आउटपुट (कल्पित छवि) के फूरियर ट्रांसफॉर्म को विभाजित करके मुझे पॉइंट स्प्रेड फ़ंक्शन (Z - 2 डी गाऊशियन फ़ंक्शन) उलटा फूरियर ट्रांसफॉर्म के बाद इस परिणाम पर विभाजन द्वारा लागू किया जाता है। चेतावनी::
प्रयास किया 2D deconvolutionFimg = fft2(img,599,599);
% के लिए
% संहिता शून्य गद्दी 599x599 सरणी
FC = fft2(C);
R = FC/Fimg;
% करने के लिए परिणाम को बढ़ाने के लिए मैं अब इस त्रुटि शीघ्र मिल जोड़ा मैट्रिक्स विलक्षण के करीब है या बुरी तरह से स्केल किया गया। परिणाम गलत हो सकते हैं। RCOND = 2.551432e-22
iFR = ifft2(R);
मैं जेड के करीब आईएफआर उम्मीद कर रहा हूँ, लेकिन मैं कुछ पूरी तरह से अलग हो रही है। यह जटिल मूल्यों के साथ ज़ेड का अनुमान लगा सकता है लेकिन मुझे यह जांचने की प्रतीत नहीं होती है क्योंकि मुझे नहीं पता कि मैटलैब में 3 डी जटिल मैट्रिक्स को कैसे प्लॉट करना है। तो अगर कोई मुझे बता सकता है कि मेरा जवाब सही है या गलत है और इस deconvolution कैसे काम करने के लिए मिलता है? मुझे बहुत सराहना की जाएगी।
थोड़ा बंद विषय nitpick: यदि आप एक संकेत convolve, – chappjc
एक 599x599 मैट्रिक्स में विभाजन के परिणाम के बाद से कुंडलित नहीं, तुम कैसे 2D गाऊसी समारोह जो 300x300 है मिलता है? – Curious
@IssamLaradji परिणामस्वरूप छवि 59 9x599 है जिसमें 2 डी गाऊसी पहली 300x300 पंक्तियों के भीतर निहित है। मैंने 300x300 सरणी –