سؤال

أريد أن أقوم بالتنعيم على صورة في مجال التردد. عندما أستخدم Google لمشاهدة أي مقالات ، أعطت بعض رموز MATLAB التي لا أحتاج إليها. يمكنني القيام بـ FFT إلى صورة لكنني لا أعرف كيفية تنفيذ أي تقنيات تنعيم (ILPF ، BLPF ، IHPF ، BHPF) في مجال التردد. إذا تمكنت من تقديم أي عينات رمز لأي من التقنيات المذكورة أعلاه دون استخدام أي مكتبات معالجة الصور ، فسيكون ذلك مفيدًا حقًا ويفضل C#.

شكرًا،

هل كانت مفيدة؟

المحلول

هل يمكنك تحديد ما تعنيه من خلال "التنعيم في مجال التردد"؟ يمكنك إنشاء صورة طيف باستخدام FFT وضرب الصورة بواسطة بعض الوظائف لتخفيف ترددات معينة ، ثم تحويل الطيف مرة أخرى إلى صورة باستخدام FFT العكسي. ومع ذلك ، بالنسبة لهذا النوع من التصفية (الضرب بواسطة بعض وظائف التحجيم في التردد) ، يمكنك تحقيق نفس النتيجة بسرعة أكبر من خلال التوفيق مع الوظيفة المزدوجة في المجال المكاني.

في أي حال ، إذا كنت ترغب في تنفيذ هذا بنفسك ، فاقرأ على FFT (تحويل فورييه السريع) والالتواء. يمكنك أيضًا التحقق من كتاب معالجة الإشارات ، إذا كنت مهتمًا ، لأن النظرية وراء التصفية المنفصلة تكون عميقة إلى حد ما. لن تكون الخوارزميات ذات معنى كبير بدون هذه النظرية ، على الرغم من أنه يمكنك بالتأكيد تطبيقها دون فهمها.


إذا كنت ترغب في تنفيذ خوارزميات DSP الخاصة بك ، تحقق من هذا الكتاب عبر الانترنت. على وجه الخصوص ، يصف الفصل 33 الرياضيات والخوارزمية وراء تصميم مرشح Butterworth. CH 12 يصف كيفية تنفيذ FFT.

نصائح أخرى

كيشان ، الأمر بسيط. تخيل أن FFT هي صورتان أخريان حيث تقع الترددات المنخفضة في الترددات الوسطى والعالية بعيدًا عن الوسط. إذا تم ترقيم وحدات البكسل من -W/2 إلى W/2 و -H/2 إلى H/2 ، يمكنك ببساطة قياس المسافة من الوسط كـ (x ، y) = sqrt (x^2+y^2) . ثم خذ بعض الوظيفة المتناقصة الرتيب التعسفي مثل f (x) = 1/(1+x) وضرب كل نقطة في FFT مع F (A (x ، y)). ثم تحويل مرة أخرى باستخدام FFT.

هناك خيارات مختلفة لـ F (x) والتي ستبدو مختلفة. على سبيل المثال وظيفة غوسية أو بيسيل أو أي شيء. لقد فعلت هذا من أجل المرحلة الجامعية الأولى وكان ممتعًا للغاية. إذا أرسلت لي بريدًا ، فسوف أرسل لك برنامجي :-).

تحذير واحد بت واحد هو الترتيب في إخراج FFT. يمكن طلب المصفوفات التي تنشئها بطرق غريبة. من المهم أن تكتشف أي فهرس الصفيف الذي يتوافق مع الموضع x/y في تحويل فورييه "التحليلي"!

لجميع معالجة الصور/الإشارة أوصي OpenCV.

هذا لديه غلاف C# المدير: EMGU.

http://www.emgu.com/wiki/index.php/main_page

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top