利用2阶分数阶微分掩模的边缘检测(Matlab代码实现)
👨🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
边缘检测是图像处理的一个重要环节,也是进行信息提取与模式识别的一个基本手段。传统的边缘检测算子多为微分算子,主要包括一阶与二阶微分算子。 常用的一阶微分算子主要有 Rebort
算子、
Sobel
算子、Prewitt算子和
Canny
算子等,而常用的二阶微分算子则有 Laplician
算子和
LOG
算子等。
近年来,随着分数阶微积分理论在图像处理领域中的成功应用[2-5]
,利用分数阶微分进行边缘检测逐渐成为一个研究热点。Mathieu
等人
[6]
提出了分数阶鲁棒轮廓边缘检测器,适当选择分数阶微分的阶数时,该检测器不仅能选择性地检测出边缘;杨柱中等人[7]
构造了一种基于 0~1
阶分数阶微分的
Tiansi
掩模模板,相对于传统的微分算子,该模板在有效提取图像边缘的同时具有较
高的信噪比;王卫星等人
[8]
根据
Tiansi
掩模模板的特点,提出了一种改进的 Tiansi
算子,该算子在进行边缘检测时可大幅增强图像的纹理细节边缘信息值;Pu
等人
[9]
和 Gao 等人
[10]
分别利用分数阶微分替换传统一阶微分,构造了两种不同的分数阶边缘检测算子;汪成亮等人[11]
针
对
Tiansi
模板的最佳分数阶阶数需要人为指定这一缺陷,提出了一种基于图像纹理复杂度的自适应分数阶微分算法;何春等人[12]
首先利用分数阶微分和分数阶积分组成复合导数,然后在此基础上提出了一种基于复合导数的边缘检测算子;蒋伟等人[13]
基于
0~1
阶分数阶微分理论和传统的 Sobel
算子,提出了一种分数阶
Sobel
算子的边缘检测模型。
📚2 运行结果
部分代码:b=filter2(op,a);
%设置过零检测的门限
%寻找滤波后的过零点,+-和-+表示水平方向从左到右和从右到左过零
%[+-]'和[-+]'表示垂直方向从上到下和从下到上过零
%这里我们选择边缘点为值为负的点
thresh=.75*mean2(abs(b(rr,cc)));
%[- +]的情况
[rx,cx]=find(b(rr,cc)<0&b(rr,cc+1)>0&abs(b(rr,cc)-b(rr,cc+1))>thresh);
e((rx+1)+cx*m)=1;
%[- +]的情况
[rx,cx]=find(b(rr,cc-1)>0&b(rr,cc)<0&abs(b(rr,cc-1)-b(rr,cc))>thresh);
e((rx+1)+cx*m)=1;
%[- +]的情况
[rx,cx]=find(b(rr,cc)<0&b(rr+1,cc)>0&abs(b(rr,cc)-b(rr+1,cc))>thresh);
e((rx+1)+cx*m)=1;
%[- +]的情况
[rx,cx]=find(b(rr-1,cc)>0&b(rr,cc)<0&abs(b(rr-1,cc)-b(rr,cc))>thresh);
e((rx+1)+cx*m)=1;
🌈3 Matlab代码实现
🎉4 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]李军成.利用1~2阶分数阶微分掩模的边缘检测[J].计算机工程与应用,2014,50(21):14-18.