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作初始化。

近期下载者

相关文件


收藏者