xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡(jiǎn)介

C語言的卷積/相關(guān)程序代碼,本人圖像處理工程中使用的代碼,正確可靠!

資源截圖

代碼片段和文件信息

/**************************************************************************
?*??文件名:CONV&CORR.cpp
?*
?*??函數(shù):
?*
?*??CONV() -?快速卷積
?*??CORR() -?快速相關(guān)
?*??CONV2() -?圖像快速卷積
?*??CORR2() -?圖像快速相關(guān)
?*
?*************************************************************************/

#include?“stdafx.h“
#include?“CONV&CORR.h“
#include?“FFT&IFFT.h“

#include?
#include?
using?namespace?std;

//?常數(shù)π
#define?PI?3.1415926535

/*************************************************************************
?*
?*?函數(shù)名稱:
?*???CONV()
?*
?*?參數(shù):
?*???complex?*?TD1 ????-?指向時(shí)域序列數(shù)組1的指針
?*???complex?*?TD2 ????-?指向時(shí)域序列數(shù)組2的指針
?*???complex?*?TDout -?指向時(shí)域結(jié)果數(shù)組的指針
?*???M ????-?序列1的長(zhǎng)度
?*???N??????????????????????????-?序列2的長(zhǎng)度
?*
?*?說明:
?*???該函數(shù)利用FFT實(shí)現(xiàn)快速卷積。
?*
?************************************************************************/
void?CONV(complex?*?TD1?complex?*?TD2?complex?*?TDout?int?M?int?N)
{
//?卷積結(jié)果長(zhǎng)度
int count?=?M+N-1;

//?便于使用FFT,把count擴(kuò)展為2的冪
int?Lcount;
????int?r=0;??//?2的冪數(shù),即FFT迭代次數(shù),2的r次方=Lcount

int?temp;
if?(log(count)/log(2)-int(log(count)/log(2))==0)
??????temp?=?log(count)/log(2);
else
??temp?=?log(count)/log(2)+1;
r?=?temp;
Lcount?=?1<
//?分配運(yùn)算所需存儲(chǔ)器
????complex?*X1?*X2?*FD1?*FD2?*FD12?*TD12;

X1?=?new?complex[Lcount];??//補(bǔ)齊后的序列1
X2?=?new?complex[Lcount];??//補(bǔ)齊后的序列2
FD1?=?new?complex[Lcount];???//序列1的傅立葉變換結(jié)果
FD2?=?new?complex[Lcount];???//序列2的傅立葉變換結(jié)果
FD12?=?new?complex[Lcount];???//序列12的頻域相乘結(jié)果
TD12?=?new?complex[Lcount];???//序列12的傅立葉反變換結(jié)果

????//將序列補(bǔ)齊為L(zhǎng)count長(zhǎng)度
complex?*X?*Y;
X?=?new?complex[M];??//臨時(shí)存儲(chǔ)器
Y?=?new?complex[N];

//?將時(shí)域點(diǎn)寫入XY
memcpy(X?TD1?sizeof(complex)?*?M);
memcpy(Y?TD2?sizeof(complex)?*?N);

//?循環(huán)變量
int i;

????for?(i=0;?i????{
????????X1[i]?=?complex(X[i].real()?X[i].imag());?????????????????????????????????????????????
????}

????for?(i=M;?i????{
????????X1[i]?=?complex(0?0);
????}

for?(i=0;?i????{
????????X2[i]?=?complex(Y[i].real()?Y[i].imag());
????}

????for?(i=N;?i????{
????????X2[i]?=?complex(0?0);
????}

????//?釋放內(nèi)存
delete?X;
delete?Y;

????//序列1的FFT
FFT(X1?FD1?r);

//序列2的FFT
????FFT(X2?FD2?r);

????//序列12的頻域相乘
????for?(i=0;?i????{
????????FD12[i]?=?complex(FD1[i].real()*FD2[i].real()-FD1[i].imag()*FD2[i].imag()?FD1[i].real()*FD2[i].imag()+FD1[i].imag()*FD2[i].real());
????}

//序列12的頻域相乘的IFFT
????IFFT(FD12?TD12?r);

//TD12中的前M+N-1項(xiàng)為真正卷積結(jié)果寫入TDout
????memcpy(TDout?TD12?sizeof(complex)*count);

//?釋放內(nèi)存
delete?X1;
delete?X2;
delete?FD1;
delete?FD2;
delete?FD12;
????delete?TD12;
}

/***********************

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件??????14465??2006-09-26?10:25??CONV&CORR\CONV&CORR.cpp

?????文件????????501??2006-09-15?10:51??CONV&CORR\CONV&CORR.h

?????目錄??????????0??2013-03-23?23:36??CONV&CORR

-----------?---------??----------?-----??----

????????????????14966????????????????????3


評(píng)論

共有 條評(píng)論

相關(guān)資源