Transformada de Fourier
A transformada de Fourier (FT) é uma ferramenta matemática fundamental utilizada no processamento de imagens para analisar os componentes de frequência de uma imagem.
Ela permite transformar uma imagem do domínio espacial (onde os valores dos pixels são representados diretamente) para o domínio da frequência (onde padrões e estruturas são analisados com base em sua frequência). Isso é útil para tarefas como filtragem de imagens, detecção de bordas e redução de ruído.
Primeiro, é necessário converter a imagem para tons de cinza:
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Utilizamos COLOR_BGR2GRAY
porque as imagens são lidas principalmente no formato BGR, que é o inverso do RGB.
Para calcular a transformada de Fourier 2D:
dft = np.fft.fft2(image)
dft_shift = np.fft.fftshift(dft)
Aqui, fft2()
converte a imagem do domínio espacial para o domínio da frequência, e fftshift()
move os componentes de baixa frequência para o centro.
Para visualizar o espectro de magnitude:
magnitude_spectrum = 20 * np.log(np.abs(dft_shift))
Como a transformada de Fourier gera números complexos, utiliza-se os valores absolutos (np.abs()
) para uma visualização significativa.
A função np.log
melhora a visibilidade, pois os valores brutos de magnitude variam bastante em escala.
Swipe to start coding
Você recebe uma image
:
- Converter a imagem para tons de cinza e armazenar na variável
gray_image
; - Aplicar a transformada de Fourier na
gray_image
e armazenar na variáveldft
; - Realizar o deslocamento da frequência zero para o centro e armazenar o resultado na variável
dft_shift
; - Calcular o espectro de magnitude e armazenar na variável
magnitude_spectrum
.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 3.45
Transformada de Fourier
Deslize para mostrar o menu
A transformada de Fourier (FT) é uma ferramenta matemática fundamental utilizada no processamento de imagens para analisar os componentes de frequência de uma imagem.
Ela permite transformar uma imagem do domínio espacial (onde os valores dos pixels são representados diretamente) para o domínio da frequência (onde padrões e estruturas são analisados com base em sua frequência). Isso é útil para tarefas como filtragem de imagens, detecção de bordas e redução de ruído.
Primeiro, é necessário converter a imagem para tons de cinza:
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Utilizamos COLOR_BGR2GRAY
porque as imagens são lidas principalmente no formato BGR, que é o inverso do RGB.
Para calcular a transformada de Fourier 2D:
dft = np.fft.fft2(image)
dft_shift = np.fft.fftshift(dft)
Aqui, fft2()
converte a imagem do domínio espacial para o domínio da frequência, e fftshift()
move os componentes de baixa frequência para o centro.
Para visualizar o espectro de magnitude:
magnitude_spectrum = 20 * np.log(np.abs(dft_shift))
Como a transformada de Fourier gera números complexos, utiliza-se os valores absolutos (np.abs()
) para uma visualização significativa.
A função np.log
melhora a visibilidade, pois os valores brutos de magnitude variam bastante em escala.
Swipe to start coding
Você recebe uma image
:
- Converter a imagem para tons de cinza e armazenar na variável
gray_image
; - Aplicar a transformada de Fourier na
gray_image
e armazenar na variáveldft
; - Realizar o deslocamento da frequência zero para o centro e armazenar o resultado na variável
dft_shift
; - Calcular o espectro de magnitude e armazenar na variável
magnitude_spectrum
.
Solução
Obrigado pelo seu feedback!
single