MATLAB 板


LINE

我查了一些网路上的内容以及查了书的一些东西 发现越来越搞混了@@ 请版上的大大帮忙解惑!!感谢了 在wiki上查到 DFT(g)˙DFT(im)=DFT(g*im) 假设g为一gaussian function 然後我在书上看到 G=lpfilter('gaussian',M,N,sig) (G在这里应该算gaussian filtering in DFT domain,也就是G=DFT(g) ) 接下来我就对image求他DFT I=fft2(im) (也就是I=DFT(im)) 然後做 R = G.*I (做频域对应项相乘) 然後在做 imshow(uint8(ifft2(R)) ) (把R转回spatial domain後显示出来) 这样的结果的确没错 但是我在做的时候发现 我把 g=ifft2(G) 显示出来得到的是 http://imgur.com/bPyqpGQ 但这让我很疑惑 我们的gaussian function 不是应该是下面的图 http://imgur.com/9taVtVQ 然後我这样做的结果就会失败 想知道原因 g=fspecial('gaussian',8,1); G=fft2(g); IM=fft2(im); M=G.*IM; imshow(uint8(ifft2(M))) 原图可能是这样 http://imgur.com/nmqBkUD 照书上的方法是这样 http://imgur.com/NtFJuVs 而我自己做出来是这样 http://imgur.com/Vh6Jp6o 从高斯图是可以感觉到图可能会变成类似这样 但却无法完全了解原因 会被切割成四项 而且要怎麽从一般的高斯函数求出要对DFT domain上对应项相乘的gaussian function 也就是从 g 求出 DFT(g)˙DFT(I)的DFT(g) ※ 引述《lance5487 ( )》之铭言: : 若我对image(二维)作一高斯filter 的convolution : 那在频域上(我转换到DFT domain上)相当於DFT(G#I)=DFT(G)*DFT(I) (#为convolution) : BY wiki第一项公式 ( http://en.wikipedia.org/wiki/Convolution_theorem ) : 我现在想求出DFT(G#I),且是利用DFT(G)*DFT(I) : 那我想问怎麽作 DFT(G) * DFT(I)的动作? 有相关的function吗还是要如何实作? : 因为假设我们现在做的dft是8*8的block好了 那它转成dft上後就有64个basis : 那双方的系数要如何做整理?而两个basis的coefficient相乘後会变到哪个basis的 : coefficient?我总感觉会跑到不是这64个basis上?可是他又是基底,怎麽会跑到一个 : 基底无法生成的地方? : 总感觉我讲的有点玄XDD 不知道大家懂我意思吗?? : 请大家帮忙了,谢谢大家了。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.16.153
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/MATLAB/M.1402736382.A.6E5.html
1F:推 jack10313:fftshift 06/14 17:02
2F:→ lance5487:我有在书上试过 可是没得到结果 是对哪个部分做啊 06/14 17:16
3F:→ lance5487:而且为什麽要做这个啊?? 06/14 17:20
4F:推 jack10313:因为你的低频讯号是放在矩阵的头,想像你的频谱分布 06/14 18:29
最後测试出来了...先在spatial domain上做fftshift 但是这样真的是所谓频域上的domain对应项相乘吗? 我测试的Code出来如下 f=fspecial('gaussian',512,10); f_s=fftshift(f); F_S=fft2(f_s); IM=fft2(im); imshow(uint8(ifft2(F_S.*IM))); P.S. image 为512*512 size 而且最後也不用fftshift回来吗?? 真的不太懂 请帮忙解惑一下 感谢~ ※ 编辑: lance5487 (140.112.29.128), 06/15/2014 11:55:55
5F:推 jack10313:F = fftshift(fft2(f)); 06/16 01:34
6F:→ jack10313:G = fftshift(fft2(g)); 06/16 01:34
7F:→ jack10313:F_hat = F .* G; 06/16 01:34
8F:→ jack10313:f_hat = ifftshift(ifft2(F_hat)); 06/16 01:34
9F:→ jack10313:f_hat = f_hat .* conj(f_hat); 06/16 01:34
10F:→ lance5487:感谢 ~~我现在来try看看 06/16 14:44
11F:→ lance5487:好像不用做最下面那一行耶 如果做最後面那段指令 06/16 14:57
12F:→ lance5487:显示不了图片 直接显示倒数第二行 就有我想要的结果 06/16 14:58
13F:→ lance5487:是因为转回来就已经是实数 所以就不用conj?? 06/16 15:01
可是做出来的效果似乎有点奇怪... 我照上面的code打到倒数第二行的结果 http://imgur.com/LOy8ltr 里面的matrix会有负数..然後若打最後一行会超过255 image能表示的范围 我直接在spatial domain上做的结果 http://imgur.com/gPmGuPj ※ 编辑: lance5487 (140.112.29.128), 06/16/2014 15:16:05







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP