資源簡介
將兩幅或多幅圖像成功導入系統中。實現對圖像的匹配和去噪工作,使得圖像幾何對齊以此消除圖像間的形態差異并避免將源圖像中的噪聲當做重要信息保留至融合結果中。編寫完成加權品均算法和主成分分析算法。程序對源圖像像素級灰度值進行處理,依據算法得出相應的融合圖像。通過觀察融合結果,體會其算法的不足之處。編寫完成小波融合算法。程序能夠選定合適的小波基,對源圖像成功進行小波分解,分別得到低頻近似圖像和各個尺度、各個方向上的高頻細節圖像。低頻圖像的加權平均融合和高頻融合算法運行無誤
代碼片段和文件信息
//?Diproc.cpp:?implementation?of?the?CDiproc?class.
//
//////////////////////////////////////////////////////////////////////
#include?“stdafx.h“
//#include?“sy.h“
#include?“Diproc.h“
#include?“WvltTrans.h“
#include?
#include“stdlib.h“
#define?max(ab)????????????(((a)?>?(b))???(a)?:?(b))
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDiproc::CDiproc()
{
}
CDiproc::~CDiproc()
{
}
/********************************************************************************
DIP_WvltRevers完成圖像小波系數的復原,恢復出原始的圖像數據 *
********************************************************************************/
void?CDiproc::DIP_WvltRevers(short?**spData?short?**spTransData0?short?**spTransData1?int?nHeight?int?nHeight_H?int?nWidth?int?nWidth_H?int?layer?float?fRadius)
{
short?**spOriginData?**spTransData?**spWvltData;
int?iHeight?=?(int)nHeight?/pow((float)2layer-1)?iWidth?=(int)nWidth?/?pow((float)2layer-1);
int?iHeight_H?=(int)?nHeight_H?/?pow((float)2layer-1)?iWidth_H?=?(int)nWidth_H/?pow((float)2layer-1);
//分配圖像復原所需的內存空間
spOriginData?=?spData;
spTransData?=?spTransData0;
spWvltData?=?spTransData1;
//完成圖像小波變換的逆變換
CWvltTrans?*WTrans;
for(int?i?=?layer;?i?>=?1;?i--)
{
WTrans->DWTi_Once(spOriginData?spTransData?spWvltData?iHeight?iHeight_H?iWidth?iWidth_H?i?1.414);//1.414
iHeight?<<=?1; iWidth?<<=?1;
iHeight_H?<<=?1; iWidth_H?<<=?1;
}
}
/********************************************************************************
DIP_ImageFusion完成兩幅圖像的融合,恢復出原始的圖像 *
********************************************************************************/
void?CDiproc::DIP_ImageFusion(short?**spImgData0?short?**spImgData1?int?nHeight?int?nWidth)
{
//獲取圖像的屬性參數
int?iHeight?=?nHeight?iWidth?=?nWidth;
//圖像融合所用到的數據空間及數據指針
short?**spOriginData?**spTransData?**spWvltData0?**spWvltData1;
//分配數據空間
spTransData?=?new?short?*[iHeight];
spWvltData0?=?new?short?*[iHeight];
spWvltData1?=?new?short?*[iHeight];
for(int?i?=?0;?i? {
spTransData[i]?=?new?short?[iWidth];
spWvltData0[i]?=?new?short?[iWidth];
spWvltData1[i]?=?new?short?[iWidth];
}
//創建小波變換類,完成圖像的小波變換
CWvltTrans?*pTrans;
//獲得圖像數據空間的指針,完成小波變換
spOriginData?=?spImgData0;
//三層小波變換
pTrans->DWT_Trilayers(spOriginData?spTransData?spWvltData0?iHeight?iHeight?/?2?iWidth?iWidth?/?2?1?1.414);
//獲得圖像數據空間的指針,完成另一幅圖像的小波變換
spOriginData?=?spImgData1;
//三層小波變換
pTrans->DWT_Trilayers(spOriginData?spTransData?spWvltData1?iHeightiHeight?/?2?iWidth?iWidth?/?2?1?1.414);
//小波系數的融合處理:頻帶有LL3LH3HL3HH3LH2HL2HH2LH1HL1HH1
//融合處理將分頻帶進行,處理方法采用的是3*3的窗口
//LL3頻帶小波系數的融合
Window_WvltFusion(spWvltData0?spWvltData1?0?0?iHeight?/?8?iWidth?/?8);
//HL3頻帶小波系數的融合
Window_WvltFusion(spWvltData0?spWvltData1?0?iWidth?/?8?iHeight?/?8?iWidt
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-10?19:04??基于Visual?C++的圖像融合技術的研究與實現\
?????目錄???????????0??2018-10-10?19:00??基于Visual?C++的圖像融合技術的研究與實現\源碼\
?????目錄???????????0??2018-10-10?18:59??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\
?????目錄???????????0??2018-03-05?12:41??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\Debug\
?????文件???????64512??2018-03-02?14:22??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\Debug\tuxiang.exe
?????文件??????451324??2018-03-02?14:22??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\Debug\tuxiang.ilk
?????文件?????1108992??2018-03-02?14:22??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\Debug\tuxiang.pdb
?????文件????????7271??2007-04-02?11:27??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\high.jpg
?????目錄???????????0??2018-03-05?12:41??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\ipch\
?????目錄???????????0??2018-03-05?12:41??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\ipch\tuxiang-9a0d4471\
?????文件?????2359296??2018-03-05?07:54??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\ipch\tuxiang-9a0d4471\tuxiang-45702dec.ipch
?????文件????????7786??2007-04-02?11:27??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\low.jpg
?????目錄???????????0??2018-10-10?19:00??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\
?????目錄???????????0??2018-03-05?12:41??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\
?????文件???????28376??2018-03-02?14:21??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\CL.read.1.tlog
?????文件????????1446??2018-03-02?14:21??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\CL.write.1.tlog
?????文件???????14080??2018-03-02?14:21??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\Diproc.obj
?????文件???????14883??2018-03-02?14:21??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\WvltTrans.obj
?????文件????????2746??2018-03-02?14:21??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\cl.command.1.tlog
?????文件???????????2??2018-03-02?14:22??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\li
?????文件???????????2??2018-03-02?14:22??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\li
?????文件???????????2??2018-03-02?14:22??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\li
?????文件???????????2??2018-03-02?14:22??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\li
?????文件???????????2??2018-03-02?14:22??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\li
?????文件???????????2??2018-03-02?14:22??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\li
?????文件????????1896??2018-03-02?14:22??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\li
?????文件????????4244??2018-03-02?14:22??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\li
?????文件?????????894??2018-03-02?14:22??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\li
?????文件?????????360??2018-03-02?14:21??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\mt.command.1.tlog
?????文件?????????144??2018-03-02?14:21??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\mt.read.1.tlog
?????文件?????????270??2018-03-02?14:21??基于Visual?C++的圖像融合技術的研究與實現\源碼\tuxiang\tuxiang\Debug\mt.write.1.tlog
............此處省略33個文件信息
評論
共有 條評論