|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2015,<EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD>Ժ <EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>waveDecompose.h
|
|
|
|
|
* ժ Ҫ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|
|
|
|
*
|
|
|
|
|
* <EFBFBD><EFBFBD>ǰ<EFBFBD>汾<EFBFBD><EFBFBD>1.0
|
|
|
|
|
* <EFBFBD><EFBFBD> <EFBFBD>ߣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>2015<EFBFBD><EFBFBD>08<EFBFBD><EFBFBD>27<EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
// OpenCV
|
|
|
|
|
#include <opencv2\opencv.hpp>
|
|
|
|
|
using namespace cv;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD> waveDec2() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> img <20><><EFBFBD><EFBFBD> level <20><>symNС<4E><D0A1><EFBFBD>ֽ⣬<D6BD>õ<EFBFBD><C3B5><EFBFBD>Ӧ<EFBFBD>ķֽ<C4B7>ϵ<EFBFBD><CFB5>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// img: <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
// wname: С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// level<65><6C>С<EFBFBD><D0A1><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// scf: <20>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С<EFBFBD>Լ<EFBFBD>ԭʼ<D4AD><CABC>ͼ<EFBFBD><EFBFBD><F1A3A9BE><EFBFBD><EFBFBD>Ĵ<EFBFBD>С
|
|
|
|
|
// coef <20>ֽ<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9><EFBFBD>£<EFBFBD>
|
|
|
|
|
// coef = {cA_N;cV_N;cH_N;cD_N;cV_N-1;cH_N-1;cD_N-1;<3B><><EFBFBD><EFBFBD>;cV_1;cH_1;cD_1}
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>true<75><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>false
|
|
|
|
|
bool waveDec2(std::deque<cv::Mat> &coef, std::deque<cv::Vec2i> &scf, const cv::Mat img, const string wname = "sym5", const unsigned int level = 10);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD> getWaveDecFilter() <20><><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>wname<6D><65><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD>ֽ<EFBFBD><D6BD>˲<EFBFBD><CBB2><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// wname: С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// ֧<><D6A7>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
|
|
|
|
|
// 1. haar
|
|
|
|
|
// 2. symN [1, 10]
|
|
|
|
|
// 3. dbN [1, 10]
|
|
|
|
|
// 4. coifN [1, 5]
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// Lo_D<5F><44> <20><>ͨ<EFBFBD>˲<EFBFBD><CBB2><EFBFBD>
|
|
|
|
|
// Hi_D<5F><44> <20><>ͨ<EFBFBD>˲<EFBFBD><CBB2><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>true<75><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>false
|
|
|
|
|
bool getWaveDecFilter(cv::Mat &Lo_D, cv::Mat &Hi_D, const string wname);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD> dwt() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD>1άС<CEAC><D0A1><EFBFBD>ֽ⣬<D6BD><E2A3AC><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>[cA,cD]
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// x: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>һ<EFBFBD>У<EFBFBD>
|
|
|
|
|
// LF: <20><>ͨ<EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>У<EFBFBD>
|
|
|
|
|
// HF<48><46> <20><>ͨ<EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>У<EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// cA<63><41> ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>С<EFBFBD><D0A1><EFBFBD>ֽ<EFBFBD>ϵ<EFBFBD><CFB5>
|
|
|
|
|
// cD<63><44> ϸ<>ڲ<EFBFBD><DAB2>ֵ<EFBFBD>С<EFBFBD><D0A1><EFBFBD>ֽ<EFBFBD>ϵ<EFBFBD><CFB5>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>true<75><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>false
|
|
|
|
|
bool dwt(cv::Mat &cA, cv::Mat &cD, const cv::Mat &x, const cv::Mat &LF, const cv::Mat &HF);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD> dwt2() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> img <20><><EFBFBD><EFBFBD>2άС<CEAC><D0A1><EFBFBD>ֽ⣬<D6BD><E2A3AC><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8>ֽ<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>Ӿ<EFBFBD><D3BE><EFBFBD>[LL,HL,LH,HH]
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// img: <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
// Lo_D: С<><D0A1><EFBFBD>ֽ<EFBFBD><D6BD>ĵ<EFBFBD>Ƶ<EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// Hi_D<5F><44> С<><D0A1><EFBFBD>ֽ<EFBFBD><D6BD>ĸ<EFBFBD>Ƶ<EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// cA,cV,cH,cD <20><><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD>ֽ<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD>ȴ<EFBFBD>С<EFBFBD><D0A1><EFBFBD>Ӿ<EFBFBD><D3BE><EFBFBD>
|
|
|
|
|
// cA<63><41><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>ַֽ<D6B7>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>
|
|
|
|
|
// cV<63><56><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>
|
|
|
|
|
// cH<63><48>ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>
|
|
|
|
|
// cD<63><44><EFBFBD>Խ<EFBFBD><D4BD>߷<EFBFBD><DFB7><EFBFBD><EFBFBD>ֽ<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>true<75><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>false
|
|
|
|
|
bool dwt2(cv::Mat &cA, cv::Mat &cV, cv::Mat &cH, cv::Mat &cD, const cv::Mat img, const cv::Mat Lo_D, cv::Mat Hi_D);
|
|
|
|
|
|