国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

OpenCV圖像模糊:高斯濾波、雙邊濾波

這篇具有很好參考價值的文章主要介紹了OpenCV圖像模糊:高斯濾波、雙邊濾波。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、高斯模糊

1.高斯濾波原理

圖像處理中,高斯濾波主要可以使用兩種方法實現(xiàn)。一種是離散化窗口滑窗卷積,另一種方法是通過傅里葉變化。離散化窗口劃船卷積時主要利用的是高斯核,高斯核的大小為奇數(shù),因為高斯卷積會在其覆蓋區(qū)域的中心輸出結(jié)果。常用的高斯模板有如下幾種形式:
OpenCV圖像模糊:高斯濾波、雙邊濾波
高斯模板是通過高斯函數(shù)計算出來的,公式如下:
OpenCV圖像模糊:高斯濾波、雙邊濾波
從以上描述中我們可以看出,高斯濾波模板中最重要的參數(shù)就是高斯分布的標(biāo)準(zhǔn)差σ。它代表著數(shù)據(jù)的離散程度,如果σ較小,那么生成的模板中心系數(shù)越大,而周圍的系數(shù)越小,這樣對圖像的平滑效果就不是很明顯;相反,σ較大時,則生成的模板的各個系數(shù)相差就不是很大,比較類似于均值模板,對圖像的平滑效果就比較明顯。

2.GaussianBlur函數(shù)

(1)函數(shù)原型:
void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY=0, intborderType=BORDER_DEFAULT)

參數(shù)詳解如下:
src,輸入圖像,即源圖像,填Mat類的對象即可。它可以是單獨的任意通道數(shù)的圖片,但需要注意,圖片深度應(yīng)該為CV_8U,CV_16U, CV_16S, CV_32F 以及 CV_64F之一。

dst,即目標(biāo)圖像,需要和源圖片有一樣的尺寸和類型。比如可以用Mat::Clone,以源圖片為模板,來初始化得到如假包換的目標(biāo)圖。

ksize,高斯內(nèi)核的大小。其中ksize.width和ksize.height可以不同,但他們都必須為正數(shù)和奇數(shù)。或者,它們可以是零的,它們都是由sigma計算而來。若(blur1,blur2)為高斯核的大小,blur1和blur2的值可以不同。參數(shù)0表示標(biāo)準(zhǔn)差取0。當(dāng)blur1=blur2=1時,相當(dāng)于不對原始圖像做操作。**blur1和blur2越大,圖像的模糊程度越大。**但不是blur1和blur2越大越好,blur1和blur2太大,不僅會濾除噪音,還會平滑掉圖像中有用的信息。所以blur的選取要進(jìn)行測試。如果要進(jìn)行濾波的圖像的長寬比大致為1:1,那么選取blur時,一般設(shè)置blur1=blur2。如果要進(jìn)行濾波的圖像的長寬比大致為m:n,那么選取blur時,blur1:blur2=m:n

sigmaX,表示高斯核函數(shù)在X方向的的標(biāo)準(zhǔn)偏差。
sigmaY,表示高斯核函數(shù)在Y方向的的標(biāo)準(zhǔn)偏差。
sigma和窗口大小size是互相推算出來的。如果sigmaX和sigmaY都是0,那么就由ksize.width和ksize.height計算出來。如果設(shè)置size,那么sigma不起作用;如果設(shè)置size(0,0),那么通過sigma就能調(diào)節(jié)模糊效果。只設(shè)置sigmaX,不設(shè)置sigmaY那么默認(rèn)sigmaY=sigmaX。

OpenCV圖像模糊:高斯濾波、雙邊濾波

(2)調(diào)節(jié)delta參數(shù)

利用TrackBar調(diào)節(jié)delta參數(shù)

#include <iostream>
#include "opencv2\opencv.hpp"

using namespace std;
using namespace cv;

int delta1;
int delta2;
Mat src;
Mat dst;
Mat gray;
Mat gauss_mat;
Mat binary;
Mat canny;

void gauss(int b, void* userdata) {
	cvtColor(src, gray, COLOR_BGR2GRAY);  //轉(zhuǎn)化成灰度圖
	GaussianBlur(gray, gauss_mat, Size(1, 1), delta1, delta2);  //平滑濾波
	//threshold(gauss_mat, binary, 10, 255, THRESH_BINARY | THRESH_OTSU);  //自適應(yīng)二值化
	//Canny(binary, canny, 20, 80, 3);
	imshow("gauss", gauss_mat);
}

int main() {
	src = imread("coin.jpg");
	namedWindow("gauss", WINDOW_NORMAL);

	//調(diào)節(jié)GaussianBlur的delta
	createTrackbar("gaussbar", "gauss", &delta1, 50, gauss, 0);//調(diào)節(jié)delta時不能為0,否則報異常。如果Size不為(0,0),調(diào)節(jié)delta沒有任何作用。
	createTrackbar("gaussbar", "gauss", &delta2, 50, gauss, 0);

	waitKey(0);
}
(3)應(yīng)用例子
//高斯模糊,中心占得比重最大
void QuickDemo::gaussian_blur_demo(Mat &image) {
	Mat dst;
	GaussianBlur(image, dst, Size(0, 0), 100);//卷積核大小必須是奇數(shù),sigma和窗口大小是互相推算出來的。如果設(shè)置size,那么sigma不起作用;如果設(shè)置size(0,0),那么通過sigma就能調(diào)節(jié)模糊效果。
	imshow("高斯模糊", dst);
}
#include <QCoreApplication>
#include "opencv2/opencv.hpp"

using namespace cv;

int main(int argc, char *argv[])
{
    cv::Mat input;
    input = cv::imread("test1.png");
    cv::Mat org = input.clone();
    cv::namedWindow("input", WINDOW_NORMAL);
    cv::imshow("input", input);

    //GaussianBlur
    for (size_t i = 0; i < blur_times; ++i)
        cv::GaussianBlur(org, org, cv::Size(5, 5), 0, 0);
    cv::namedWindow("GaussianBlur", WINDOW_NORMAL);
    cv::imshow("GaussianBlur", org);
    cv::waitKey(0);
}

參考:https://aistudio.csdn.net/62e38a51cd38997446774bd7.html?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2defaultOPENSEARCHactivity-1-81568844-blog-105547468.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2defaultOPENSEARCHactivity-1-81568844-blog-105547468.pc_relevant_3mothn_strategy_recovery&utm_relevant_index=2
參考:https://blog.csdn.net/qq_38132105/article/details/105547468

二、高斯雙邊模糊

相比于高斯模糊,高斯雙邊模糊會保存圖片的細(xì)節(jié)特征

void bilateralFilter(InputArray src, OutputArray dst, int d, double sigmaColor, douboe sigmaSpace, int borderType=BORDER_DEFAULT)

高斯雙邊濾波既考慮了像素位置對原來像素的影響,也考慮了像素值的原來坐標(biāo)點的影響。位置越遠(yuǎn)影響越小,像素相差越多影響越小。
第四個參數(shù):double類型的sigmaColor,顏色空間濾波器的sigma值。這個值越大,表示該像素鄰域內(nèi)有越寬廣的顏色被混合到一起,會產(chǎn)生較大的半相等顏色區(qū)域。
第五個參數(shù):double類型的sigmaSpace,坐標(biāo)空間中濾波器的sigma值,坐標(biāo)空間的標(biāo)準(zhǔn)方差。它的值越大,則越遠(yuǎn)的像素會相互影響,從而使更大的區(qū)域中足夠相似的顏色獲取相同的顏色。當(dāng)d>0時,d指定了鄰域大小且與sigmaSpace無關(guān)。fouze,d正比于sigmaSpace。文章來源地址http://www.zghlxwxcb.cn/news/detail-465836.html

void QuickDemo::bifilter_demo(Mat &image) {
	Mat dst;
	bilateralFilter(image, dst, 0, 10, 20);
	imshow("雙邊模糊", dst);
}

到了這里,關(guān)于OpenCV圖像模糊:高斯濾波、雙邊濾波的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 圖像處理:推導(dǎo)五種濾波算法(均值、中值、高斯、雙邊、引導(dǎo))

    圖像處理:推導(dǎo)五種濾波算法(均值、中值、高斯、雙邊、引導(dǎo))

    目錄 概論 算法原理 1、均值濾波 2、中值濾波 3、高斯濾波 4、雙邊濾波 5、引導(dǎo)濾波 ?手寫代碼 Opencv代碼實現(xiàn) ?最后的總結(jié) 參考文章 ????????本來打算是分開推導(dǎo)的,但我覺得還是整個合集吧,避免有水文的嫌疑,那么因為學(xué)習(xí)的需要,會涉及到圖像的濾波處理,我匯總

    2024年02月07日
    瀏覽(31)
  • Opencv之圖像濾波:6.雙邊濾波(cv2.bilateralFilter)

    Opencv之圖像濾波:6.雙邊濾波(cv2.bilateralFilter)

    ????????前面我們介紹的濾波方法都會對圖像造成模糊,使得邊緣信息變?nèi)趸蛘呦?,因此需要一種能夠?qū)D像邊緣信息進(jìn)行保留的濾波算法,雙邊濾波是綜合考慮空間信息和色彩信息的濾波方式,在濾波過程中能夠有效地保護(hù) 圖像內(nèi)的邊緣信息。 ????????之前介紹的

    2024年02月05日
    瀏覽(21)
  • 中值濾波,均值濾波,高斯濾波,雙邊濾波,聯(lián)合雙邊濾波介紹

    中值濾波,均值濾波,高斯濾波,雙邊濾波,聯(lián)合雙邊濾波介紹

    看GAMES202相關(guān)課程發(fā)現(xiàn)閆老師講的太好了,所以記錄一下。當(dāng)然文中涉及的PPT也來自閆老師的課程PPT,歡迎交流。 首先這幾種都是空域的濾波方式,用于抑制圖像中的噪聲。它們采用的原理基本都是通過濾波核 K K K 處理含噪圖像 C ~ widetilde{C} C ,得到干凈的輸出圖 C  ̄ ove

    2024年02月09日
    瀏覽(24)
  • 【圖像處理OpenCV(C++版)】——5.5 圖像平滑之雙邊濾波

    【圖像處理OpenCV(C++版)】——5.5 圖像平滑之雙邊濾波

    前言 : ?????? 歡迎來到本博客 ?????? ?????? 本專欄主要結(jié)合OpenCV和C++來實現(xiàn)一些基本的圖像處理算法并詳細(xì)解釋各參數(shù)含義,適用于平時學(xué)習(xí)、工作快速查詢等,隨時更新。 ?????? 具體食用方式:可以點擊本專欄【OpenCV快速查找(更新中)】–搜索你要查詢的算子

    2024年02月13日
    瀏覽(23)
  • opencv-34 圖像平滑處理-雙邊濾波cv2.bilateralFilter()

    opencv-34 圖像平滑處理-雙邊濾波cv2.bilateralFilter()

    雙邊濾波(BilateralFiltering)是一種圖像處理濾波技術(shù),用于平滑圖像并同時保留邊緣信息。與其他傳統(tǒng)的線性濾波方法不同,雙邊濾波在考慮像素之間的空間距離之外,還考慮了像素之間的灰度值相似性。這使得雙邊濾波能夠有效地去除噪聲,同時保持圖像的細(xì)節(jié)和邊緣。

    2024年02月14日
    瀏覽(23)
  • 【OpenCV Python實現(xiàn)圖像增強(qiáng):高斯模糊和運(yùn)動模糊】

    【OpenCV Python實現(xiàn)圖像增強(qiáng):高斯模糊和運(yùn)動模糊】 圖像處理是計算機(jī)視覺領(lǐng)域的重要分支,它在各個領(lǐng)域都有廣泛的應(yīng)用。圖像增強(qiáng)是其中的一個重要技術(shù),可以幫助我們提升圖像的質(zhì)量和清晰度。本文將介紹如何使用Python和OpenCV庫來實現(xiàn)兩種常見的圖像增強(qiáng)方法:高斯模

    2024年02月12日
    瀏覽(19)
  • Opencv-圖像噪聲(均值濾波、高斯濾波、中值濾波)

    Opencv-圖像噪聲(均值濾波、高斯濾波、中值濾波)

    圖像噪聲是圖像處理中常見的問題,它是由于各種原因引入的不希望的隨機(jī)變化或干擾,導(dǎo)致圖像質(zhì)量下降。噪聲可以出現(xiàn)在圖像的亮度、顏色和紋理等方面,對圖像分析、計算機(jī)視覺和圖像處理任務(wù)造成困難。為了減少或消除圖像中的噪聲,常常使用不同類型的濾波技術(shù)。

    2024年02月04日
    瀏覽(97)
  • 《數(shù)字圖像處理-OpenCV/Python》連載:空間濾波之高斯濾波器

    《數(shù)字圖像處理-OpenCV/Python》連載:空間濾波之高斯濾波器

    本書京東 優(yōu)惠購書鏈接 https://item.jd.com/14098452.html 本書CSDN 獨家連載專欄 https://blog.csdn.net/youcans/category_12418787.html 圖像濾波是指在盡可能保留圖像細(xì)節(jié)特征的條件下對目標(biāo)圖像的噪聲進(jìn)行抑制,是常用的圖像處理方法。 空間濾波也稱空間域濾波,濾波器規(guī)定了鄰域形狀與鄰域

    2024年02月02日
    瀏覽(99)
  • 運(yùn)用維納濾波實現(xiàn)圖像去模糊(OpenCV實現(xiàn))

    運(yùn)用維納濾波實現(xiàn)圖像去模糊(OpenCV實現(xiàn))

    目錄 一、背景描述 二、技術(shù)應(yīng)用 三、實際處理 (1)對運(yùn)動模糊的處理 處理效果 (2)對均值模糊的處理 處理效果 (3)對高斯模糊的處理 處理效果 (4)對運(yùn)動模糊+高斯噪聲的處理 處理效果? 四、振鈴現(xiàn)象 五、總結(jié) 圖像去模糊 是低級計算機(jī)視覺中的一個經(jīng)典問題,它的

    2024年02月03日
    瀏覽(21)
  • 【高性能計算】opencl語法及相關(guān)概念(四):結(jié)合opencv進(jìn)行圖像高斯模糊處理

    【高性能計算】opencl語法及相關(guān)概念(四):結(jié)合opencv進(jìn)行圖像高斯模糊處理

    高斯模糊是一種常用的圖像處理技術(shù),用于減少圖像中的噪點和細(xì)節(jié),并實現(xiàn)圖像的平滑效果。它是基于高斯函數(shù)的卷積操作,通過對每個像素周圍的鄰域像素進(jìn)行加權(quán)平均來實現(xiàn)模糊效果。 具體而言,高斯模糊通過在圖像上滑動一個卷積核,將卷積核與輸入圖像的對應(yīng)像素

    2024年02月10日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包