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

OpenCV第二讲:图像滤波及几何变换

图像滤波, 是指尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作, 其处理效果的好换将直接影响到后续图像处理和分析的有效性和可靠性。

1. 前言

空间域的平滑滤波一般采用简单平均法进行,就是求邻近像素点的平均亮度值。

邻域的大小与平滑的效果直接相关,邻域越大平滑效果越好, 但邻域过大,平滑也会使得边缘信息损失的越大,从而使输出的图像变得模糊。

2. 几种线性滤波的原理简介

  • 线性滤波主要有三种: 方框滤波均值滤波高斯滤波.

平滑处理也称为模糊处理,用来减少图像上的噪点或者失真。

在这里插入图片描述

滤波与模糊:上面有讲到平滑滤波其实对图像进行了模糊处理,而平滑滤波是增强低频信号(也就是低通滤波),消除高频度信号。因此,实质就是低通即为模糊, 高通就是锐化。

图片的锐化:就是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,亦分空域处理和频域处理两类。

  • 邻域算子与线性邻域滤波

    邻域算子: 利用给定像素周围的像素值,决定此像素的最终值; 线性邻域算子是一种常用的邻域算子,像素的输出值取决于输入像素的加权和。

    邻域算子实现图像平滑,即为图像噪声的去除;邻域算子实现图像的锐化,即为图像的边缘增强。

在这里插入图片描述

核 -- 滤波器的加权系数, 即为滤波器的滤波系数,就是上图的中h(x,y)函数。

  • OpenCV中三种常用的线性滤波操作

		方框滤波 ---- boxblur 函数
		均值滤波 ---- blur 函数
		高斯滤波 ---- GaussianBlur 函数

相关文章:

  • OpenCV第三讲: 方框滤波、均值滤波、高斯滤波
  • 机器学习第一课:基础概念扫盲
  • 机器学习第二课:神经网络结构和专业术语
  • OpenCV第四讲: 非线性滤波
  • OpenCV第五讲: 形态学滤波
  • OpenCV第六讲: 漫水填充、图像金字塔
  • OpenCV第七讲:阈值的作用
  • OpenCV第八讲:图像变换之边缘检测(Canny+Sobel算子)
  • V-SLAM 回环检测与后端优化重读
  • OpenCV第九讲:图像变换之边缘检测(Laplacian +Scharr 算子)
  • OpenCV第十讲:图像几何形状识别之霍夫变换
  • OpenCV 第十一讲: 重映射、仿射变换、直方图均衡化
  • OpenCV第十二讲:角点检测与亚像素精度
  • OpenCV第十三讲:SURF特征点的检测与匹配详解
  • OpenCV第十四讲: Fast特征点与ORB特征点原理详解
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • 2018一半小结一波
  • angular组件开发
  • Facebook AccountKit 接入的坑点
  • flask接收请求并推入栈
  • GraphQL学习过程应该是这样的
  • Js基础知识(一) - 变量
  • Object.assign方法不能实现深复制
  • Promise面试题2实现异步串行执行
  • Redis 懒删除(lazy free)简史
  • spring boot 整合mybatis 无法输出sql的问题
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • vue-loader 源码解析系列之 selector
  • Vue实战(四)登录/注册页的实现
  • 初识MongoDB分片
  • 创建一个Struts2项目maven 方式
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 排序(1):冒泡排序
  • 排序算法之--选择排序
  • 数组大概知多少
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • raise 与 raise ... from 的区别
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • (9)目标检测_SSD的原理
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (力扣题库)跳跃游戏II(c++)
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • ./configure,make,make install的作用(转)
  • .FileZilla的使用和主动模式被动模式介绍
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .net访问oracle数据库性能问题
  • .net和php怎么连接,php和apache之间如何连接
  • .pop ----remove 删除
  • .vue文件怎么使用_vue调试工具vue-devtools的安装