日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

OpenCV学习笔记(五):线性滤波-方框、均值、高斯:boxFilter(),blur(),GaussianBlur()

發(fā)布時(shí)間:2024/7/23 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV学习笔记(五):线性滤波-方框、均值、高斯:boxFilter(),blur(),GaussianBlur() 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

OpenCV學(xué)習(xí)筆記(五):線性濾波-方框、均值、高斯:boxFilter(),blur(),GaussianBlur()

線性濾波:即多個(gè)信號(hào)之和的響應(yīng)和它們各自響應(yīng)之和相等。
參考:
https://blog.csdn.net/poem_qianmo/article/details/22745559
代碼:

#include <opencv2/opencv.hpp>Mat g_srcImage,g_dstImage1,g_dstImage2,g_dstImage3; //存儲(chǔ)圖片的Mat類(lèi)型 int g_nBoxFilterValue=3; //方框?yàn)V波參數(shù)值 int g_nMeanBlurValue=3; //均值濾波參數(shù)值 int g_nGaussianBlurValue=3; //高斯濾波參數(shù)值using namespace cv; using namespace std;int main(int argc, char *argv[]) {// 載入原圖g_srcImage = imread( "F:/C++/2. OPENCV 3.1.0/TEST/1.jpg", 1 );if( !g_srcImage.data ){ printf("Oh,no,讀取srcImage錯(cuò)誤~! \n"); return false; }//克隆原圖到三個(gè)Mat類(lèi)型中g_dstImage1 = g_srcImage.clone( );g_dstImage2 = g_srcImage.clone( );g_dstImage3 = g_srcImage.clone( );g_dstImage4 = g_srcImage.clone( );g_dstImage5 = g_srcImage.clone( );//顯示原圖imshow("【<0>原圖窗口】",g_srcImage);// 1、方框?yàn)V波namedWindow("【<1>方框?yàn)V波】", 1);createTrackbar("內(nèi)核值:", "【<1>方框?yàn)V波】", &g_nBoxFilterValue, 40, on_BoxFilter);on_BoxFilter(g_nBoxFilterValue,0);// 2、均值濾波namedWindow("【<2>均值濾波】", 1);createTrackbar("內(nèi)核值:", "【<2>均值濾波】",&g_nMeanBlurValue, 40,on_MeanBlur );on_MeanBlur(g_nMeanBlurValue,0);// 3、高斯濾波namedWindow("【<3>高斯濾波】", 1);createTrackbar("內(nèi)核值:", "【<3>高斯濾波】",&g_nGaussianBlurValue, 40,on_GaussianBlur );on_GaussianBlur(g_nGaussianBlurValue,0);//輸出一些幫助信息cout<<endl<<"\t運(yùn)行成功,請(qǐng)調(diào)整滾動(dòng)條觀察圖像效果~\n\n"<<"\t按下“q”鍵時(shí),程序退出。\n";//按下“q”鍵時(shí),程序退出while(char(waitKey(1)) != 'q') {}return 0 } // 1、方框?yàn)V波操作的回調(diào)函數(shù) static void on_BoxFilter(int, void *) {//方框?yàn)V波操作(未歸一化)boxFilter( g_srcImage, g_dstImage1, -1,Size( g_nBoxFilterValue+1, g_nBoxFilterValue+1),Point(-1,-1),false);//顯示窗口imshow("【<1>方框?yàn)V波】", g_dstImage1); }// 2、均值濾波操作的回調(diào)函數(shù) static void on_MeanBlur(int, void *) {//均值濾波操作blur( g_srcImage, g_dstImage2, Size( g_nMeanBlurValue+1, g_nMeanBlurValue+1), Point(-1,-1));//顯示窗口imshow("【<2>均值濾波】", g_dstImage2); }// 3、高斯濾波操作的回調(diào)函數(shù) static void on_GaussianBlur(int, void *) {//高斯濾波操作GaussianBlur( g_srcImage, g_dstImage3, Size( g_nGaussianBlurValue*2+1, g_nGaussianBlurValue*2+1 ), 0, 0);//顯示窗口imshow("【<3>高斯濾波】", g_dstImage3); }

結(jié)果:



總結(jié)

以上是生活随笔為你收集整理的OpenCV学习笔记(五):线性滤波-方框、均值、高斯:boxFilter(),blur(),GaussianBlur()的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。