Пример #1
0
  /**
   * Transforma a imagem de entrada no domínio do espaço em uma imagem no domínio da freqüência com
   * a realização da transformada rápida de Fourier.
   *
   * @param src a imagem no domínio do espaço passada como parâmetro
   * @return a imagem no domínio da freqüência
   * @throws FourierException caso existam problemas no processo de mudança de domínio
   */
  public BufferedImage computeSpectrum(BufferedImage src) throws FourierException {

    FourierImagem fft = new FourierImagem(src);
    fft.transform();

    return fft.getEspectro();
  }
Пример #2
0
  /**
   * Realiza a operação de filtragem com o filtro passa baixa gaussiano, retornando a imagem
   * resultante no domínio da freqüência
   *
   * @param src Image de entrada
   * @param raio o raio do filtro passa alta
   * @return a imagem filtrada
   * @throws FourierException caso não seja possível realizar a operação ou existam erros no
   *     procedimento
   */
  public static BufferedImage gaussianoPassaBaixaFreq(BufferedImage src, double raio)
      throws FourierException {

    BufferedImage resultadoFreq = null;

    // Filtragem no domínio da freqüência
    FourierImagem fr = new FourierImagem(src);
    fr.transform();
    Filtragem.filtroGaussianoPassaBaixa(fr, raio);
    resultadoFreq = fr.getEspectro();

    return resultadoFreq;
  }
Пример #3
0
  /**
   * Realiza a operação de filtragem com o filtro passa alta butterworth, retornando a imagem
   * resultante no domínio da freqüência
   *
   * @param src Image de entrada
   * @param raio o raio do filtro passa alta
   * @return a imagem filtrada
   * @throws FourierException caso não seja possível realizar a operação ou existam erros no
   *     procedimento
   */
  public static BufferedImage butterworthPassaAltaFreq(BufferedImage src, double raio, int n)
      throws FourierException {

    BufferedImage resultadoFreq = null;

    // Filtragem no domínio da freqüência
    FourierImagem fr = new FourierImagem(src);
    fr.transform();
    Filtragem.filtroButterworthPassaAlta(fr, n, raio);
    resultadoFreq = fr.getEspectro();

    return resultadoFreq;
  }
Пример #4
0
  /**
   * Realiza a operação de filtragem com o filtro rejeita faixa, retornando a imagem resultante no
   * domínio da freqüência, onde ficam mais evidentes os efeitos filtragem
   *
   * @param src Image de entrada
   * @param raioInterno o raio interno do filtro
   * @param raioExterno o raio externo do filtro
   * @return a imagem filtrada
   * @throws FourierException caso não seja possível realizar a operação ou existam erros no
   *     procedimento
   */
  public BufferedImage rejeitaFaixaFreq(BufferedImage src, double raioInterno, double raioExterno)
      throws FourierException {

    if ((raioInterno < 0) || (raioInterno > 1) || (raioExterno < 0) || (raioExterno > 1)) {
      throw new FourierException(FourierException.RAIO_FAIXA);
    }

    // Filtragem no domínio da freqüência
    FourierImagem fr = new FourierImagem(src);
    fr.transform();
    Filtragem.rejeitaFaixa(fr, raioInterno, raioExterno);
    return fr.getEspectro();
  }