【IACV】边缘检测技术传统的方法与理论
1.边缘检测的目的
边缘检测是图像分析中使用到的最常见的操作之一,而且相比其他任何主题来说,文献中提到的与边缘增强(edge enhancement)[1]与边缘检测(edge detection)[2]相关算法可能最多的。从广义来说,其原因在于边缘形成一个在图象分析与视觉系统重要的处理主体的轮廓。边缘是对象与背景之间的边界,还是表示重叠对象之间的边界。这需要根据现在实际情况来定位。
边缘检测是被称作图像分割的过程的一部分,而图像分割的目的是识别出图像中的区域。从技术上说,边缘检测是定位边缘像素的过程,而边缘增强是增加边缘和背景之间对比度以便能够更清楚地看测边缘的过程。此外边缘跟踪(edge tracing)是沿着边缘进行跟踪的过程,这个过程通常会把边缘像素采集到一个列表中。
2.传统的方法和理论
很自然,边缘有多种可能的定义,每一种定义都适用于某些特定的情况。其中一种最常用也是具有一般性的定义的理想阶梯型边缘(ideal step edge)。如图1所示:

图1 阶梯型边缘 (a)恰好在像素10的位置发生在灰阶变化。(b)灰阶发生了同样的变化,但是跨越了像素10周围的4个像素。这是一个斜坡边缘。(c)灰阶发生了同样的变化,但是跨越了像素10周围的10个像素。(d)跨越了10个像素的较小变化。
在这个一维的示例中,边缘只不过是在某个位置发生的灰阶变化。灰阶变化越大,边缘的检测也容易。但第一个难点是来自于数码化。图像的采样不可能使得整个边缘刚好落在像素边界上。第二个难点是来自于无处不在的噪声问题。
边缘的模型
图1(a)中阶梯型边缘是理想型边缘,因为很容易检测出来。
噪声
噪声的特征通常可以用带有特定平均值(mean)和标准偏差(stand deviation)的概率分布来表示。在图像分析中,我们特别关注的是以下两种的噪声:
- 信号无关的噪声(signal-independent noise)
- 信号有关的噪声(signal-dependent noise)
信号无关的噪声是一组随机的灰阶值,在统计意义上和图像数据无关,这些数据加入图像的像素中产生了带噪声的图像。
// Measure the Normally distributed noise in a small region.
// Assume that the mean is zero. #include "stdio.h"
#include "cv.h"
#include "highgui.h"
#include "IPVACV.h" // Biggest possible filter mask
#define MAX_MASK_SIZE 20 int main (int argc char* argv[ ]) {
IMAGE im;
int i,j,k = 0;
float x =0.0, y = 0.0, z;
double mean, sd; im =Iput_PBM(argv[1]); for(i = 0; i< im->info->nr; i++){
for(j = 0; j< im->info->nc; j++){
x +=(float)(im->data[i][j]);
y +=(float)(im->data[i][j])*(float)(im->data[i][j]);
k +=1;
}
}
// Comput estimate - mean noise is 0
sd =(double)(y- x*x/(float)k)/(float)(k-1);
mean = (double)(x/(float)k);
printf("Image mean is %10.5f Standard deviatio is %10.5f\n",mean, sqrt(sd));
}
参考文献
[1]. "Edge enhancement"From Wikipedia, the free encyclopediahttp://en.wikipedia.org/wiki/Edge_enhancement.
[2]. "Edge detection" From Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Edge_detection.
======================================================= 转载请注明出处:http://blog.csdn.net/utimes/article/details/8797874=======================================================
【IACV】边缘检测技术传统的方法与理论的更多相关文章
- Python 图像处理 OpenCV (12): Roberts 算子、 Prewitt 算子、 Sobel 算子和 Laplacian 算子边缘检测技术
前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...
- Python 图像处理 OpenCV (13): Scharr 算子和 LOG 算子边缘检测技术
前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...
- atitit.为什么技术的选择方法java超过.net有前途
atitit.为什么技术的选择方法java超过.net有前途 #----有没有法律依据不同的铜需求... 通常有开发效率,需要在稳定性.. 笔者 老哇爪 Attilax 艾龙, EMAIL:1466 ...
- 通过写n本书的积累,我似乎找到了写好技术文章的方法(回复送我写的python股票电子书)
我写的书不算少,写的博文就更多了,但大多数书的销量也就一般,而我写的技术文章里,虽然也有点击过万的,但不少点击量也就只有三位数. 通过不断反思,也通过对比了一些畅销书和顶流文章,我似乎找到了一些原因, ...
- JAVA多线程提高一:传统线程技术&传统定时器Timer
前面我们已经对多线程的基础知识有了一定的了解,那么接下来我们将要对多线程进一步深入的学习:但在学习之前我们还是要对传统的技术进行一次回顾,本章我们回顾的则是:传统线程技术和传统的定时器实现. 一.传统 ...
- SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn可用性组(理论篇)
因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...
- Effective Objective-C 2.0 — 第13条:用“方法调配 技术” 调试 “黑盒方法”
自己理解是调配了方法 在运行期,可以向类中新增或替换选择子所对应的方法实现. 使用另一份实现来替换原有的方法实现,这道工序叫做“方法调配”,开发者常用此技术向原有实现中添加新功能. 一般来说,只有调试 ...
- PHP缓存技术的多种方法小结
这里所说的数据缓存是指数据库查询PHP缓存机制,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓 ...
- kaggle信用卡欺诈看异常检测算法——无监督的方法包括: 基于统计的技术,如BACON *离群检测 多变量异常值检测 基于聚类的技术;监督方法: 神经网络 SVM 逻辑回归
使用google翻译自:https://software.seek.intel.com/dealing-with-outliers 数据分析中的一项具有挑战性但非常重要的任务是处理异常值.我们通常将异 ...
随机推荐
- Pathchirp—有效的带宽估计方法(二)
上一个blog介绍了有效带宽估计方法:pathload.http://blog.csdn.net/ice110956/article/details/11126491. 做一个小小的总结:pathlo ...
- 15个最受欢迎的Python开源框架
以下是伯乐在线从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python Web应用开发框 ...
- host字段变复杂了
声明: 本博客欢迎转载,但请保留原作者信息! 作者:李人可 团队:华为杭州OpenStack团队 讨论的是openstack中卷的host属性. 印象中.社区H版本号对于volume的host值表示的 ...
- HDU1878 欧拉回路 - from lanshui_Yang
Problem Description 欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路.现给定一个图,问是否存在欧拉回路? Input 测试输入包含若干测试用例.每个 ...
- c#取出LDAP SearchResult所有属性
string aaa = System.Threading.Thread.CurrentPrincipal.Identity.Name; DirectorySearcher ds = new Dire ...
- 我的Python成长之路---第二天---Python基础(8)---2016年1月9日(晴)
数据类型之字典 一.字典简介 字典dict(dictionary),在其他语言中也成为map,使用键-值(key-value)的形式存储和展现,具有极快的查找速度. 字典的定义 d = {'key': ...
- Mapper XML Files详解
扫扫关注"茶爸爸"微信公众号 坚持最初的执着,从不曾有半点懈怠,为优秀而努力,为证明自己而活. Mapper XML Files The true power of MyBatis ...
- 清华集训2014 day1 task2 主旋律
题目 这可算是一道非常好的关于容斥原理的题了. 算法 好吧,这题我毫无思路,直接给正解. 首先,问题的正面不容易求,那么就求反面吧: 有多少种添加边的方案,使得这个图是DAG图(这里及以下所说的DAG ...
- Demo XML 、 JSON 解析 AND 网络HTTP请求
有道云笔记分享:http://note.youdao.com/share/?id=7950b949a5017a698a9ecc95bc250ec5&type=note 后台服务端:C#.服务器 ...
- Android 解屏幕锁与点亮屏幕
前言 欢迎大家我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net ...