当前位置: 首页 > news >正文

网站功能介绍是什么网站导航常用关键字

网站功能介绍是什么,网站导航常用关键字,网络架构师证书,经营地址怎么在国税网站做更改🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 🔆 OpenCV项目地址及源代码:点击这里 文章目录 图像模糊操作均值滤波高斯滤波中值滤波双边滤波 图像模糊操作 关于图片的噪声:指的是图片中存在的不必要或者多余的干扰数…

🔆 文章首发于我的个人博客:欢迎大佬们来逛逛
🔆 OpenCV项目地址及源代码:点击这里


文章目录

  • 图像模糊操作
    • 均值滤波
    • 高斯滤波
    • 中值滤波
    • 双边滤波

图像模糊操作

关于图片的噪声:指的是图片中存在的不必要或者多余的干扰数据

SmoothBlur是图像处理中最简单和常用的操作之一。

经过这两种操作我们便可以实现消除噪声的作用。

SmoothBlur操作原理是数学的卷积运算,根据不同卷积运算公式,划分了多种图像滤波方式图像滤波:指的是在尽量保留图像特征的条件下对目标图像得噪声进行抑制。

均值滤波

在这里插入图片描述
在这里插入图片描述

均值滤波指的是取周围像素计算出来的平均值然后赋给目标像素。然后依次对每一个像素值进行如上的操作。

均值滤波可以帮助消除图像尖锐噪声,实现图像平滑,模糊等功能。

blur可以实现均值滤波。

void blur( InputArray src, OutputArray dst,Size ksize, Point anchor = Point(-1,-1),int borderType = BORDER_DEFAULT );
/*******************************************************************
*			src: 					输入图像
*			dst:					输出图像
*			ksize:					内核大小 如上我们的大小是(3,3)
*			anchor:				 	 锚点
*						默认Point(-1,-1):锚点在核中心
*			borderType:				 外部像素边界模式(一般不管)	   
*********************************************************************/
//均值模糊void testBlur() {cv::blur(mt, saves["blur"], cv::Size(KERNEL, KERNEL));}


高斯滤波

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。

高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

一阶与二阶高斯分布,其中二阶高斯分布是一个是一个三维正态分布的图像:

在这里插入图片描述

在这里插入图片描述

可以观察到正态分布是一种钟形曲线,越接近中心,取值越大,越远离中心,取值越小。

使用二阶高斯分布来消除噪声,模拟计算操作,其中 x x x y y y 指的是图像的坐标,由于 σ \sigma σ 未知,并且其他都是已知的,我们便可以计算出每一个点对应的二阶高斯值。

  1. 取一个 σ \sigma σ 值,对于每一个位置计算出对应的二阶高斯值。
  2. 计算出权重总和 s u m sum sum,由于权重之和必须等于1,因此每个点再除以 s u m sum sum ,就可以得到最终的权值矩阵(右三)
  3. 对于每一个位置的像素值(右二)乘以对应的权值就可以得到高斯模糊后的值(右一)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


高斯模糊函数:GaussianBlur

void GaussianBlur( InputArray src, OutputArray dst, Size ksize,double sigmaX, double sigmaY = 0,int borderType = BORDER_DEFAULT );
/*******************************************************************
*			src: 					输入图像
*			dst:					输出图像
*			ksize:					内核大小
*					x,y必须是整数,并且为奇数
*			sigmaX:				 	 X方向滤波系数
*			sigmaY:				     Y方向滤波系数
*			borderType:				 外部像素边界模式(一般不管)	   
*********************************************************************/

案例代码:

//高斯模糊void testGaussianBlur() {cv::GaussianBlur(mt, saves["GaussianBlur"], cv::Size(KERNEL, KERNEL), 3, 3);}

在这里插入图片描述

可以观察到高斯模糊的效果比均值模糊的效果好。


中值滤波

中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。

g = median ⁡ [ ( x − 1 , y − 1 ) + f ( x , y − 1 ) + f ( x + 1 , y − 1 ) + f ( x − 1 , y ) + f ( x , y ) + f ( x + 1 , y ) + f ( x − 1 , y + 1 ) + f ( x , y + 1 ) + f ( x + 1 , y + 1 ) ] g=\operatorname{median}[(x-1, y-1)+f(x, y-1)+f(x+1, y-1)+f(x-1, y)+f(x, y)+f(x+1, y)+f(x-1, y+1)+f(x, y+1)+f(x+1, y+1)] g=median[(x1,y1)+f(x,y1)+f(x+1,y1)+f(x1,y)+f(x,y)+f(x+1,y)+f(x1,y+1)+f(x,y+1)+f(x+1,y+1)]

对对椒盐噪声有很好的抑制作用.

它是一种随机出现的白点或者黑点,可能是亮的区域有黑色像素或是在暗的区域有白色像素(或是两者皆有)

API:medianBlur

void medianBlur( InputArray src, OutputArray dst, int ksize );
/*******************************************************************
*			src: 					输入图像
*			dst:					输出图像
*			ksize:					内核大小
*				      大小必须是大于1而且必须是奇数
*********************************************************************/
//中值模糊
void testMedianBlur() {cv::medianBlur(mt, saves["median"], KERNEL);
}

在这里插入图片描述


双边滤波

上面三种降噪方法容易模糊图片的边缘细节,对于高频细节的保护效果并不明显

双边滤波可以很好的边缘保护,即可以在去噪的同时,保护图像的边缘特性。

w ( i , j , k , l ) = exp ⁡ ( − ( i − k ) 2 + ( j − l ) 2 2 σ d 2 − ∥ f ( i , j ) − f ( k , l ) ∥ 2 2 σ r 2 ) w(i, j, k, l)=\exp \left(-\frac{(i-k)^{2}+(j-l)^{2}}{2 \sigma_{d}^{2}}-\frac{\|f(i, j)-f(k, l)\|^{2}}{2 \sigma_{r}^{2}}\right) w(i,j,k,l)=exp(2σd2(ik)2+(jl)22σr2f(i,j)f(k,l)2)

函数API:bilateralFilter

void bilateralFilter( InputArray src, OutputArray dst, int d,double sigmaColor, double sigmaSpace,int borderType = BORDER_DEFAULT );
/*******************************************************************
*			src: 					输入图像
*			dst:					输出图像
*			d:						滤波过程中每个像素邻域的直径
*			sigmaColor:				 颜色空间滤波器的标准差值
*					参数越大表明该像素领域内有越多的颜色被混合到一起
*			sigmaSpace:				 空间间坐标中滤波器的标准差值
*			borderType:				 外部像素边界模式(一般不管)	   
*********************************************************************/
void testBilateralFilter() {cv::bilateralFilter(mt, saves["bilateral"], KERNEL, KERNEL, KERNEL);}

在这里插入图片描述


参考:

bilateral filter双边滤波器的通俗理解_AI吃大瓜的博客-CSDN博客

均值滤波

高斯滤波_百度百科

http://www.yayakq.cn/news/342126/

相关文章:

  • 旅游网站后台模板2345实用查询
  • 推广网站优化seo教程上排名美工网站
  • 购物网站的功能有创意的图文广告店名
  • 移动端网站优化网络推广专员招聘
  • 厦门建设局网站技227司学校thinkphp2.1网站挂文件
  • 湖南做网站360o漯河市城市建设投资公司网站
  • 行业数据网站来宾市住房和城乡建设局网站
  • 深圳网站建设 龙华信科咨询已有备案网站增加域名
  • 做公司网站每年多少钱网站备案背景幕布打印多大
  • 那个网站做二手车好安顺网站开发公司
  • 甘肃金顶建设公司网站应用软件下载中心
  • 网站建设技术部奖惩制度自助创建网站
  • app与手机网站的区别网页游戏开服表 怎么删除
  • 山东省建设执业注册中心网站优质的网站建设流程
  • 移动网站的开发流程图免费下载应用软件
  • 金坛企业网站建设公司网站访问慢原因
  • 小学学校网站建设计划书工程公司的会计做账有哪些科目
  • 增城网站建设公司创业网站怎么做的
  • 九口袋网站建设网站公司 模板
  • php网站开发参考书籍如何找专业的网站建设公司
  • 做网站公司关键词家庭网络组建方案
  • 网站建设前期需要准备什么资料成都网站搜索排名优化公司
  • 网站企业备案和个人备案的区别网站的基本结构
  • 网站建设 php jsp .net济南网站建设公司送400
  • CMS源码就可以做网站吗人物介绍网页设计
  • 网站ftp需要关闭中国最近的好消息
  • 模板网站建设流程网站深圳优化建设
  • php网站开发预算文档怎样设计一个网页
  • 网站建设公司华网天网站开发工程师的职位
  • 做网站时会留下ip地址吗制作网站的免费软件