多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > PhotoShop算法實現進階-模糊濾鏡-高斯濾波(二十三)

PhotoShop算法實現進階-模糊濾鏡-高斯濾波(二十三)

來源:程序員人生   發布時間:2014-12-07 09:36:08 閱讀次數:5970次

PhotoShop算法實現進階-模糊濾鏡-高斯濾波(2103)

kezunhai@gmail.com

http://blog.csdn.net/kezunhai

        高斯模糊(Gaus Blur)采取2維高斯模板對圖象進行模糊處理,用于圖象模糊化(去除細節和噪聲),它的處理效果給人1種更佳柔和的感覺。

        1維高斯:


        2維高斯:



       理論上,高斯散布在所有定義域上都有非負值,這就需要1個無窮大的卷積核。實際上,僅需要取均值周圍3倍標準差內的值,之外部分直接去掉便可。 以下圖為1個標準差為1.0的整數值高斯核:


在有些場合,可以用下面的模塊來對高斯核進行近似:


本文實現算法根據用戶輸入的核尺寸和方差來計算高斯核,實現高斯濾波,高斯核創建算法以下:

// 創建高斯核 // kSize:卷積核的大小3、5、7等(3×3、5×5、7×7) // sigma:方差 void PhotoShop::CreateGaussKernel(float **pdKernel, int kSize, float sigma) { float dDis; //數組中1點到中心點距離 float dCenter = (kSize⑴)/2; float dSum = 0; float dValue; int i, j; //生成高斯數據 for ( i=0; i<kSize; i++) { for ( j=0; j<kSize; j++) { dDis = fabsf(i-dCenter) + fabsf(j-dCenter); // 用和來近似平方和的開方 dValue = exp(-dDis*dDis/(2*sigma*sigma+DBL_EPSILON)); pdKernel[i][j] = dValue; dSum+=dValue; } } //歸1化 for ( i=0; i<kSize; i++) { for ( j=0; j<kSize; j++) { pdKernel[i][j] /= (dSum+DBL_EPSILON); } } }
高斯濾波算法:

void PhotoShop::GaussianBlur(cv::Mat &img, cv::Mat &dst, int kSize, float sigma) { int height = img.rows; int width = img.cols; int chns = img.channels(); int i, j, k,p, q; // 分配高斯核空間 float **pKernel = new float*[kSize]; for ( i=0; i<kSize; i++) { pKernel[i] = new float[kSize]; ZeroMemory(pKernel[i], kSize*sizeof(float)); } CreateGaussKernel(pKernel, kSize, sigma); // 創建高斯核 if ( dst.empty()) dst.create(height, width, img.type()); float sum = 0; int border = (kSize⑴)/2; for ( i =border; i<height-border; i++) { unsigned char* dstData = (unsigned char*)dst.data + dst.step*i; for ( j=border; j<width-border; j++) { for ( k=0; k<chns; k++) { sum = 0; for ( p = -border; p<=border; p++) { for ( q = -border; q<=border; q++) { sum += getPixel(img, i+p, j+q, k)*pKernel[p+border][q+border]; } } dstData[j*chns+k] = saturate_cast<uchar>(sum+0.5); } // for k } } // for i }
       算法測試:


        高斯濾波由于其線性和良好的去噪效果,在很多算法中得到了廣泛的利用,如Canny算子的預處理就采取了高斯濾波,OpenCV中的Sobel算子的實現也采取高斯濾波作為預處理步驟,還是聞名古今的SIFT算子采取了高斯金字塔和高斯差分來進行候選特點點的提取,有興趣的朋友可以進1步深入了解高斯濾波的利用。

      作者:kezunhai 出處:http://blog.csdn.net/kezunhai 歡迎轉載或分享,但請務必聲明文章出處。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美日韩亚洲国内综合网俺 | 免费高清黄色 | 免费叼嘿视频 | 欧美人xxxx | 国产精品特黄毛片 | 98国内自拍在线视频 | 欧美办公室大尺度做爰视频 | 黄色的视频网站在线观看 | 免费在线观看黄色的网站 | 欧美色交 | 在线观看91精品国产性色 | 亚洲经典在线中文字幕 | 欧美视频在线观看视频 | 视频一区二区不卡 | 性欧美hd| 日本高清www午色夜黄 | 欧美亚洲日本一区二区三区浪人 | 成人福利在线免费观看 | 亚洲精品主播一区二区三区 | 性欧美乱又伦 | 日本无卡码免费一区二区三区 | 国产精品不卡片视频免费观看 | 久久精品一区二区国产 | 校园春色国产精品 | 欧美在线精品一区二区三区 | 国产精品亚洲欧美一级久久精品 | 色综合美国色农夫网 | 高清不卡免费一区二区三区 | 欧美亚洲国产精品久久 | 日韩精品一区在线观看 | 在线看毛片网站 | 国内一区二区三区精品视频 | 一区二区中文字幕在线观看 | 最近最新视频中文字幕4 | 亚洲美女高清aⅴ视频免费 亚洲美女激情视频 | 国产欧美在线不卡 | 欧美xx毛片免费看 | 最近高清中文字幕在线国语5 | xx综合网 | 春色视频免费版高清在线观看 | 在线观看免费亚洲 |