wavelet
所属分类:波变换
开发工具:Visual C++
文件大小:1701KB
下载次数:57
上传日期:2008-01-04 23:05:41
上 传 者:
chuhongjun
说明: 对一副图像进行小波变换,得到一副图像的不同频率成分
(Images of a wavelet transform, has been an image of different frequency components)
文件列表:
wavelet(最终程序)\baboon.jpg (179920, 2002-11-23)
wavelet(最终程序)\cvWtn.cpp (2136, 2007-12-25)
wavelet(最终程序)\cvWtn2.cpp (2721, 2007-12-25)
wavelet(最终程序)\cvWtn2D.cpp (7521, 2007-12-26)
wavelet(最终程序)\functions.dsp (4678, 2007-12-26)
wavelet(最终程序)\functions.dsw (543, 2007-12-24)
wavelet(最终程序)\functions.ncb (74752, 2007-12-26)
wavelet(最终程序)\functions.opt (50688, 2007-12-26)
wavelet(最终程序)\functions.plg (1436, 2007-12-26)
wavelet(最终程序)\lena.jpg (91814, 2007-02-24)
wavelet(最终程序)\main.cpp (2225, 2007-12-26)
wavelet(最终程序)\nrutil.cpp (8396, 2007-12-26)
wavelet(最终程序)\nrutil.h (3859, 2007-12-26)
wavelet(最终程序)\pwt.cpp (1351, 2007-12-25)
wavelet(最终程序)\pwtset.cpp (1498, 2007-12-25)
wavelet(最终程序)\wavelet.cpp (9444, 2007-12-26)
wavelet(最终程序)\Debug (0, 2007-12-26)
wavelet(最终程序) (0, 2007-12-26)
主函数main()主要完成的功能为:
通过调用cvWtn(),cvWtn2(),cvWtnInf(),cvWtn2D()实现对一幅图片的二维小波变换。
其中:cvWtn()得到一幅与原图像大小相同的含有4种频率分量的IplImage指针;
cvWtn2()得到一幅对原图像进行二次小波变换后的与原图像大小相等的IplImage指针;
cvWtnInf()得到一幅对原图像进行无限次小波变换后的与原图像大小相等的IplImage指针;
cvWtn2D()得到4个分别指向4种频率分量的IplImage指针。(为重载函数)
相应文件说明:
wavelet.cpp
包含对图片进行小波变换的函数
void cvWtn( IplImage * src, IplImage* dst,int index,int isign);
参数说明:对图片作一次小波变换(两次角锥形算法),src为原图片,dst为变换后的图片,大小与原图片相等,
index为选择的小波滤波系数,isign>=0表示进行正变换,isign<0进行反变换。
使用说明:使用该函数前需对dst进行初始化。index 在此程序中可选择:4,12,20.如需要可添加相应的小波滤波系数。
void cvWtn2D( IplImage * src, IplImage* imgs[],int index)
参数说明:对图片作一次小波变换,src为原图片,imgs为4个元素的指针型数组,返回低频分量,对角分量和高频分量,
大小后原图片的1/4,index为选择的小波滤波系数。
使用说明:使用该函数前需对指针数组imgs的元素进行初始化。index 在此程序中可选择:4,12,20.如需要可添加相应
的小波滤波系数。
void cvWtn2D(IplImage*src,IplImage*img_LL,IplImage*img_LH,IplImage*img_HL,IplImage*img_HH,int index)
参数说明:对图片作一次小波变换,src为原图片,img_HH、img_LH、img_HL、img_LL返回高频分量,对角分量和低频分
量,大小后原图片的1/4,index为选择的小波滤波系数。
使用说明:使用该函数前需对img_LL、img_LH、img_HL、img_HH进行初始化。index 在此程序中可选择:4,12,20.如需
要可添加相应的小波滤波系数。
void cvWtnInf( IplImage * src, IplImage* dst,int index,int isign)
参数说明:图片作无限次小波变换,src为原图片,dst为变换后的图片,大小与原图片相等,index为选择的小波滤波系
数,isign>=0表示进行正变换,isign<0进行反变换。
使用说明:使用该函数前需对dst进行初始化。index 在此程序中可选择:4,12,20.如需要可添加相应的小波滤波系数。
nrutil.cpp
该文件包含对一维数组进行操作的函数,包括一维数组的内存开辟、释放,零偏移量与单位偏移量的转化等等。
pwtset.cpp
包含函数pwtset()的实现过程
void pwtset(int n)
使用说明:pwt的初始化程序,这里实施系数为4,12和20的德比契斯小波滤性器,系数的选择由n的输入值决定。
进一步的小波滤波器可以用同样明显的方式包括进去。此程序必须在pwt第一次使用之前调用。
pwt.cpp
包含函数pwt()实现过程
void pwt(float a[], unsigned long n, int isign)
参数说明:将一个任意的小波滤波器应用到数据量a[](isign=1)或使用它的转置(isign=-1),n为数组a[]的长度。
使用说明:此程序被cvWtn分级调用。在进行滤波之前,(必须的)调用pwtset确定,它是对结构wfilt作初始化。
近期下载者:
相关文件:
收藏者: