91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 295KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-14
  • 語言: 其他
  • 標簽: 雙邊濾波??OpenCV??

資源簡介

自己實現的雙邊濾波代碼及測試圖像,基于OpenCV3.0&VS2013;;只需一個積分,如果沒有積分,請帶博客下留言郵箱,看到后會第一時間發送。博客地址:https://blog.csdn.net/u013921430/article/details/84532068

資源截圖

代碼片段和文件信息

//-------------------------------------------------------------
//作者:不用先生,2018.11.26
//自實現的圖像雙邊濾波算法
//bilateral.cpp
//-------------------------------------------------------------
#include?“opencv2/core/core.hpp“
#include?“opencv2/opencv.hpp“
#include?“opencv2/highgui.hpp“
#include?“opencv2/imgproc.hpp“
#include?
#include?

using?namespace?std;
using?namespace?cv;



//--------------------------------------------------------------
//函數名:my_Bilateral
//函數功能:自己編寫的可用于灰度圖及彩色圖的雙邊濾波函數;
//參數:Mat?&scr:輸入圖像,為單通道灰度圖或三通道彩色圖;
//參數:Mat?&dst:輸出圖像,尺寸與通道數與輸入圖像吻合;
//參數:int?d:濾波器大小,應該保證為奇數;
//參數:double?sigmaColor:顏色域/像素值域方差,sigmaColor越大,平滑效果越好,對邊緣的保護越弱;
//參數:double?sigmaSpace:空間域方差,sigmaSpace越大,結果越平滑;
//--------------------------------------------------------------
bool?my_Bilateral(Mat?&scr?Mat?&dst?int?d??double?sigmaColor?double?sigmaSpace)
{
if?(!scr.data)
{
cerr?< return?false;
}
if?(d?%?2?==?0)
{
cerr?< return?false;
}


dst?=?scr.clone();

int?row?=?dst.rows;???????//獲取圖像大小;
int?col?=?dst.cols;

int?copyBorderSize?=floor(0.5+?d?/?2);
Mat?copyBorder_dst;
copyMakeBorder(dst?copyBorder_dst?copyBorderSize?copyBorderSize?copyBorderSize?copyBorderSize?BORDER_REFLECT);

int?channels?=?dst.channels();
if?(channels?==?1)?????//如果是灰度圖像
{

for?(int?i?=?0;?i? {
for?(int?j?=?0;?j? {
double?weightSum?=?0;
double?filterValue?=?0;
for?(int?row_d?=?-(d?/?2);?row_d?<=?(d?/?2);?row_d++)???//以圖像中的一點為中心,d為邊長的方形區域內進行計算
{
for?(int?col_d?=?-(d?/?2);?col_d?<=?(d?/?2);?col_d++)
{
double?distance_Square?=?row_d*row_d?+?col_d*col_d;
double?value_Square?=?pow((scr.at(i?j)?-?copyBorder_dst.at(i?+?(d?/?2)?+?row_d?j?+?(d?/?2)?+?col_d))?2);
double?weight?=?exp(-1?*?(distance_Square?/?(2?*?sigmaSpace*sigmaSpace)?+?value_Square?/?(2?*?sigmaColor*sigmaColor)));
weightSum?+=?weight;???????????????//求濾波窗口內的權重和,用于歸一化;
filterValue?+=?(weight*copyBorder_dst.at(i?+?(d?/?2)?+?row_d?j?+?(d?/?2)?+?col_d));

}
}
dst.at(i?j)?=?filterValue?/?weightSum;

}
}

return?true;
}
else?if?(channels?==?3)?????//如果是RGB圖像
{

for?(int?c?=?0;?c? {
for?(int?i?=?0;?i? {
for?(int?j?=?0;?j? {
double?weightSum?=?0;
double?filterValue?=?0;
for?(int?row_d?=?-(d?/?2);?row_d?<=?(d?/?2);?row_d++)
{
for?(int?col_d?=?-(d?/?2);?col_d?<=?(d?/?2);?col_d++)
{
double?distance_Square?=?row_d*row_d?+?col_d*col_d;
double?value_Square?=?pow((scr.at(i?j)[c]?-?copyBorder_dst.at(i?+?(d?/?2)?+?row_d?j?+?(d?/?2)?+?col_d)[c])?2);
double?weight?=?exp(-1?*?(distance_Square?/?(2?*?sigmaSpace*sigmaSpace)?+?value_Square?/?(2?*?sigmaColor*sigmaColor)));

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????81718??2018-11-25?20:33??上傳資源\03.jpg

?????文件???????4677??2018-11-26?12:10??上傳資源\bilateral.cpp

?????文件??????53008??2015-10-22?11:12??上傳資源\lena.jpg

?????文件??????73585??2018-11-26?10:52??上傳資源\temp1.jpg

?????文件??????77633??2018-11-26?10:52??上傳資源\temp2.jpg

?????文件??????30440??2018-11-26?10:52??上傳資源\temp3.jpg

?????目錄??????????0??2018-11-26?12:11??上傳資源

-----------?---------??----------?-----??----

???????????????321061????????????????????7


評論

共有 條評論