O mesmo conceito de convolução é usado em python. A matriz é considerada um sinal usado na função Scipy Convolve para executar a convolução por várias matrizes unidimensionais. O Scipy Convolve é uma matriz n-dimensional. Geralmente são duas ou mais sequências 1-D. Neste artigo, discutiremos a função Scipy Compolve em detalhes e tentaremos aprender o uso da função complicada com a ajuda de exemplos.
Uso de convolução do Scipy e sua sintaxe
O convolveio ccepy é usado para cometer duas matrizes n-dimensionais. Aqui está a sintaxe da função Scipy Convolve:
# Scipy.sinal.comvolve (inp1, inp2, modo = 'completo', método = 'auto')O 'inp1' é a primeira matriz de entrada, 'inp2' é a segunda matriz de entrada e deve ter o mesmo número de dimensões que o parâmetro 'inp1'. O parâmetro 'modo' é um parâmetro de string que determina o tamanho da saída; é definido por três opções, iguais, válidas ou completas. É um parâmetro opcional.
O modo 'completo' indica que a convolução linear discreta completa das entradas deve ser fornecida e é o modo padrão; Se nenhum modo for fornecido, o modo 'completo' é considerado como padrão. O modo "mesmo" retorna a saída do tamanho do parâmetro "inp1", centralizado de acordo com a saída "completa".
O último modo, também um modo "válido", retorna itens que não confiam apenas no acalmar zero. O parâmetro 'método' é outro parâmetro opcional. É um parâmetro de string que indica qual método deve ser usado para convolução. Também é preciso um dos três argumentos; automático, fft e direto. O 'FFT' é a transformação de Fourier, usada para executar a convolução chamando a função FFTCOLVE integrada.
O argumento 'direto' representa a convolução direta que é a definição básica de convolução. E, finalmente, o argumento 'automático' é fornecido onde é necessária a seleção automática do argumento 'direto' ou 'fft', o que for mais rápido. O argumento 'Auto' é o padrão; Se nada for fornecido, 'Auto' é considerado o argumento padrão.
A saída da função convolve será o subconjunto de convolução linear discreta de INP1 com INP2. Vamos ver os exemplos abaixo para entender como implementar o Scipy Compolve.
Exemplo 1:
Este é o primeiro exemplo deste artigo que ajudará a esclarecer os pensamentos sobre as informações teóricas que mencionamos acima.
Neste exemplo, planejaremos um pulso suave em forma quadrada usando uma janela Hann. O código do programa usa uma matriz NP (indicada como SIG_ONE) para plotar a curva e sinal.Convolve () é usado para cometer os sinais.
Veja o código completo anexado abaixo. Aqui, importamos as bibliotecas necessárias primeiro e declaramos a matriz. Depois de chamar a função de convolução, plotamos o pulso. No restante do código, você pode ver que definimos as margens e exibimos a resposta de impulso original e filtrada e o sinal filtrado no gráfico.
do sinal de importação ccepyObserve que o código é executado no Google Collab. O Google Collaboratory é uma ferramenta de código aberto usado para implementar códigos Python. É uma ferramenta gratuita e facilmente acessível através do Google ou de qualquer outro navegador.
Depois de executar o código, você poderá ver as ondas. Consulte a imagem anexada abaixo.
Exemplo 2:
Este é o segundo exemplo deste artigo e aqui usaremos o método ndimage para demonstrar a funcionalidade da função de convolução.
Neste exemplo, o parâmetro 'modo' do ndimage leva um dos cinco argumentos; envolver, espelho, mais próximo, constante e refletir. O argumento 'refletir' representa a metade da amostra simétrica estendida relembrando a borda. A 'constante' é usada para representar todos os valores que estão além da borda, mas com o mesmo valor constante.
O 'mais próximo' representa um valor específico que é estendido pela replicação do pixel final. O 'Mirror' representa o centro do último pixel, e o argumento 'Wrap' representa o envolvimento na borda oposta. Veja o código fornecido abaixo:
De Importar Scipy ndimageAqui está a saída do código acima, que é a matriz complicada como você pode ver.
Exemplo 3:
O exemplo a seguir demonstrará uma função 2D de convolução. As duas matrizes bidimensionais são cometidas usando a função Convolve2D. O CONCOLVE2D usa dois parâmetros opcionais extras 'FillValue' e 'Boundy'.
O parâmetro 'limite' leva um dos três argumentos; preencher, envolver e symm. O argumento 'preenchimento' é o valor padrão e as matrizes de entrada do PAD com FillValue. O argumento 'Wrap' representa as condições de contorno circulares. O argumento 'SyMM' representa as condições de contorno simétricas.
O 'FillValue' é representado por um valor escalar que é usado para preencher a matriz de entrada da almofada, e seu valor padrão é 0. No código anexado, calcularemos o gradiente de uma imagem.
do sinal de importação ccepyAqui está a saída do código acima dado:
Conclusão
Neste artigo, aprendemos a função Scipy Compolve com a ajuda de exemplos. Primeiro, discutimos o conceito básico de função de convolução e, em seguida, aprendemos sobre a sintaxe da função complicada e, posteriormente, examinamos três exemplos diferentes para ver o uso da função Scipy Convolve de uma maneira muito diferente.