欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

OpenCV實現雙邊濾波算法

 更新時間:2021年10月11日 09:55:49   作者:點云俠  
這篇文章主要為大家詳細介紹了OpenCV實現雙邊濾波算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了OpenCV實現雙邊濾波算法的具體代碼,供大家參考,具體內容如下

一、雙邊濾波

雙邊濾波是一種綜合考慮濾波器內圖像空域信息和濾波器內圖像像素灰度值相似性的濾波算法,可以實現在保留區(qū)域信息的基礎上實現對噪聲的去除、對局部邊緣的平滑。雙邊濾波對高頻率的波動信號起到平滑的作用,同時保留大幅值變化的信號波動,進而實現對保留圖像中邊緣信息的作用。雙邊濾波具有美顏效果。

二、C++代碼

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

using namespace cv;
using namespace std;

int main()
{
 //讀取兩張含有人臉的圖像
 Mat img1 = imread("face1.png", IMREAD_ANYCOLOR);
 
 if (img1.empty())
 {
  cout << "請確認圖像文件名稱是否正確" << endl;
  return -1;
 }
 Mat result1, result2, result3, result4;
 //驗證不同濾波器直徑的濾波效果
 bilateralFilter(img1, result1, 9, 50, 25 / 2);
 bilateralFilter(img1, result2, 25, 50, 25 / 2);
 //驗證不同標準差值的濾波效果
 bilateralFilter(img1, result3, 9, 9, 9);
 bilateralFilter(img1, result4, 9, 200, 200);
 //顯示原圖
 imshow("img1", img1);
 //不同直徑濾波結果
 imshow("result1", result1);
 imshow("result2", result2);
 //不同標準差值濾波結果
 imshow("result3 ", result3);
 imshow("result4", result4);
 waitKey(0);
 return 0;
}

三、python代碼

import cv2

img = cv2.imread('666.jpg')
# -------------------雙邊濾波------------------
img_bilater = cv2.bilateralFilter(img, 9, 75, 75)
# ------------------可視化結果-----------------
cv2.imshow('origion_pic', img)
cv2.imshow('filtered_pic', img_bilater)
cv2.waitKey(0)

四、結果展示

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論