Opencv-图像处理理论与实例操作(二)

本节内容上接这篇博客:

笔记来源

2.7 图像阈值与平滑处理

  • 理解阈值

理解阈值是干什么的?
在这里插入图片描述
假如有如图上的像素点数值,对于每一个像素点值进行判断:该像素点大于阈值如何处理,小于阈值如何处理
这就是阈值函数要做的事情

2.7.1 阈值处理

在这里插入图片描述

  • 实例
    在这里插入图片描述

2.7.2. 平滑处理

平滑处理:即滤波操作

在这里插入图片描述

均值滤波

在这里插入图片描述

方框滤波

normalize = True :会做归一化,即进行核大小的计算,再除去核大小

在这里插入图片描述

高斯滤波

在这里插入图片描述

距离越近越重视,发挥的效果越好;越远发挥的效果不是那么好

在这里插入图片描述

  • 知识博客
  1. 图像与滤波
  2. 高斯模糊的算法
  3. 简单易懂的高斯滤波
  • 中值滤波

中值:从小到大排序,找到中间的数值

在这里插入图片描述

  • 展示所有
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.8 图像梯度 ⭐

在这里插入图片描述

这条线左右两边都是白色一样,这条线不会产生梯度,因此边缘会产生梯度

在这里插入图片描述

这个点左边是0(黑)右边是255(白),左右两边梯度大一些 类似边缘检测

2.8.1 Sobel算子

算法简单,实际应用效率高于canny边缘检测效率,但是准确度是低于canny的

Sobel算子是高斯平滑与微分操作的结合体:抗噪声能力强,适用于效率要求较高,细纹处理要求不高的时候

在这里插入图片描述

考虑水平(Gx)和竖直(Gy)两个方向
右减左,下减上

在这里插入图片描述

  • 函数
    在这里插入图片描述

将sobel算子的部分中ksize设为-1,就是利用Scharr进行边缘检测

  • 实例
  1. 计算水平方向
    在这里插入图片描述
  • 思考:上述图像为什么只有一半的圆?
    在这里插入图片描述
    在这里插入图片描述
  • 如何做处理让右边圆显示出来?
    在这里插入图片描述
    在这里插入图片描述
  1. 计算竖直方向
    在这里插入图片描述
  2. 计算G
    在这里插入图片描述
    在这里插入图片描述

此处建议分开计算Sobelx,Sobely,再计算整体

  • 整体计算
    在这里插入图片描述
    在这里插入图片描述

  • 分开计算
    在这里插入图片描述

  • 实例 lena图像

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

  • 分开计算
    在这里插入图片描述

  • 直接计算
    在这里插入图片描述

  • 注意
    在这里插入图片描述

2.8.2 Scharr算子

使结果差异更明显(数值更大)

在这里插入图片描述

2.8.3 laplacian算子

中文名称:拉普拉斯算子

对噪音点敏感,可能并不是好事,因为一些噪音点并不是一些边界

在这里插入图片描述

  • 算子综合实例
    在这里插入图片描述
  • 详细讲解
  1. sobel算子,scharr算子,Laplacian算子
  2. 图像边缘检测之 Sobel、Scharr、拉普拉斯算子、Canny

2.8.4 边缘检测原理⭐

边缘检测原理是图像处理和计算机视觉中的基本问题,边缘检测的目标标识数字图像中亮度变化明显的点
图像中属性中的显著变化通常反应了属性的重要事件和变化。

在这里插入图片描述

图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关地信息,保留了图像重要地结构属性。

常用的边缘检测方法可以分为两类:

  1. 基于搜索
  2. 基于零穿越
  • 基于搜索
    在这里插入图片描述
  • 基于零穿越
    在这里插入图片描述

2.8.5 Canny边缘检测⭐⭐

  • 头衔

被认为是最优的边缘检测算法

  • 算法步骤
  1. 噪声去除
    由于边缘检测很容易收到噪声的影响,所以首先使用5*5高斯滤波器去除噪声【具体看平滑处理章节中的高斯滤波
  2. 计算图像梯度
    计算图像中每个像素点的梯度强度和方向
    在这里插入图片描述
  3. 非极大值抑制
    在获得梯度的大小和方向之后,对整幅图像进行扫描,去除那些非边界上的点。对每一个像素进行检查,看这个点的梯度是不是周围具有相同梯度方向的点中最大的。如下图:
    在这里插入图片描述
    在这里插入图片描述
    通俗讲解如上图,最后选择A-99%
  4. 滞后阈值
    应用双阈值检测来确定真实的和潜在的边缘
  5. 通过抑制孤立的弱边缘最终完成边缘检测
  • 算法步骤详解
  1. 高斯滤波器

高斯滤波器:中间点比较大,边缘比较小

在这里插入图片描述

  1. 梯度和方向

使用的Sobel算子
具体看图像梯度中的Sobel算子

  1. 非极大值抑制
  • 方法一
    在这里插入图片描述
  • 方法二
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Part I 基础篇 OpenCV 开发基础. 1 第 1 章初识 OpenCV.. 3 1.1 OpenCV 初识 4 1.1.1 OpenCV 简介.. 4 1.1.2 OpenCV 组件及架构.. 5 1.1.3 OpenCV 资源.. 9 1.2 VS2012 安装OpenCV2.4.x .. 9 1.3 VS2013 安装OpenCV3.0 14 1.4 Sublime 下配置OpenCV. 16 1.5 小结 19 第2 章图像及视频基本操作. 20 2.1 图像初级操作 21 2.1.1 Mat 类 21 2.1.2 Mat 基本操作 23 2.1.3 Mat 类型转换 24 2.1.4 图像读取显示保存 24 2.1.5 图像存储. 26 2.2 图像几何变换 28 2.2.1 坐标映射. 28 2.2.2 平移 29 2.2.3 缩放 33 2.2.4 旋转 36 2.2.5 仿射变换. 40 2.3 视频操作.. 43 2.3.1 VideoCapture 类.. 43 2.3.2 视频写操作 45 2.3.3 视频质量评价.. 48 2.4 图像基础应用操作. 50 2.4.1 界面事件. 50 2.4.2 区域提取. 54 2.4.3 图像元素遍历——反色.. 58 2.4.4 单窗口显示多幅图像 63 2.4.5 图像颜色空间转换 66 2.4.6 图像批量读取——规则.. 69 2.4.7 图像批量读取——无规则. 70 2.5 小结 71 Part II 进阶篇图像处理技术.. 73 第 3 章进阶篇——图像灰度变换技术. 75 3.1 阈值化处理. 76 3.1.1 OTSU 阈值化 76 3.1.2 固定阈值化 79 3.1.3 自适应阈值化.. 81 3.1.4 双阈值化. 83 3.1.5 半阈值化. 84 3.2 直方图处理. 85 3.2.1 灰度直方图 85 3.2.2 H-S 直方图. 88 3.2.3 BGR 直方图.. 89 3.2.4 自定义直方图.. 91 3.2.5 灰度直方图均衡. 93 3.2.6 彩色直方图均衡. 94 3.2.7 直方图变换——查找 95 3.2.8 直方图变换——累计 97 3.2.9 直方图匹配 99 3.2.10 直方图对比.. 101 3.2.11 直方图的反向投影 105 3.3 距离变换 108 3.3.1 距离. 108 3.3.2 邻接性 109 3.3.3 区域..110 3.3.4 距离变换——扫描..110 3.3.5 距离变换——distanceTransform..113 3.4 Gamma 校正.115 3.5 其他常见的灰度变换技术117 3.5.1 线性变换117 3.5.2 对数变换119 3.5.3 对比度拉伸. 121 3.5.4 灰度级分层. 124 3.5.5 灰度比特平面 125 3.6 实例应用 128 3.6.1 最大熵阈值分割.. 128 3.6.2 投影峰谷查找 131 3.7 小结. 134 第4 章进阶篇——图像平滑技术.. 135 4.1 图像采样 136 4.1.1 最近邻插值. 136 4.1.2 双线性插值. 138 4.1.3 插值操作性能对比. 140 4.1.4 图像金字塔. 143 4.2 傅里叶变换.. 146 4.2.1 图像掩码操作 146 4.2.2 离散傅里叶. 149 4.2.3 图像卷积.. 151 4.3 图像噪声 153 4.3.1 椒盐噪声.. 153 4.3.2 高斯噪声.. 155 4.4 空间平滑 157 4.4.1 盒滤波 157 4.4.2 均值滤波.. 159 4.4.3 中值滤波.. 159 4.4.4 高斯滤波.. 161 4.4.5 双边滤波.. 163 4.5 实例应用 166 4.5.1 导向滤波.. 166 4.5.2 图像污点修复 169 4.5.3 旋转文本图像矫正. 172 4.6 小结. 178 第5 章进阶篇——边缘检测技术.. 179 5.1 边缘检测基础. 180 5.1.1 边缘检测概念 180 5.1.2 梯度算子.. 180 5.1.3 一阶微分算子 180 5.1.4 二阶微分算子 181 5.1.5 图像差分运算 182 5.1.6 非极大值抑制 184 5.2 基本边缘检测算子——Sobel 184 5.2.1 非极大值抑制Sobel 检测.. 185 5.2.2 图像直接卷积实现Sobel 186 5.2.3 图像卷积下非极大值抑制Sobel. 187 5.2.4 Sobel 库函数实现 190 5.3 基本边缘检测算子——Laplace 192 5.4 基本边缘检测算子——Roberts 194 5.5 基本边缘检测算子——Prewitt. 195 5.6 改进边缘检测算子——Canny .. 198 5.6.1 Canny 算子.. 198 5.6.2 Canny 原理及实现.. 198 5.6.3 Canny 库函数实现.. 203 5.7 改进边缘检测算子——Marr-Hildreth .. 204 5.8 几何检测 207 5.8.1 霍夫变换.. 207 5.8.2 线检测技术. 208 5.8.3 LSD 快速直线检测. 210 5.8.4 圆检测技术. 214 5.9 形状检测 215 5.9.1 轮廓检测.. 215 5.9.2 凸包检测.. 217 5.9.3 轮廓边界框. 221 5.9.4 轮廓矩 226 5.9.5 点多边形测试 229 5.10 角点检测. 232 5.10.1 moravec 角点 232 5.10.2 harris 角点. 235 5.10.3 Shi-Tomasi 角点. 238 5.11 实例应用. 240 5.11.1 颜色圆检测.. 240 5.11.2 车牌区域检测.. 243 5.12 小结 249 第6 章进阶篇——形态学技术. 250 6.1 腐蚀膨胀操作. 251 6.2 开闭运算操作. 253 6.3 形态学梯度.. 255 6.4 形态学Top-Hat.. 256 6.5 实例应用 257 6.5.1 形态学滤波角点提取. 257 6.5.2 车牌目标提取 260 6.6 小结. 263 Part III 高级篇图像应用技术. 265 第 7 章高级篇——图像分割技术.. 267 7.1 分水岭分割.. 268 7.1.1 分水岭的特征 268 7.1.2 实现分水岭分割.. 269 7.1.3 分水岭分割合并.. 270 7.2 FloodFill 分割. 273 7.3 均值漂移MeanShift 276 7.4 图割Grabcut 279 7.5 实例实例 282 7.5.1 奇异区域检测 282 7.5.2 肤色检测.. 285 7.6 小结. 288 第8 章高级篇——特征分析.. 289 8.1 尺度空间 290 8.1.1 尺度与旋转不变性. 290 8.1.2 特征点尺度变换.. 290 8.2 特征描述子.. 291 8.2.1 SIFT 特征. 292 8.2.2 SURF 特征.. 296 8.2.3 ORB 特征. 300 8.3 方向梯度直方图HOG 302 8.3.1 HOG 原理. 302 8.3.2 HOG 特征提取步骤 303 8.3.3 HOGDescriptor 特征描述类.. 304 8.3.4 HOG 特征描述实现 305 8.4 局部二值模式LBP.. 309 8.4.1 经典LBP.. 309 8.4.2 圆形LBP311 8.5 Haar 特征描述 314 8.5.1 Haar 原理. 314 8.5.2 Haar 特征提取 315 8.6 应用实例 317 8.6.1 最近邻特征点目标提取 317 8.6.2 最大极值稳定区域匹配MSER 320 8.6.3 字符特征提取 324 8.6.4 车牌字符SVM 训练.. 327 8.7 小结. 331 第 9 章高级篇——复杂视频处理技术.. 332 9.1 视频稳像技术. 333 9.2 图像拼接 338 9.2.1 拼接原理及过程.. 338 9.2.2 图像拼接实现 339 9.3 高动态范围图像HDR 342 9.3.1 HDR 合成技术.. 342 9.3.2 HDR 合成原理.. 342 9.3.3 OpenCV 实现. 343 9.4 背景建模 344 9.4.1 背景差分.. 345 9.4.2 混合高斯背景建模. 345 9.4.3 混合高斯背景建模实现 346 9.4.4 混合模型MOG2 成员参数设定. 348 9.4.5 KNN 模型背景建模实现. 349 9.4.6 GMG 模型背景建模实现 351 9.5 级联分类器——人脸检测.. 353 9.5.1 级联分类器. 353 9.5.2 CascadeClassifier 类 353 9.6 应用实例 355 9.6.1 运动目标提取 355 9.6.2 TLD 单目标跟踪.. 358 9.6.3 人眼检测与跟踪.. 361 9.7 小结. 365 附录A 366 1——代码清单.. 366 2——CMake 编译OpenCV3.1 源码. 372 3——OpenCV3.1 Extra 扩展库 375 参考文献.... 379

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胜天半月子

打不打商的无所谓,能帮到你就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值