前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenCV图像处理10-图像模糊(二)

OpenCV图像处理10-图像模糊(二)

作者头像
yangjiao
发布2021-03-04 10:47:26
4990
发布2021-03-04 10:47:26
举报
文章被收录于专栏:-csdn迁移-csdn迁移

10-图像模糊(二)

中值滤波和双边滤波

  • 中值滤波
    • 统计排序滤波器
    • 中值滤波对于椒盐噪声有很好的抑制作用 原理是:将Size(xradius,yradius)窗口中的像素值排序,取中值赋给窗口中心点
  • 双边滤波
    • 均值滤波无法客服边缘像素信息丢失的缺陷,原因是均值滤波基于平均权重
    • 高斯滤波部分克服了该缺陷,但仍无法完全避免,因为没有考虑到像素值的不同
    • 高斯双边模糊是保留边缘的滤波方法,避免了边缘信息的丢失,能够保证图像轮廓不变

相关API

代码演示

代码语言:javascript
复制
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;

int main() {
	Mat src = imread("D:\\heroRcData\\opencvProject\\arrowImg\\02\\01.jpg");
	if (!src.data) {
		cout << "could not load image..." << endl;
		return -1;
	}
	namedWindow("input image", CV_WINDOW_AUTOSIZE);
	imshow("input image", src);

	//***************************************************
	//中值滤波
	Mat dst_median;
	medianBlur(src, dst_median, 5);
	string median_window = "medianBlur image";
	//imshow(median_window, dst_median);

	//***************************************************
	//双边滤波
	Mat dst_bilateral;
	bilateralFilter(src, dst_bilateral, 5, 150, 5);
	string bilateral_window = "bilateral image";
	imshow(bilateral_window, dst_bilateral);

	//**************************************************
	//高斯滤波(用于对比 凸显双边滤波效果)
	Mat dst_Gauss;
	GaussianBlur(src, dst_Gauss, Size(5, 5), 11, 11);
	string Gauss_window = "Gauss image";
	namedWindow(Gauss_window, CV_WINDOW_AUTOSIZE);
	imshow(Gauss_window, dst_Gauss);

	waitKey(0);
	return 0;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-01-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 10-图像模糊(二)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档