Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Перетворення Фур'є | Обробка Зображень з OpenCV
Основи комп'ютерного зору з Python

Перетворення Фур'є

Note
Визначення

Перетворення Фур'є (FT) — це фундаментальний математичний інструмент, який використовується в обробці зображень для аналізу частотних компонентів зображення.

Воно дозволяє перетворювати зображення з просторової області (де значення пікселів представлені безпосередньо) у частотну область (де аналізуються шаблони та структури на основі їх частоти). Це корисно для таких завдань, як фільтрація зображень, виявлення країв та зменшення шуму.

Спочатку необхідно перетворити зображення у відтінки сірого:

gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Note
Примітка

Ми використали COLOR_BGR2GRAY, оскільки зображення зазвичай зчитуються у форматі BGR, який є зворотним до RGB.

Для обчислення 2D-фур'є-перетворення:

dft = np.fft.fft2(image)
dft_shift = np.fft.fftshift(dft)

Тут fft2() перетворює зображення з просторової області у частотну область, а fftshift() переміщує низькочастотні компоненти в центр.

Для візуалізації спектра амплітуд:

magnitude_spectrum = 20 * np.log(np.abs(dft_shift))

Оскільки фур'є-перетворення повертає комплексні числа, для коректної візуалізації використовуються абсолютні значення (np.abs()).

Функція np.log підсилює видимість, оскільки початкові значення амплітуди мають великий діапазон.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 2
single

single

Перетворення Фур'є

Свайпніть щоб показати меню

Note
Визначення

Перетворення Фур'є (FT) — це фундаментальний математичний інструмент, який використовується в обробці зображень для аналізу частотних компонентів зображення.

Воно дозволяє перетворювати зображення з просторової області (де значення пікселів представлені безпосередньо) у частотну область (де аналізуються шаблони та структури на основі їх частоти). Це корисно для таких завдань, як фільтрація зображень, виявлення країв та зменшення шуму.

Спочатку необхідно перетворити зображення у відтінки сірого:

gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Note
Примітка

Ми використали COLOR_BGR2GRAY, оскільки зображення зазвичай зчитуються у форматі BGR, який є зворотним до RGB.

Для обчислення 2D-фур'є-перетворення:

dft = np.fft.fft2(image)
dft_shift = np.fft.fftshift(dft)

Тут fft2() перетворює зображення з просторової області у частотну область, а fftshift() переміщує низькочастотні компоненти в центр.

Для візуалізації спектра амплітуд:

magnitude_spectrum = 20 * np.log(np.abs(dft_shift))

Оскільки фур'є-перетворення повертає комплексні числа, для коректної візуалізації використовуються абсолютні значення (np.abs()).

Функція np.log підсилює видимість, оскільки початкові значення амплітуди мають великий діапазон.

Завдання

Проведіть, щоб почати кодувати

Вам надано image:

  • Перетворіть зображення у відтінки сірого та збережіть у змінній gray_image;
  • Застосуйте Фур'є-перетворення до gray_image та збережіть у змінній dft;
  • Зробіть зсув нульової частоти до центру та збережіть результат у змінній dft_shift;
  • Обчисліть спектр амплітуд та збережіть у змінній magnitude_spectrum.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 2
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt