纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

OpenCV双边滤波 OpenCV实现双边滤波算法

点云侠   2021-10-11 我要评论
想了解OpenCV实现双边滤波算法的相关内容吗,点云侠在本文为您仔细讲解OpenCV双边滤波的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点: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)

四、结果展示


相关文章

猜您喜欢

  • python进程概念理解 关于对python中进程的几个概念理解

    想了解关于对python中进程的几个概念理解的相关内容吗,工具晨的日常在本文为您仔细讲解python进程概念理解的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:python创建进程,python进程管理,python进程概念,下面大家一起来学习吧。..
  • switch()括号内参数类型要求 Java switch()括号内参数的类型要求详解

    想了解Java switch()括号内参数的类型要求详解的相关内容吗,索儿呀在本文为您仔细讲解switch()括号内参数类型要求的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Java,switch(),switch括号内参数,参数类型要求,下面大家一起来学习吧。..

网友评论

Copyright 2020 www.3a4a5a.com 【3A软件站】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式