資料介紹
#define EXTRA_NAME "@dcttransform."
#include "loadbmp.h"
#define Point(x,y) lpPoints[(x)+(y)*nWidth]
void FFT(COMPLEX * TD, COMPLEX * FD, int power)
{
?int count;
?int i,j,k,bfsize,p;
?double angle;
?COMPLEX *W,*X1,*X2,*X;
?count=1<
?X1=(COMPLEX *)malloc(sizeof(COMPLEX)*count);
?X2=(COMPLEX *)malloc(sizeof(COMPLEX)*count);
?for(i=0;i
??angle=-i*pi*2/count;
??W[i].re=cos(angle);
??W[i].im=sin(angle);
?}
?memcpy(X1,TD,sizeof(COMPLEX)*count);
?for(k=0;k
??for(j=0;j<1<
???bfsize=1<<(power-k);
???for(i=0;i
????p=j*bfsize;
????X2[i+p]=Add(X1[i+p],X1[i+p+bfsize/2]);
????X2[i+p+bfsize/2]=Mul(Sub(X1[i+p],X1[i+p+bfsize/2]),W[i*(1<
??}
??X=X1;
??X1=X2;
??X2=X;
?}
?for(j=0;j
??p=0;
??for(i=0;i
???if (j&(1<??}
??FD[j]=X1[p];
?}
?free(W);
?free(X1);
?free(X2);
}
void DCT_Pre(double *f, double *F, int power)
{
?int i,count;
?COMPLEX *X;
?double s;
?count=1<
?memset(X,0,sizeof(COMPLEX)*count*2);
?for(i=0;i
??X[i].re=f[i];
?}
?FFT(X,X,power+1);
?s=1/sqrt(count);
?F[0]=X[0].re*s;
?s*=sqrt(2);
?for(i=1;i
??F[i]=(X[i].re*cos(i*pi/(count*2))+X[i].im*sin(i*pi/(count*2)))*s;
?}
?free(X);
}
void Dct()
{
?int w=1,h=1,wp=0,hp=0;
?while(w*2<=nWidth)
?{
??w*=2;
??wp++;
?}
?while(h*2<=nHeight)
?{
??h*=2;
??hp++;
?}
?int x,y;
?BYTE *lpPoints=new BYTE[nWidth*nHeight];
?GetPoints(lpPoints);
?double *f=new double[w*h];
?double *W=new double[w*h];
?for(y=0;y
??for(x=0;x
???f[x+y*w]=Point(x,y);
??}
?}
?for(y=0;y
??DCT_Pre(&f[w*y],&W[w*y],wp);
?}
?for(y=0;y
??for(x=0;x
???f[x*h+y]=W[x+w*y];
??}
?}
?for(x=0;x
??DCT_Pre(&f[x*h],&W[x*h],hp);
?}
?double a;
?memset(lpPoints,0,nWidth*nHeight);
?for(y=0;y
??for(x=0;x
???a=fabs(W[x*h+y]);
???if (a>255) a=255;
???Point(x,nHeight-y-1)=(BYTE)(a);
??}
?}
?delete f;
?delete W;
?PutPoints(lpPoints);
?delete lpPoints;
}
void main(int argc, char *argv[])
{
?if(argc==2)
??FileName=argv[1];
?else
??return;?
?OpenFile();
?Dct();
?SaveAs();
}
- 離散余弦變換(DCT)的DSP仿真實現
- 基于低頻奇異值均值的圖像零水印算法 3次下載
- 基于多變換域的彩色圖像多功能水印算法 12次下載
- 形態學圖像處理綜合示例_《OpenCV3編程入門》書本配套源代碼 8次下載
- 用morphologyEx進行圖像開運算_《OpenCV3編程入門》配套源代碼 11次下載
- 用morphologyEx進行圖像膨脹_《OpenCV3編程入門》配套源代碼 12次下載
- 用morphologyEx進行圖像腐蝕_《OpenCV3編程入門》配套源代碼 2次下載
- 離散傅里葉變換 5次下載
- 基于離散余弦的數字水印算法 0次下載
- 去降Mallat離散小波變換實現彩色圖像分割 19次下載
- 有限長離散變換-離散傅里葉變換
- 一種基于二維離散小波變換的醫學圖像增強算法
- 基于余弦變換和小波變換的數字水印算法
- 基于離散余弦變換矩陣的隱私數據保護方法
- matlab圖像處理源代碼
- 圖像處理中的卷積運算 608次閱讀
- 在距離多普勒處理中使用Keystone變換進行距離徙動校正 1497次閱讀
- 使用傅里葉變換進行圖像邊緣檢測 511次閱讀
- LOAM源代碼中坐標變換部分的詳細講解 1492次閱讀
- OpenCV庫在圖像處理和深度學習中的應用 730次閱讀
- 淺談隱寫技術在保密安全中的應用 1379次閱讀
- 如何使用機器學習處理圖像 613次閱讀
- 用matlab對信號進行傅里葉變換 1656次閱讀
- 解答數字信號處理主要包括的內容及系統穩定條件 5132次閱讀
- 圖像處理之圖像的灰度變換 8030次閱讀
- 集中離散的傅氏變換以及matlab實現方法 4570次閱讀
- 數字圖像處理入門基礎知識(步驟) 1.8w次閱讀
- 通過簡單的「圖像旋轉」預測便可為圖像特征學習提供強大監督信號 4149次閱讀
- MATLAB如何實現圖像增強灰度變換直方圖均衡匹配 1w次閱讀
- 數字圖像處理及應用主要有哪些 3.3w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7藍牙設備在嵌入式領域的廣泛應用
- 0.63 MB | 3次下載 | 免費
- 89天練會電子電路識圖
- 5.91 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多