1个回答
展开全部
您好,定义二维5/3小波提升方案的分解函数如下:
int multilevel_decomposition_2D( int * image, int width, int height, int * wavelet_data, int
levels );
定义二维5/3小波提升方案的重构函数如下:
int multilevel_reconstruction_2D ( int * image, int width, int height, int * wavelet_data, int levels );
类似地,对于9/7小波,我们用C++语言分别实现了二维的多层9/7小波提升方案的分解和重构函数如下:
void WaveletForward2D(int *data, int height, int width, int level); void WaveletInvert2D(int *data, int height, int width, int level);
值得注意的是,DSP平台上实现的5/3、9/7小波提升算法的输入和输出都是整型,这十分有利于直接对图像进行变换。另外,9/7小波提升算法中将对每次乘积的结果通过floor函数进行取整,从而实现了整型到整型的无失真变换。DSP上只实现了CDF97小波。
在CCS 2 ('C6000)编译环境下编程,程序编译优化后,加载到DSP工作平台上。由于本算法使用的存储空间较多,程序中大量使用了堆空间,默认的存储分配方式无法满足要求,所以重新编写cmd文件分配堆栈空间大小如下:
-stack 0xf00 -heap 0x20000
int multilevel_decomposition_2D( int * image, int width, int height, int * wavelet_data, int
levels );
定义二维5/3小波提升方案的重构函数如下:
int multilevel_reconstruction_2D ( int * image, int width, int height, int * wavelet_data, int levels );
类似地,对于9/7小波,我们用C++语言分别实现了二维的多层9/7小波提升方案的分解和重构函数如下:
void WaveletForward2D(int *data, int height, int width, int level); void WaveletInvert2D(int *data, int height, int width, int level);
值得注意的是,DSP平台上实现的5/3、9/7小波提升算法的输入和输出都是整型,这十分有利于直接对图像进行变换。另外,9/7小波提升算法中将对每次乘积的结果通过floor函数进行取整,从而实现了整型到整型的无失真变换。DSP上只实现了CDF97小波。
在CCS 2 ('C6000)编译环境下编程,程序编译优化后,加载到DSP工作平台上。由于本算法使用的存储空间较多,程序中大量使用了堆空间,默认的存储分配方式无法满足要求,所以重新编写cmd文件分配堆栈空间大小如下:
-stack 0xf00 -heap 0x20000
追问
提升算法不是要根据分解、预测、更新步骤来编写一个程序吗
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询