我正在做一些混合图像,通过应用高斯FT的FFT(下图)并进行逆FFT,我得到了低频,到目前为止,我通过将原始图像减去低频来获得了高频,这种方式有效但是,还有其他方法吗?
我当时正在考虑在频率空间中应用逆高斯,但似乎无法正常工作(或者可能我没有以正确的方式进行操作)。
我现在的代码:
def generate_HF(image, im_low):
im_gray_high = image - im_low
im_gray_high = normalize(im_gray_high)
return im_gray_high
human_fourier = fftpack.fft2(human_gray,fftshape)
cat_fourier = fftpack.fft2(cat_gray,fftshape)
gauss_fft = fftpack.fft2(gauss(9),fftshape)
cat_ifft = np.real(fftpack.ifft2(gauss_fft*cat_fourier))
hs=int(np.floor(50/2.))
cat_ifft_crop = normalize(cat_ifft[hs:cat_gray.shape[0]+hs, hs:cat_gray.shape[1]+hs])
human_ifft = np.real(fftpack.ifft2(gauss_fft*human_fourier))
hs=int(np.floor(50/2.))
human_ifft_crop = normalize(human_ifft[hs:human_gray.shape[0]+hs, hs:human_gray.shape[1]+hs])
cat_high = generate_HF(cat_gray, cat_ifft_crop)
hybrid = normalize(human_ifft_crop + cat_high)
高斯FT
人类LF
低频和高频图像
混合图像