赞
踩
参考河北师范大学硕士学位论文——基于八方向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),[]);
MyFilter.m(自己实现的滤波器)
%使用滤波器滤波(参数:CIELab颜色空间的三维矩阵)(图像输出大小比实际小一点)
%
%From:Yinggang Wang
%Create Date:2018.3.30
function im = MyFilter(ori)
s = size(ori);
i
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。