matlab对图像进行傅里叶变换_傅里叶变换的图像应用学好了用处大~

c4abd0c6513a27f2e08ce5706b3610c8.gif

一个有趣的灵魂W

c4abd0c6513a27f2e08ce5706b3610c8.gif

f8ef2bdd6ba71a5613dd176dece35c6a.png

傅里叶变换,一个听起来高大上的名词。初学之时也是云里雾里,一旦学成,应用及其广泛,图像、信号、声波、深度学习等各领域都存在它的身影,包括在地学中,它也能有很大的用处~至于哪些方面?不展开啦

。其中傅里叶变换的公式是:

53517ae1d97042ded9646de88df5cde5.png

看不懂是吧,没关系,用一个动图来表示:

bd0991064b97f59af2668bcdb4fac33c.gif

简单的说,就是通过傅里叶变换可以叠加波形,至于怎么叠加,可以搜搜百度谷歌微软,有很多相关的教程可以让你们深(nao)入(po)浅(tou)出(pi)的学会它!!!

算了,为了增加文字量~援引一段百度吧:傅立叶变换是一种线性的积分变换,常在将信号在时域(或空域)和频域之间变换时使用,在物理学和工程学中有许多应用。因其基本思想首先由法国学者约瑟夫·傅里叶系统地提出,所以以其名字来命名以示纪念。在不同的研究领域,傅立叶变换具有多种不同的变体形式,如连续傅立叶变换和离散傅立叶变换。最初傅立叶分析是作为热过程的解析分析的工具被提出的(emmmm越描越黑)。

跳过理论吧,总之它很有用就是啦,包括更难理解的小波分析(挠头)

6ee2fdec28fac7f4426518a71520b7cd.png

我随意用电脑桌面截个图,用Numpy库中的fft函数计算~

cac3743a912314eb0fcf38d5f903e5ad.png
import numpy as npimport cv2import matplotlib.pyplot as pltdef tweens(lists,h,w,block):tmp = np.zeros((h,w), np.uint8)for i in range(lists.shape[1]):for j in range(block):tmp[:,block*i+j]=lists[:,i]return tmpimg = cv2.imread('C:/pytemp/mosicjpg/AOD.jpg')height,width = img.shape[:2]w=np.arange(0,width,1)Fb=np.fft.fft(img[:,:,0])Fg=np.fft.fft(img[:,:,1])Fr=np.fft.fft(img[:,:,2])##傅里叶block=2#int(input())###input是交互n=int(width/block)invFb=Fb[:,:n]invFg=Fg[:,:n]invFr=Fr[:,:n]invfb=np.fft.ifft(invFb[:,:])invfg=np.fft.ifft(invFg[:,:])invfr=np.fft.ifft(invFr[:,:])newimg = np.zeros((height,width,3),np.uint8)rinvfb = np.zeros((height,width),np.uint8)rinvfg = np.zeros((height,width),np.uint8)rinvfr = np.zeros((height,width),np.uint8)rinvfb = tweens(invfb,height,width,block)rinvfg = tweens(invfg,height,width,block)rinvfr = tweens(invfr,height,width,block)newimg[:,:rinvfb.shape[1],0]=np.abs(rinvfb[:,:])newimg[:,:rinvfb.shape[1],1]=np.abs(rinvfg[:,:])newimg[:,:rinvfb.shape[1],2]=np.abs(rinvfr[:,:])cv2.imshow('mosic-image',newimg)cv2.waitKey(0)cv2.destroyAllWindows()

这是结果~

171d6fbc5787b30712afbe1d51a72aac.png

不要觉得它奇怪~因为它大概率只是个中间产物!!!!

好啦,加油吧

f8ef2bdd6ba71a5613dd176dece35c6a.png 微信号:一个有趣的灵魂W关注我们,了解更多
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值