| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> day17:图像的边缘检测 -> 正文阅读 |
|
[人工智能]day17:图像的边缘检测 |
需要说
的是
由于求取边缘结果可能会有负数,?不在原始图像的
8U
的数据类型内,因此滤波后的图像数据类型为
CV
1
6S
?代码:
? ?1:Sobel算子 任意-个方向的差分阶数都需要小子算子的尺寸,特殊情况是,当 ksize=1?时,任意一个方向阶数需要小于 3. 在一般情况下,当差分阶数的最大值为1时,算子尺寸选3?,当差分阶数的最大值为 2时,算子尺寸选5?,当差分阶数最大值为3,?算子尺寸选 7. 当算子尺寸 ksize=,1,程序中使用的算子尺寸不再是正方形而是 3x 1 或者 1x 3. ? 代码:
? 2.Scharr算子:
虽然 S
obel
算子
可以有效地提取图像
边缘,但
是对图像中较弱的边缘提取效果较差.因此 为
了能够有效地提取出较弱的边缘,
要将像
素值间的
差距增大,
于是引 入
Scharr
算子.
Scharr
算子
是对
Sobel
差异性的增强,因此两者在
检测图
像边缘的
原理和使
用方式上相
同.
Scharr
算子的
边缘检测滤波的尺寸为3?
x3,?
因此也称其
Scharr
滤波器.
?该函数的第四个、第五个参 数分别是提取x方向边缘和y方向边缘的标志,该函数要求这两个参数只能有一个参数为 1. 且不能同时为 0.否则则该函数将无法提取图像边缘,该函数默认的滤波器尺寸为 3x 3并且无法修改. ?3.生成边缘检测滤波器
Scharr
?
算子只有
两
种,
但是
Sobel?
算子却有不同尺寸、不同阶次,?
在实际使用过程中,
即使了解
Sobel?
算子的原理 ,
推导出边缘提取需
要的滤波器也
是十分复杂而烦琐的任务。
并且,有时我们并不希望提取图像中的边缘,而是希望得到能够提取图像边缘的滤波器,通过
对滤波器的修改提升边缘检测的效果.在
Opencv?
中,提供了
ge
tDe
rivKern
els()
函数,通过该
函数可以得到不同尺寸、不同阶次的
Sobel
算子和
Scharr?
算子的滤波器.
?4.Laplacian算子
上述的边缘检测算子都具有方向,
因此需要分别求x
方向的边缘,y方
向的边
缘,将两个方向的边缘综合得到图像的整
体边缘,Laplacian算子
具有各
方向同
性的特性,能
够对任意方向的边缘进行提取,具有
无方
向性
的优点 ,
使用Laplacian算子
提取边缘不需要
检测
x方向
的边缘和y方向的边缘
,只需要一
次边缘检
测. Laplacian算子
是一种二阶
导数算子,对噪声
敏感,
因此常需要配合
高斯滤波 一
起使用。
结果: ? ?5.Canny算法 ?
结果:分别为未进行高斯滤波,Canny低阈值,高阈值图像,以及进行高斯滤波Canny低阈值,高阈值图像 ?未进行高斯滤波以及进行了高斯滤波:
结果表明高斯模糊在边缘纹理较多的区域能减少边缘检测的结果
但是对纹理较少
的区域影响较小.
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 10:41:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |