当前位置:   article > 正文

在CIELab颜色空间下使用八方向Sobel算子实现边缘检测_8方向图像边缘检测算子

8方向图像边缘检测算子

参考河北师范大学硕士学位论文——基于八方向Sobel算子的边缘检测算法研究。
由于自己实现滤波器运算,计算速度很慢,以后有能力再进行改进。


算子定义如下:
这里写图片描述


算法思路:
1.将RGB图像转化为CIELab颜色空间的图像。
2.计算不同方向上的梯度,乘以权值后取最大值当作输出值。
这里写图片描述


效果如下:
这里写图片描述
运行时间:33.543444 秒。

这里写图片描述
运行时间:79.695009 秒。

跑的好慢QAQ


代码如下:
CIELabEdge.m(算法的总入口)

%在CIELab颜色空间下对图片进行边缘检测(参数为待处理的RGB图像)
%使用论文中的八方向Sobel算子进行滤波
%论文引自--郑英娟. 基于八方向Sobel算子的边缘检测算法研究. 河北师范大学硕士学位论文. 2013.3.26

%From:Yinggang Wang
%Create Date:2018.3.30

function [] = CIELabEdge(img)

%颜色空间转换
Lab = RGB2Lab(img);

%滤波处理
Edge = MyFilter(Lab);

%输出结果
figure('NumberTitle','off','Name','边缘');
imshow(Edge,[]);

figure('NumberTitle','off','Name','边缘(负片)');
imshow(imcomplement(Edge),[]);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

MyFilter.m(自己实现的滤波器)

%使用滤波器滤波(参数:CIELab颜色空间的三维矩阵)(图像输出大小比实际小一点)
%
%From:Yinggang Wang
%Create Date:2018.3.30

function im = MyFilter(ori)

s = size(ori);
i
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/895982
推荐阅读
相关标签
  

闽ICP备14008679号