資源簡介
使用雙邊濾波器對圖像進行濾波,達到保邊去噪的效果。程序已經調試過,可以運行通過

代碼片段和文件信息
//?BilaterialFilter.cpp:?implementation?of?the?BilaterialFilter?class.
//
//////////////////////////////////////////////////////////////////////
#include?“stdafx.h“
#include?“BilaterialFilter.h“
#include?“Comlib.h“
#include?
#include?
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
BilaterialFilter::BilaterialFilter()
{
}
BilaterialFilter::~BilaterialFilter()
{
}
//?雙邊濾波器的空間領域函數
/****************************************************************************
??函數名:double?**?BilatFilter::?SpatialFunction(int?mode_rowint?mode_clodouble?singa)
??功能描述:實現雙邊濾波器的空間領域函數
??輸入參數:spat?函數返回的空間領域函數數據指針
mode_row??濾波器模板的長
mode_clo??濾波器模板的寬
singa??空間函數的方差大小
??輸出參數:
??返回值:double?ret;
??其他說明:
*****************************************************************************/
double?**?BilaterialFilter::?SpatialFunction(int?mode_rowint?mode_clodouble?singa)
{
int?ij;
double?**ret?=?(double**)CComlib::fspace_2d(mode_rowmode_closizeof(double));
for?(i?=?-(mode_row/2);?i?<=?(mode_row/2);?i++)
{
for?(j?=?-(mode_clo/2);?j?<=?(mode_clo/2);?j++)
{
ret[i?+?mode_row][j?+?mode_clo]?=?exp(-1/2?*?(i?*?i?+?j?*?j)?/?(singa*singa));
}
}
return?ret;
}
//雙邊濾波器的灰度相似度函數
/****************************************************************************
??函數名:void?BilatFilter::RangeWeightFunction(double?in_datadouble?out_dataint?mode_rowint?mode_clodouble?singa)
??功能描述:實現雙邊濾波器的灰度相似函數
??輸入參數:in_data?輸入圖像中心點像素值
ou_data?輸出的灰度相似函數數據矩陣
singa??灰度相似性函數的方差大小
??輸出參數:
??返回值:double?ret;
??其他說明:
*****************************************************************************/
double?BilaterialFilter::RangeWeightFunction(double?in_data1double?in_data2double?singa)
?{
double?ret;
ret?=?exp(-1/2?*?(in_data1?-?in_data2)*(in_data1?*?in_data2)?/?(singa*singa));
return?ret;
?}
//雙邊濾波器函數
/****************************************************************************
??函數名:void?BilatFilter::RangeWeightFunction(double?in_datadouble?out_dataint?mode_rowint?mode_clodouble?singa)
??功能描述:實現雙邊濾波器的灰度相似函數
??輸入參數:in_data?輸入圖像數據
ou_data?濾波后輸出圖像
mode_row??濾波器模板的長
mode_clo??濾波器模板的寬
rowclo???圖像的行列數
singa??空間函數的方差大小
??輸出參數:
??返回值:void
??其他說明:
*****************************************************************************/
double?**BilaterialFilter::BilatFilter(double?**in_dataint?rowint?cloint?sizedouble?spa_singadouble?range_singa)
{
int?ijkl;
//? double?sum1?=?0.0;
//? double?sum2?=?0.0;
double?temp1temp2temp;
int?mode_row?=??size;
int?mode_clo?=?size;
//? double?**temp1?=?(double?**)CComlib::fspace_2d(mode_rowmode_closizeof(double));
double?**output_img?=?(double?**)CComlib::fspace_2d(rowclosizeof(double));
for?(i?=?0;?i? {
for(j?=?0;?j? {
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????16384??2011-03-09?17:32??雙邊濾波\~VC2EA.tmp
?????文件????????973??2011-03-09?19:37??雙邊濾波\FileIO.h
?????文件??????????0??2011-03-09?17:32??雙邊濾波\~VC2EB.tmp
?????文件???????9308??2011-03-09?19:35??雙邊濾波\FileIO.cpp
?????文件???????4756??2011-03-09?21:37??雙邊濾波\BilaterialFilter.cpp
?????文件??????17462??2010-06-29?18:15??雙邊濾波\mountain_p3.bmp
?????文件???????4922??2011-03-09?21:38??雙邊濾波\BilFit.dsp
?????文件????????667??2011-03-09?11:38??雙邊濾波\StdAfx.h
?????文件????????293??2011-03-09?11:38??雙邊濾波\StdAfx.cpp
?????文件???????1208??2011-03-09?11:38??雙邊濾波\ReadMe.txt
?????文件????????535??2011-03-09?11:38??雙邊濾波\BilFit.dsw
?????文件??????66560??2011-03-12?10:49??雙邊濾波\BilFit.ncb
?????文件????????985??2011-03-12?10:27??雙邊濾波\BilFit.plg
?????文件????????814??2011-03-09?12:41??雙邊濾波\Comlib.h
?????文件???????2485??2011-03-09?12:42??雙邊濾波\Comlib.cpp
????..A.SH.?????34816??2011-03-12?10:28??雙邊濾波\Thumbs.db
?????文件????????930??2011-03-09?16:06??雙邊濾波\BilaterialFilter.h
?????文件?????148480??2011-03-12?10:27??雙邊濾波\Debug\vc60.idb
?????文件?????187368??2011-03-12?10:26??雙邊濾波\Debug\BilFit.pch
?????文件?????233472??2011-03-12?10:26??雙邊濾波\Debug\vc60.pdb
?????文件???????1975??2011-03-12?10:26??雙邊濾波\Debug\StdAfx.obj
?????文件??????48738??2011-03-12?10:26??雙邊濾波\Debug\FileIO.obj
?????文件???????7528??2011-03-12?10:26??雙邊濾波\Debug\Comlib.obj
?????文件??????46869??2011-03-12?10:27??雙邊濾波\Debug\BilFit.obj
?????文件???????7410??2011-03-12?10:26??雙邊濾波\Debug\BilaterialFilter.obj
?????文件?????262112??2011-03-12?10:27??雙邊濾波\Debug\BilFit.ilk
?????文件?????245810??2011-03-12?10:27??雙邊濾波\Debug\BilFit.exe
?????文件?????484352??2011-03-12?10:26??雙邊濾波\Debug\BilFit.pdb
?????文件???????2141??2011-03-12?10:12??雙邊濾波\BilFit.cpp
?????文件?????263222??2004-12-02?11:20??雙邊濾波\2.bmp
............此處省略7個文件信息
- 上一篇:DES算法C++實現
- 下一篇:學生成績管理系統結構體數組版
評論
共有 條評論