基于相位一致性的边缘检测
来源:互联网 发布:人工智能的事例 编辑:程序博客网 时间:2024/05/29 10:08
相位一致性原理:
wiki: https://en.wikipedia.org/wiki/Phase_congruency
相位一致性是指在图像的频率域中,边缘相似的特征在同一阶段出现的频率较高。相位一致性的理论依据是人眼感知图像信息时主要靠的是图像信号的相位而非幅度。与基于灰度的边缘特征提取方法不同,该方法是通过计算图像的相位一致性来检测图像中的边缘,该方法可以不受图像局部光线明暗变化的影响,并能包含图像中的角、线、纹理等信息。尤其在图像边缘对比度比较低时保留边缘信息。
与基于灰度边缘提取相比,一个显著的区别例子是由一条线组成的图像,如字母“I”。许多边缘检测算法会提取两个相邻的边缘:从白到黑,从黑到白的转换。而基于相位一致性的方法可以提取出一条单一的线。
相位一致性定义:
(2)
相位一致性评价:
以下这段主要取自:http://blog.csdn.net/songzitea/article/details/17319769的讲解,略有改动。
相位一致性(phase congruency)方法是一个特征检测算子,它有两个主要优点:第一,可以检测大范围的特征;第二、对局部的平滑光照变化具有不变性。它是基于相位考虑的频域处理。图下所示是显示检测出的1-D特征,其中特征是实线。
图(a)所示的是有noise阶梯函数,图(b)所示的是峰值。通过Fouier变换分析,任何函数都是由不同频率的sina波控制叠加而成的。就阶梯函数而言,各个频率(图(a)中的虚线)都在同一时间上产生多种变化,叠加起来成为边缘。同样地,峰值是各个频率在同一时间达到峰值而产生的;图(b)中实线表示峰值,虚线表示其中一些组成的频率。为了找到想要的特征,可以确定一些同时发生的事件点:这就是相位一致性。通过一般化处理,一个三角形波由峰值和谷值组成:相位一致性意味组成信号的峰值各谷值是完全一致。图(a)所示的组成sina波是这样得到的,对一个阶梯(step)进行Fouier变换,然后根据其幅度和相位麦乳精确定那些sina波。
这两个优点其实就是一致性检测具有局部对比度不变性:即使阶梯边缘强度变小,sina波不断叠加,其变化位置不变。在图像中,这意味着即使我们变化对比度,仍然可要检测边缘。
当然,相位一致性方法也存在缺点:(1)计算量相对较大;(2)对噪声比较敏感,所以一般需要先进行降噪处理。
相位一致性实现:
关于相位一致性,国外的牛人Peter有个专门的网页专栏:http://www.peterkovesi.com/matlabfns/index.html#phasecong,里面有相关的代码实现,很详细,具体实现可以下载下来研究,我这里贴一下测试函数和测试结果:
%% 相位一致性方法测试clc,close all,clear all;img=imread('D:\proMatlab\test_image\lake.jpg');% phaseCong = phasecongmono(img);phaseCong=phasecong3(img);figure,subplot(121),imshow(img),title('原图');subplot(122),imshow(phaseCong),title('结果');
参考:
《Phase Congruency Detects Corners and Edges》
- 基于相位一致性的边缘检测
- 相位一致性——利用频域检测边缘
- 基于法线的边缘检测
- 基于法线的边缘检测
- 基于opencv的边缘检测
- 基于opencv的多种边缘算子的边缘检测
- 基于一阶微分的边缘检测方法:
- 基于canny的边缘检测算法:
- 基于FPGA的sobel边缘检测
- 基于Qualcomm FastCv的边缘检测算法
- 基于C++的图像边缘检测技术
- 基于亚像素的边缘检测方法
- iOS 基于Open CV的边缘检测
- 基于MATLAB边缘检测算子的实现
- 基于DM642的图像边缘检测算法的研究
- 基于OpenCV的canny边缘检测的MFC实现
- 基于二阶微分的边缘检测方法:
- 基于HSI空间颜色三角形的边缘检测方法
- 关于条形码,你知道多少?
- myisamchk命令使用总结
- SAP PP培训(仅限于沈阳地区)
- 【Android】gradle-wrapper.properties中各属性的含义
- 【西普实验吧】字典
- 基于相位一致性的边缘检测
- Hadoop和Hbase动态扩展
- Linux平台下setsid()函数
- (三十一) NavigationView 原理分析
- 横向滑动菜单TabLayout
- 单例模式(一个类只能创建一个实例)
- npm在windows中环境配置
- 关于ssm分布式项目中的No converter found for return value of type问题
- 可靠性测试上部分