| |
|
开发:
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算子
? 代码:
?
虽然 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图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 | -2025/2/21 19:46:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |