3
이미지의 푸리에 변환을 만들고 싶습니다. 그러나 그림을 배열로 어떻게 바꿀 수 있습니까? 그리고이 후 변환을 위해 numpy.fft.rfft2를 사용해야한다고 생각합니다. 배열에서 이미지로 다시 변경하는 방법은 무엇입니까? 미리 감사드립니다. fft와 배열 - 이미지/이미지 - 배열 변환
이미지의 푸리에 변환을 만들고 싶습니다. 그러나 그림을 배열로 어떻게 바꿀 수 있습니까? 그리고이 후 변환을 위해 numpy.fft.rfft2를 사용해야한다고 생각합니다. 배열에서 이미지로 다시 변경하는 방법은 무엇입니까? 미리 감사드립니다. fft와 배열 - 이미지/이미지 - 배열 변환
PIL 라이브러리를 사용하여 이미지를로드/저장하고 numpy 배열로 /에서 변환 할 수 있습니다. 는 FFT의 결과가 복잡한 값을 가지고 있기 때문에 정말 이미지로 직접 변환하는 이해가되지 않도록
import Image, numpy
i = Image.open('img.png')
i = i.convert('L') #convert to grayscale
a = numpy.asarray(i) # a is readonly
b = abs(numpy.fft.rfft2(a))
j = Image.fromarray(b)
j.save('img2.png')
나는 위의
abs
을 사용했다. 그레이 스케일로의 변환은 FFT가 단일 채널에서만 수행되도록 수행됩니다. 채널을 선택하는 다른 방법을 선택하거나 매개 변수를
rfft2
으로 전달한 다음 필요한 채널을 추출합니다.
편집 :
또한 역 FFT를 수행하고 원본 이미지, 나를 위해 다음과 같은 작품을 다시 얻을 :
import Image, numpy
i = Image.open('img.png')
i = i.convert('L') #convert to grayscale
a = numpy.asarray(i)
b = numpy.fft.rfft2(a)
c = numpy.fft.irfft2(b)
j = Image.fromarray(c.astype(numpy.uint8))
j.save('img2.png')
링크 : http://www.pythonware.com/products/pil/ – Personman
역 fft를 만들 때 실제 이미지를 되 찾을 수 없습니다. 왜? – kame
@kame'abs'를 호출하면 데이터가 손실되기 때문입니다. 또한 원본 이미지는 회색조 여야합니다. 그렇지 않으면 2D 대신 3D 배열이 생성됩니다. – interjay