Solução não é trivial. Precisamos também verificar se a função funciona com entrada de imagem complexa.
Vamos refazer este exercício, fornecendo um conjunto de imagens de teste para todos verificarem se sua implementação funciona. O objetivo é conseguir uma implementação bem eficiente, utilizando fatiamento.
Então sempre que existe um filtro utilizando a convolução periódic1, podemos implementá-lo usando a DFT e vice-versa, sempre que tivermos um filtro no domínio da frequência, podemos implementá-lo via convolução periódica.
Quando é melhor usar convolução:
Quando é melhor usa a DFT:
O redimensionamento com interpolação de uma imagem é uma operação custosa de processamento e de difícil implementação eficiente.
Algumas bibliotecas onde implementar este redimensionamento
In [12]:
# import cv2
In [10]:
import pickle
try:
with open('/home/lotufo/ccsym.pkl','rb') as fhandle:
flist = pickle.load(fhandle)
except:
print('arquivo não encontrado')
print(len(flist[0]),len(flist[1]))
cclist_ok = flist[0]
cclist_false = flist[1]
for cok in cclist_ok:
print(type(cok))
In [ ]: