相位一致性原理:

wiki: https://en.wikipedia.org/wiki/Phase_congruency

相位一致性是指在图像的频率域中,边缘相似的特征在同一阶段出现的频率较高。相位一致性的理论依据是人眼感知图像信息时主要靠的是图像信号的相位而非幅度。与基于灰度的边缘特征提取方法不同,该方法是通过计算图像的相位一致性来检测图像中的边缘,该方法可以不受图像局部光线明暗变化的影响,并能包含图像中的角、线、纹理等信息。尤其在图像边缘对比度比较低时保留边缘信息。

与基于灰度边缘提取相比,一个显著的区别例子是由一条线组成的图像,如字母“I”。许多边缘检测算法会提取两个相邻的边缘:从白到黑,从黑到白的转换。而基于相位一致性的方法可以提取出一条单一的线。

相位一致性定义:

首先,信号F(x)的傅里叶展开为:
(1)
相位一致性的实质是图像各个频率成分的相位相似性的一种度量方式,其定为

                                  (2)

其中是指局部相位,后面的均值表示相位的加权平均值,是指局部幅值,即第n个余弦分量的幅度值。
为了简化,还有一种复数形式的能量公式:
                                   (3)
其中,I(x) 代表实部分量,H(x) 代表虚部分量,求解相位一致性的另一种形式:
                                                            (4)
由(4)式,相位与局部能量是成正比的,即当幅度值一定时,E(x)达到峰值时的相位与PC(x)一致。

相位一致性评价:

以下这段主要取自: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》

基于相位一致性的边缘检测相关推荐

  1. 图像的梯度方向matlab,基于梯度方向的图像边缘检测方法与流程

    本发明具体涉及一种基于梯度方向的图像边缘检测方法. 背景技术: 边缘检测是图像处理的基本问题,在图像分割.特征提取.视觉导航等领域有广泛的应用.基于微分的边缘检测算法如Sobel算子.Prewitt算 ...

  2. matlab相位增量法图,基于相位增量的相位优化快速算法分析

    描述 1引言 正交频分复用是一种多载波调制技术,具有很高的频谱利用率,能够有效减小无线信道的时间弥散所带来的ISI.广泛应用于现在流行的高速无线通信技术中,如WIMAX和WIFI.OFDM技术有2个关 ...

  3. 在OpenCV中基于深度学习的边缘检测

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:AI算法与图像处理 导读 分析了Canny的优劣,并给出 ...

  4. java 状态机_基于 RAFT 一致性算法的 Java 实现 SOFAJRaft

    SOFAJRaft 是一个基于 RAFT 一致性算法的生产级高性能 Java 实现,支持 MULTI-RAFT-GROUP,适用于高负载低延迟的场景. 使用 SOFAJRaft 你可以专注于自己的业务 ...

  5. 基于sobel算法的边缘检测设计与实现

    基于sobel算法的边缘检测设计与实现 边缘是图像的基本特征.边缘检测针对的是灰度图像,目的是标识数字图像中灰度变化明显的点. 边缘检测的方法大致可以分为两类:基于查找的一类,通过寻找图像一阶导数中最 ...

  6. 基于相干解调法和基于相位比较法的2DPSK数字通信系统 MATLAB Simulink仿真

    1 课程设计目的 通过课程设计,巩固已经学过的通信原理课程中有关数字调制系统的知识,加深对相关知识的理解和应用,学会应用Matlab Simulink工具对通信系统进行仿真和调试.设计与实现的过程中充 ...

  7. 基于matlab的数字图像边缘检测算法研究,基于MATLAB数字图像边缘检测算法的研究与对比分析...

    ·161· 居 舍 研究探讨 2017年10月(中) 1 绪论 图像边缘中通常包含着重要的边界信息,这些边界信息便于分析和研究图像.另外,边缘检测可以大大降低图像处 理的工作量,将提高图像分析的效率. ...

  8. 相位一致性(Python版本)

    此函数用于计算图像的相位一致性 输入参数为[ 图像; 小波尺度数量默认为4; 滤波器方向数默认为6; ] 返回值[ **** M:边缘强度: m``:角点强度 : or:方向图像,整数度0-180,逆 ...

  9. Matlab与FPGA图像处理系列——基于FPGA的实时边缘检测系统设计,sobel边缘检测流水线实现

    注:下载链接的资源是图片存 ROM 后读取进行 Sobel 检测显示在 VGA上,可供参考. 摘要:本文设计了一种基于 FPGA 的实时边缘检测系统,使用OV5640 摄像头模块获取实时的视频图像数据 ...

  10. 图像处理之前景检测(五)之基于样本一致性背景检测(SACON)(主要为代码升级)

    图像处理之前景检测(五)之基于样本一致性背景检测(SACON) SACON(SAmple CONsensus)算法是基于样本一致性的运动目标检测算法.该算法通过对每个像素进行样本一致性判断来判定像素是 ...

最新文章

  1. Android开发--Spinner控件的使用
  2. JAVA进阶教学之(IO流)
  3. Gompertz模型绘图 matlab,Logistic模型matlab求解
  4. 超迷你个人电脑微型计算机,超迷你HTPC Giada N10深度解析
  5. 车险往年保单关联计算的性能优化
  6. java.sql.SQLException: Value'0000-00-00'异常解决办法
  7. 访问不了html的内容,index.html文件内容与实际访问结果不同
  8. 【深度学习】图像匹配Siamese网络实验记录
  9. IOS MenuController的部分操作
  10. 中国域名商域名注册保有量28强:美橙互联夺回第八
  11. 洛谷P2486 [SDOI2011]染色
  12. Linux -Spark安装
  13. MATLAB绘制奈奎斯特图:nyquist命令
  14. 苏宁RPC远程服务调用框架RSF
  15. 【每日最爱一句】2013.07.10
  16. 复旦大学2015--2016学年第二学期高等代数II期末考试情况分析
  17. Potplayer关闭播放时的信息
  18. CF 305B Continued Fractions
  19. ora-00119和ora-00132问题的解决方法
  20. PDF复制乱码 -- 原因及解决方案

热门文章

  1. Eclipse快捷键 10个最有用的快捷键(转载收藏)
  2. PHP Mysql-简介
  3. Python成长笔记 - 基础篇 (七)python面向对象
  4. c语言实现--单向循环链表操作
  5. AspSpider再次开放asp.net2.0 免费空间注册
  6. 借助Intent实现Android工程中Activity之间Java对象的传递——实现Serializable接口
  7. JWPlayer快速入门指南(中文)
  8. 解决Navicat无法连接到MySQL的问题
  9. jQuery实现表头固定效果
  10. 程序代码里的幽默精神