به بخش پرسش و پاسخ یادگیری عمیق خوش آمدید,
این نسخه آزمایشی سایت است.
لطفا به نکات زیر توجه کنید:
  • برای ارتباط با مدیران میتوانید از صفحه مدیران اقدام کنید.
  • سوال و جواب ها باید به زبان فارسی باشند. استفاده از زبان انگلیسی یا فینگلیش برای پاسخ دادن مجاز نیست.
  • لطفا بعد از پرسش سوال لینک سوال خود را در گرو تلگرام (Iran Deep Learning Group) معرفی کنید تا سریعتر به جواب برسید. برای دسترسی به آخرین لینک از منابع یادگیری استفاده کنید
  • لطفا بجای عکس از متن استفاده کنید. اگر متون طولانی هستند از سایت pastebin.com برای اپلود استفاده کرده و لینک حاصل را در سوال خود قرار دهید. برای قرار دادن تصویر ، از بخش ارسال تصویر ادیتور سایت استفاده کنید.
  • بعد از دریافت پاسخ، بهترین پاسخ را از طریق کلیک بر روی علامت تیک انتخاب کنید
  • اگر با خطا و یا مشکلی مواجه شدید از بخش تماس با ما در انتهای صفحه و یا ایمیل Coderx7@gmail.com موضوع را اطلاع دهید.

با تشکر

دسته بندی ها

0 امتیاز

سلام
ببخشید من یک ماتریس دارم که با fft گرفتن از اون بردمش در فضای فرکانسی، حالا از اونجاییکه میدونم اطلاعات در فرکانس های پایین ذخیره میشه ، میخوام که فرکانس های بالا رو از این ماتریس حذف کنم، اینکار رو در پایتون با چه دستوری انجام بدم؟؟

ممنونم

توسط (113 امتیاز)

2 پاسخ

0 امتیاز

سلام و درود
کار شما یه جور کارای مربوط به ‍‍پردازش سیگنال میشه که بسته به عملیاتی که میخواید انجام بدید مانند فیلتر های پایین گذر یا بالاگذر و ... بهتره از کتابخانه scipy استفاده کنید.

https://docs.scipy.org/doc/scipy/reference/signal.html

توسط (830 امتیاز)
ممنون از راهنمایی شما
ببخشید من میخوام فیلتر پایین گذر استفاده کنم، کامندی رو میشناسید که اینکار رو انجام بده؟
ممنونم
سلام و درود
شما ابتدا با توجه به باند فرکانسی که میخواید از فیلتر عبور کنه رو مشخص کنید و با توجه به آن یه فیلتر طراحی کنید و این فیلتر رو روی سیگنالتون اعمال کنید.
بنده تو python  تا بحال این کارو نکردم. ولی روالش همینطوره
موفق باشید
+1 امتیاز

سلام.
اون طور که متوجه شدم میخواهید یه ماسک فرکانسی تو حوزه فرکانس اعمال کنید. راه ساده اش کد زیر برای ماسک مستطیلی هستش (هرچند استفاده از این ماسک اصلا توصیه نمیشه چون یه سری معایب مثل ایجاد آرتیفکت داره):

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('1.jpg',0)
f = np.fft.fft2(img)
fshift = np.fft.fftshift(f)


rows, cols = img.shape
crow,ccol = rows/2 , cols/2
Mask = np.zeros_like(img)
Mask[crow-30:crow+30, ccol-30:ccol+30] = 1
fshift *= Mask
f_ishift = np.fft.ifftshift(fshift)
img_back = np.fft.ifft2(f_ishift)
img_back = np.abs(img_back)


plt.figure()
plt.imshow(img, cmap = 'gray')
plt.show()

توصیه میشه از فیلتر گوسی شکل استفاده بشه که در کتابخانه opencv دستورش به شکل زیر هست:

blur = cv2.GaussianBlur(img,(5,5),1)

در این تابع ورودی دوم سایز پنجره ای که قراره با تصویر کانوالو بشه هستش. ورودی سوم انحراف معیار پنجره گوسی.

مرجع:
https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_transforms/py_fourier_transform/py_fourier_transform.html

توسط (540 امتیاز)
...