/* * Copyright (c) 2015,中国航天电子技术研究院 无人机系统工程研究所 * All rights reserved. * * 文件名称:waveReconstruct.h * 摘 要:小波重构接口 * * 当前版本:1.0 * 作 者:王家星 * 完成日期:2015年08月27日 */ #pragma once // OpenCV #include using namespace cv; // 功能:函数 waveRec2() 对输入的分解系数矩阵coef进行 level 层重构, 得到重构矩阵rec // 输入: // coef 分解系数,其结构如下:coef = {cA_N;cV_N;cH_N;cD_N;cV_N-1;cH_N-1;cD_N-1;……;cV_1;cH_1;cD_1} // scf: 存储各级分解系数矩阵的大小以及原始(图像)矩阵的大小 // wname: 小波名称 // level:小波重构层数 // 输出: // rec: 重构矩阵 // 返回值: // 运算有效返回true,否则返回false bool waveRec2(cv::Mat& rec, const std::deque &coef, const std::deque &scf, const string wname = "sym5", const unsigned int level = 10); // 功能:函数 getWaveRecFilter() 基于小波名称wname计算小波重构滤波器 // 输入: // wname: 小波名称 // 支持小波: // 1. haar // 2. symN [1, 10] // 3. dbN [1, 10] // 4. coifN [1, 5] // 输出: // Lo_R: 低通滤波器 // Hi_R: 高通滤波器 // 返回值: // 运算有效返回true,否则返回false bool getWaveRecFilter(cv::Mat &Lo_R, cv::Mat &Hi_R, const string wname); // 功能:函数 idwt() 对输入的小波分解系数进行逆离散小波变换,重构出信号序列dst // 输入: // cA: 平均部分的小波分解系数; // cD: 细节部分的小波分解系数 // LF: 重构用的低通滤波器 // HF: 重构用的高通滤波器 // 输出: // dst: 重构序列 // 返回值: // 运算有效返回true,否则返回false bool idwt(cv::Mat &dst, const cv::Mat &cA, const cv::Mat &cD, const cv::Mat &LF, const cv::Mat &HF); // 功能:函数 idwt2() 对输入的子矩阵序列进行逆小波变换, 得到重构矩阵outcA // 输入: // rcA,rcV,rcH,rcD : 同级低频、高频系数矩阵 // Lo_R,Hi_R :图像重构用到的低通、高通滤波器系数矩阵 // size : 本级小波分解系数矩阵的大小 // 输出: // outcA: 重构矩阵 // 返回值: // 运算有效返回true,否则返回false bool idwt2(cv::Mat &outcA, const cv::Mat &rcA, const cv::Mat &rcV, const cv::Mat &rcH, const cv::Mat &rcD, const cv::Mat &Lo_R, const cv::Mat &Hi_R, cv::Vec2i size);