資源簡介
實現chen 的快速DCT算法,準確,有效,對比了CHEN 的快速DCT算法和原始DCT算法的時間。實現了4X4,8X8,16X16 和32x32的矩陣
代碼片段和文件信息
//NZM?2011/10/27
//fdct.cpp:實現Chen快速DCT算法,并和原始DCT算法比較
//Registers?used:
//pi:????常量π
//temp:??中間變量
//const:?函數系數
//start:?計時開始變量
//time:??計時結果
//F[][]:?DCT快速變換結果
//Forg[][]:DCT原始變換結果
//T[][]:?DCT快速變換中間臨時矩陣
//initialization():初始化函數
//fast_transform():快速DCT變換函數
//transform():?????原始DCT變換函數
#include?
#include?
#include
using?namespace?std;
#define?CLK_TCK??CLOCKS_PER_SEC
clock_t?start1end1start2end2;
double?time_dcttime_fdct;
const?double?pi=3.1415927;
double?temp[68];
double?const1=0.7071;//cos(pi/4);
double?const2=0.9239;//cos(pi/8);
double?const3=0.3827;//cos(3*pi/8);
double?const4=0.3827;//sin(pi/8);
double?const5=0.9239;//sin(3*pi/8)
double?const6=0.9808;//cos(pi/16)
double?const7=0.1951;//sin(pi/16)
double?const8=0.8315;//cos(3*pi/16)
double?const9=0.5556;//sin(3*pi/16)
double?const10=0.5556;//cos(5*pi/16)
double?const11=0.8315;//sin(5*pi/16)
double?const12=0.1951;//cos(7*pi/16)
double?const13=0.9808;//sin(7*pi/16)
double?const14=0.9952;//cos(pi/32)
double?const15=0.0980;//S1
double?const16=0.9570;//C3
double?const17=0.2903;//S3
double?const18=0.8819;//c5
double?const19=0.4714;//s5
double?const20=0.7730;//c7
double?const21=0.6344;//s7
double?const22=0.6344;//c9
double?const23=0.7730;//s9
double?const24=0.4714;//c11
double?const25=0.8819;//s11
double?const26=0.2903;//c13
double?const27=0.9569;//s13
double?const28=0.0980;//c15
double?const29=0.9952;//s15
//double?const14=0.0;
int???i=0j=0;
int???n=0m=0v=0u=0;
double?F[16][16]Forg[16][16]T[16][16];
double?f[16][16]={
????????????????{173184190198173184190198173184190198173184190198}
{180187182189180187182189180187182189180187182189}
{180180181182180180181182180180181182180180181182}
{178174174175178174174175178174174175178174174175}
????????????????{173184190198173184190198173184190198173184190198}
{180187182189180187182189180187182189180187182189}
{180180181182180180181182180180181182180180181182}
{178174174175178174174175178174174175178174174175}
{173184190198173184190198173184190198173184190198}
{180187182189180187182189180187182189180187182189}
{180180181182180180181182180180181182180180181182}
{178174174175178174174175178174174175178174174175}
????????????????{173184190198173184190198173184190198173184190198}
{180187182189180187182189180187182189180187182189}
{180180181182180180181182180180181182180180181182}
{178174174175178174174175178174174175178174174175}
????????????????};
void?initialization()
{
for(i=0;i<16;i++)
for(j=0;j<16;j++)
{
F[i][j]=1;
Forg[i][j]=1;
}
cout<<“輸入數組f[i][j]:“< for(i=0;i<16;i++)
{
for(
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????1028041??2013-11-10?22:37??DCT\1301213674廖培.docx
?????文件?????443309??2013-10-15?22:38??DCT\A?Fast?Computational?Algorithm?for?the?Discrete?Cosine?Transform.pdf
?????文件??????51200??2011-10-27?09:12??DCT\fdct16\Debug\fdct.exe
?????文件?????682328??2011-10-27?09:12??DCT\fdct16\Debug\fdct.ilk
?????文件?????633856??2011-10-27?09:12??DCT\fdct16\Debug\fdct.pdb
?????文件???????7040??2011-10-27?09:12??DCT\fdct16\fdct\Debug\BuildLog.htm
?????文件????????663??2011-10-21?16:32??DCT\fdct16\fdct\Debug\fdct.exe.em
?????文件????????728??2011-10-21?16:32??DCT\fdct16\fdct\Debug\fdct.exe.em
?????文件????????621??2011-10-27?09:12??DCT\fdct16\fdct\Debug\fdct.exe.intermediate.manifest
?????文件??????57630??2011-10-27?09:12??DCT\fdct16\fdct\Debug\fdct.obj
?????文件?????????69??2011-10-27?09:12??DCT\fdct16\fdct\Debug\mt.dep
?????文件?????183296??2011-10-27?09:12??DCT\fdct16\fdct\Debug\vc90.idb
?????文件?????217088??2011-10-27?09:12??DCT\fdct16\fdct\Debug\vc90.pdb
?????文件??????11310??2013-11-10?14:34??DCT\fdct16\fdct\fdct.cpp
?????文件???????3928??2011-10-21?16:21??DCT\fdct16\fdct\fdct.vcproj
?????文件???????1409??2013-10-30?10:06??DCT\fdct16\fdct\fdct.vcproj.lpp-PC.lpp.user
?????文件???????1427??2011-12-06?10:18??DCT\fdct16\fdct\fdct.vcproj.PC-201101101326.Administrator.user
?????文件???????5342??2013-10-30?10:08??DCT\fdct16\fdct\fdct.vcxproj
?????文件????????940??2013-10-30?10:08??DCT\fdct16\fdct\fdct.vcxproj.filters
?????文件????????143??2013-10-30?10:08??DCT\fdct16\fdct\fdct.vcxproj.user
?????文件???????6594??2013-10-29?11:25??DCT\fdct16\fdct\Release\BuildLog.htm
?????文件???????2294??2013-11-10?16:13??DCT\fdct16\fdct\Release\cl.command.1.tlog
?????文件??????36188??2013-11-10?16:13??DCT\fdct16\fdct\Release\CL.read.1.tlog
?????文件????????800??2013-11-10?16:13??DCT\fdct16\fdct\Release\CL.write.1.tlog
?????文件????????381??2013-11-10?16:13??DCT\fdct16\fdct\Release\fdct.exe.intermediate.manifest
?????文件?????????43??2013-11-10?16:13??DCT\fdct16\fdct\Release\fdct.lastbuildstate
?????文件???????1867??2013-11-10?16:13??DCT\fdct16\fdct\Release\fdct.log
?????文件?????636535??2013-11-10?16:13??DCT\fdct16\fdct\Release\fdct.obj
?????文件????????707??2013-10-30?10:52??DCT\fdct16\fdct\Release\fdct.vcxprojResolveAssemblyReference.cache
?????文件??????????0??2013-10-30?10:52??DCT\fdct16\fdct\Release\fdct.write.1.tlog
............此處省略239個文件信息
- 上一篇:openCV1.0.rar
- 下一篇:企業網絡規劃和設計精選
評論
共有 條評論