IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 图像边缘检测④( Sobel边缘算子,Prewitt边缘算子,Laplacian边缘算子,Canny边缘算子) -> 正文阅读

[人工智能]图像边缘检测④( Sobel边缘算子,Prewitt边缘算子,Laplacian边缘算子,Canny边缘算子)

目录

一、边缘检测算法介绍

1.Sobel边缘算子

2.Prewitt边缘算子

3.Log边缘算子

4.Canny边缘算子

二、比较

三、代码(不理解的可以看前几次的文章)

?四、效果

1.原图?

2.Canny处理?

3.Robel处理?

4. Prewitt处理

?5.log处理


一、边缘检测算法介绍

1.Sobel边缘算子

Sobel边缘算子的卷积核(Sobel模板)如图4-4所示,图像中的每个像素都用这两个核作卷积。这两个核分别对垂直边缘和水平边缘响应最大,两个卷积的最大值作为该点的输出位。运算结果是一幅边缘幅度图像。

2.Prewitt边缘算子

Prewitt边缘算子是一种边缘样板算子,利用像素点上下、左右邻点灰度差,在边缘处达到极值检测边缘,对噪声具有平滑作用,对灰度和噪声较多的图像处理得较好

3.Log边缘算子

Log算子对噪声比较敏感,Log算子有一个缺点是它对图像中的某些边缘产生双边响应。所以图像一般先经过平滑处理,通常把Log算子和平滑算子结合起来生成一个新的模板。

4.Canny边缘算子

Canny边缘算子是一种既能滤去噪声,又能保持边缘特性的边缘检测最优滤波器。采用二维高斯函数任意方向上的一阶方向导数为噪声滤波器,通过与图像卷积进行滤波;然后对滤波后的图像寻找图像梯度的局部最大值,以此来确定图像边缘。根据对信噪比与定位乘积进行测度,得到最优化逼近算子。Canny算子检测方法的优点:①低误码率,很少把边缘点误认为非边缘点;②高定位精度,即精确地把边缘点定位在灰度变化最大的像素上;③抑制虚假边缘。

二、比较

Sobel算子检测方法对灰度渐变和噪声较多的图像处理效果较好。对噪声具有平滑作用,提供较为精确的边缘方向信息,边缘定位精度不够高,图像的边缘不止一个像素。当对精度要求不是很高时,是一种较为常用的边缘检测方法。

Roberts算子检测方法对具有陡峭的低噪声的图像处理效果较好,但是利用Roberts算子提取边缘的结果是边缘比较粗,因此边缘的定位不是很准确。

Prewitt算子检测方法对灰度渐变和噪声较多的图像处理效果较好。但边缘较宽,而且间断点多。

Laplacian算子法对噪声比较敏感,所以很少用该算子检测边缘,而是用来判断边缘像素是图像的明区还是暗区。(不推荐,效果差)

Canny方法不容易受噪声干扰,能够检测到真正的弱边缘。优点在于,使用两种不同的阈值分别检测强边缘和弱边缘,并且当弱边缘和强边缘相连时,才将弱边缘包含在输出图像中。

总结:

Canny处理图像时,保留图像的细节会更多?,适合对于需要细节的边缘检测,衣服褶皱可以检测出来。Prewitt去噪效果比较好,但是不会保留细节部分,保留的大部分是边缘轮廓,轮廓较宽,会有明显断点,不适合处理道路信息,Sobel较综合,图像不错。上述比较推荐的两种算法。

三、代码(不理解的可以看前几次的文章)

a1=imread('E:\photo\3.jpg');                         %读入图像文件
%[thr,sorh,keepapp]=ddencmp('den','wv',a1);       %求取对信号进行小波消噪处理的默认
%阈值、软阈值,并且保留低频系数
%c=wdencmp('gbl',a1,'sym4',2,thr,sorh,keepapp);   % 全局阈值设置去噪
% figure,imshow(c),title('消噪后图像 ');
%d=medfilt2(a1,[2,2]);                        %进行二维中值滤波
% figure,imshow(d),title('中值滤波');
isuo=imresize(a1,1);
%sobel、robert、prewitt、Log、canny算子检测图像边缘
es=edge(isuo,'sobel',0.2);
er=edge(isuo,'roberts',0.2);
ep=edge(isuo,'prewitt',0.2);
el=edge(isuo,'log');
ec=edge(isuo,'canny',0.2);
figure,imshow(isuo);
%title('前期处理图像');
imwrite(isuo,'前期图像.jpg')
figure,imshow(es);
% title('sobel算子');
imwrite(es,'E:\photo\Sobel.jpg')
figure,imshow(er);
%title('roberts算子');
imwrite(er,'E:\photo\roberts.jpg')
figure,imshow(ep);
%title('prewitt算子');
imwrite(ep,'E:\photo\prewitt.jpg')
figure,imshow(el);
%title('log算子');
imwrite(el,'E:\photo\log.jpg')
figure,imshow(ec);
%title('canny算子');
imwrite(ec,'E:\photo\canny.jpg') 

?四、效果

1.原图?

2.Canny处理?

3.Robel处理?

?

4. Prewitt处理

?5.log处理

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-04 15:33:38  更:2022-03-04 15:38:07 
 
开发: 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/26 17:27:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码