頻率域濾波 3 帶通濾波

2021-09-24 10:04:32 字數 2319 閱讀 6810

//快速傅利葉變換

void fft2image(inputarray _src, outputarray _dst)

//求傅利葉變換的幅度譜 amplitude spectrum

void amplitudespectrum(inputarray _srcfft, outputarray _dstspectrum)

//傅利葉譜的灰度級顯示

mat grayspectrum(mat spectrum)

//求相位譜 phase spectrum

mat phasespectrum(mat _srcfft)

} return phase;

}//帶通

//帶通濾波的種類(列舉型別:理想帶通濾波器,巴特沃斯帶通濾波器,高斯帶通濾波器)

enum bpfilter_type ;

//構建帶通濾波器

mat createbpfilter(size _size, point center, float _radius, float _bandwidth, int type, int n = 2)

} }//構造巴特沃斯帶通濾波器

if (type == bbp_filter)

}} //構造高斯帶通濾波

if (type == gbp_filter)

}} return _bpfilter;

}//帶通濾波器

mat bpfilter(mat &src, mat &f, point maxloc, int type, int radius, int bandwid)

} //帶通傅利葉變換的傅利葉譜

amplitudespectrum(f_bpfilter, fbpspectrum);

//帶通傅利葉譜的灰度級的顯示

fbpspectrum = grayspectrum(fbpspectrum);

/* -- 第

七、八步:對帶通傅利葉變換執行傅利葉逆變換,並只取實部 -- */

dft(f_bpfilter, result, dft_scale + dft_inverse + dft_real_output);

/* -- 第九步:同乘以(-1)^(x+y) -- */

for (int r = 0; r < result.rows; r++) }

//注意將結果轉換 cv_8u 型別

result.convertto(result, cv_8uc1, 1.0, 0);

/* -- 第十步:擷取左上部分,大小等於輸入影象的大小 --*/

result = result(rect(0, 0, src.cols, src.rows)).clone();

return result;

}void main()

} /* -- 第

三、四步:補零和快速傅利葉變換 -- */

mat f;//影象的快速傅利葉變換

fft2image(fi, f);

//傅利葉譜

mat amplspec;

amplitudespectrum(f, amplspec);

//傅利葉譜的灰度級顯示

mat spectrum = grayspectrum(amplspec);

//找到傅利葉譜的最大值的座標

point maxloc;

minmaxloc(spectrum, null, null, null, &maxloc);

mat result;

//低通

//result = lpfilter(image, f, maxloc, 0, 25);

//高通

//result = ihpfilter(image, f, maxloc, 0, 25);

//帶阻

//result = brfilter(image, f, maxloc, 0, 50, 40);

//帶通

頻率域濾波 2 高通濾波

快速傅利葉變換 void fft2image inputarray src,outputarray dst 求傅利葉變換的幅度譜 amplitude spectrum void amplitudespectrum inputarray srcfft,outputarray dstspectrum 傅...

頻率域濾波 5 自定義濾波

快速傅利葉變換 void fft2image inputarray src,outputarray dst 求傅利葉變換的幅度譜 amplitude spectrum void amplitudespectrum inputarray srcfft,outputarray dstspectrum 傅...

空間域 頻域 高通濾波 低通濾波

最近由於深度學習做影象,要看影象處理的知識,看了幾篇部落格,本文的圖和大部分的文字均來自於那些參考的部落格,在這把知識點總結了一下 通過 觀察灰度分布來描述一幅影象 稱為空間域 觀察影象變化的頻率被 稱為頻域。頻域濾波 是在頻率域對影象做處理的一種方法。步驟如下 濾波器大小和頻譜大小相同,相乘即可得...