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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

opencv线性滤波(滤波与模糊的区别)

發布時間:2023/11/27 生活经验 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opencv线性滤波(滤波与模糊的区别) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

濾波與模糊的區別:

? ? 濾波與模糊是很容易混淆的概念:圖像濾波是在保留圖像細節特征的情況下盡可能對目標的噪聲進行抑制,而模糊本質就是濾波。

? ? ?大家都知道圖像的細節保存在高頻區域,圖像的輪廓保存在低頻區域;對于高斯濾波器而言,當使用高斯低通濾波器時,圖像細節被濾除,只保留圖像輪廓,這就是模糊;當使用高斯高通濾波器時,圖像輪廓被濾除,只保留圖像細節,這就是銳化。

圖像線性濾波的綜合實例

#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<vector>
#include<time.h>
#include<opencv2/core/core.hpp>
#include <iostream>
using namespace cv;
using namespace std;
//--------------------------------------【main( )函數】-----------------------------------------
//          描述:控制臺應用程序的入口函數,我們的程序從這里開始執行
//-------------------------------------------------------------------------------------------------
Mat src = imread("D:\\VC\\c++\\opencv源碼\\opencv源碼\\12.bmp");
Mat dst1, dst2, dst3;int boxfilter = 3;//方框濾波參數值
int meanfilter = 3;//均值濾波參數值
int gaussfilter = 3;//高斯濾波參數值//方框濾波回調函數
void on_box(int, void*)
{boxFilter(src, dst1,-1,Size(boxfilter+1, boxfilter+1));imshow("方框濾波圖", dst1);
}//均值濾波回調函數
void on_mean(int, void*)
{blur(src, dst2, Size(meanfilter + 1,meanfilter + 1),Point(-1,-1));imshow("均值濾波圖", dst2);
}//高斯濾波回調函數
void on_gauss(int, void*)
{blur(src, dst3, Size(gaussfilter + 1, gaussfilter + 1));imshow("高斯濾波圖", dst3);
}int main()
{double time0 = static_cast<double>(getTickCount());//記錄起始時間namedWindow("原圖", WINDOW_FREERATIO);imshow("原圖", src);//方框濾波namedWindow("方框濾波圖", WINDOW_FREERATIO);createTrackbar("內核值", "方框濾波圖", &boxfilter, 20, on_box);on_box(boxfilter, 0);//均值濾波namedWindow("均值濾波圖", WINDOW_FREERATIO);createTrackbar("內核值", "均值濾波圖", &meanfilter, 20, on_mean);on_mean(meanfilter, 0);//高斯濾波namedWindow("高斯濾波圖", WINDOW_FREERATIO);createTrackbar("內核值", "高斯濾波圖", &gaussfilter, 20, on_gauss);on_gauss(gaussfilter, 0);time0 = ((double)getTickCount() - time0) / getTickFrequency();cout << "此方法運行時間:" << time0 << "秒" << endl;//輸出運行時間waitKey(0);return 0;
}

?

?

?

總結

以上是生活随笔為你收集整理的opencv线性滤波(滤波与模糊的区别)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。