当前位置:首页 > 通信资讯 > 正文

opencv双边滤波函数(opencv 滤波)

本文为大家分享了OpenCV实现双边滤波算法的具体代码,供大家参考,具体内容如下

一、双边滤波

双边滤波是一种综合考虑滤波器内图像空域信息和滤波器内图像像素灰度值相似性的滤波算法,可以实现在保留区域信息的基础上实现对噪声的去除、对局部边缘的平滑。双边滤波对高频率的波动信号起到平滑的作用,同时保留大幅值变化的信号波动,进而实现对保留图像中边缘信息的作用。双边滤波具有美颜效果。

二、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)

四、结果展示

opencv双边滤波函数(opencv 滤波)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_36686437/article/details/120598855

如果您对该产品感兴趣,请填写办理(客服微信:xiaoxiongyidong)

为您推荐:

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。