灰度图像图像分割 Robert算子

学习DIP第43天

转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不满意。有些网站转载了我的博文,很开心的是自己写的东西被更多人看到了,但不开心的是这段话被去掉了,也没标明转载来源,虽然这并没有版权保护,但感觉还是不太好,出于尊重文章作者的劳动,转载请标明出处!!!!

文章代码已托管,欢迎共同开发:https://github.com/Tony-Tan/DIPpro

开篇废话

       废话开始,Robert算子,之前被用到了图像增强中的锐化,原因是作为一阶微分算子,Robert简单,计算量小,对细节反应敏感,之前说过算子对边缘检测的贡献是提供边缘候选点,Robert算子相比于其他3x3算子,在不经过后处理时,可以给出相对较细的边缘,有看一个博客,博主说Robert给出的边缘较粗,但根据我的测试结果,一阶微分中Robert给出的候选点是最细的,相关Robert基础知识参考前面博文“灰度图像--图像增强 Robert算子、Sobel算子”。这里我们不在介绍重复知识。

算子比较

       与标准一阶差分不同,Robert采用对角线差分,前面博文我曾说我懂为什么要使用对角线,现在有了答案,假设我们采用标准的一阶微分算子,对下面一个数字化的矩形进行横向和纵向的差分,并得出结果,红色表示算子模板中心:
灰度图像图像分割  Robert算子

       可以看出,得到的边缘一部分是在内边界,一部分是外边界,并且,黄色像素点并未有计算结果,也就是,边缘候选点丢失了一个。
       但是如果我们采用Robert算子计算,结果如下:
灰度图像图像分割  Robert算子

       为得到的结果,虽然边缘候选点依然有外边缘和内边缘,但没有遗漏边缘候选点,这就是Robert由于普通差分的地方,也就是对角线差分的好处。
       检验完候选点后,接下来的任务是筛选,筛选算法有很多,但最简单的是阈值处理,即超过阈值的为边缘,否则为噪声,或非边缘,这样做的缺点是不准确,有点是速度极快。计算量相当小,在速度要求较高的但准确度要求不高的地方,可以使用Robert加阈值的简单处理。得到边缘。

代码实现结果

       代码之前已经给出,这里只现实下阈值处理后的样子。
原图:
灰度图像图像分割  Robert算子

Robert+阈值(阈值给出方式为:边缘候选点的最大值的百分比):
灰度图像图像分割  Robert算子

灰度图像图像分割  Robert算子

灰度图像图像分割  Robert算子

灰度图像图像分割  Robert算子

灰度图像图像分割  Robert算子


总结

       Robert算子可以检测到全部的边缘候选点,边界定位能力一般,原因是一阶微分对于斜坡型边缘定位都不准确,使用简单的阈值后可以去掉一些非边缘点,但检测结果准确性一般,但计算速度非常快。
待续。。。。
更多相关文章
  • 天津一男子自学了黑客技术后,攻击了沪上一知名食品公司的服务器,成功将充值的四角钱倍增成6万元.日前,松江警方破获这起破坏计算机信息系统的案件,抓获犯罪嫌疑人苏某.   充值4毛变6万   犯罪嫌疑人到案后向警方供述,其在国内一著名网络安全问题反馈平台上看到一篇帖文,文章指出了上述食品公司的充值支付系 ...
  • 环境变量与文件查找   本节介绍环境变量的作用与用法,及几种搜索文件的方法.学会这些技巧高效地使用 Linux. 一.环境变量 1.变量 要解释环境变量,得先明白变量是什么,准确的说应该是 Shell 变量,所谓变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号,而这些符号将 ...
  • 文/OK车险 齐石试想一下这个场景:你早上起床,你的手机发出预警,"根据腕戴装置显示,你昨晚三点钟入睡,睡眠深度严重不足.今日小雨,路滑.今日你驾车的危险指数是84.今日驾车车险价格为¥270.建议叫出租车上班."上述的场景用现有的科技完全可实现.我们只是还没有这样去定义保险,而 ...
  •   破解目标:破解一asp木马的经过加密的登破解asp木马密码陆密码.由于木马里没有版本说明,具体也不知道这木马叫什么名. 破解思路:两种,用加密后的密码替换密文和利用密文及加密算法反解出密码.前者根本算不上真正的破解. 破解目的:没事破着玩. 如果得不到asp源代码,那么可以说对破解密码,我毫无胜 ...
  • 易网科技讯 4月27日消息,由易网科技主办的易网创业Club的线下沙龙--五道口沙龙:拼车专场昨天在京举办,彩虹拼车总经理王国珍先生在沙龙上进行了分享交流.据悉,彩虹拼车是从做拼私家车开始,后来又延伸到做拼出租的,王国珍认为,做拼私家车市场时,自己做了很艰难的市场探索,因为私家车拼车车主和乘客用户的 ...
  • 数据类型 JavaScript中有5种简单数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number和String.还有1种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的. typeof操作符 介于JavaScript是松散类型的,因此需要 ...
一周排行
  • 11.数据库是在计算机系统中按照一定的数据模型组织.存储和应用的( ) A.文件的集合 B.数据的集合 C.命令的集合 D.程序的集合 [参考答案] B 12.FoxPro DOS是( ) A.DOS 下的数据库 B ...
  • Summary: CVE-ID: CVE-362 CVSS: Base Score 7.5 CVSS2 Vector: AV:N/AC:L/Au:N/C:P/I:P/A:P/E:U/RL:OF/RC:UC ...
  • 1 #include <iostream> 2 #include <set> 3 #include <cstring> 4 #include <cstdio> 5 6 ...
  • Question: Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given ...
  • 前几天看到这样一篇博客<那些年·我们读过的专业书籍>,里面列了很多大家认为很好的书,加上自己在自学C++的工程中也看了不少书,感觉并不是所有的书都值得花时间去看的,毕竟很多人一年下来也看不了2,3本书,不 ...
  • 集体翻墙有妙招 作者:田逸([email protected]) 由于某些众所周知的原因,我们访问某些网站,不得不用一些特殊的手段绕过限制,这个方法,通常被俗称为翻墙.据我所掌握的经验,有两种翻墙方法:客户端软件和vpn拨号. ...
  • ubuntu ibus输入法之skype不能输入中文的问题   安装了unbuntu11.10后,发现在skype中肿么都打不出来中文了.之前一直都没有理会,今天顺手就将  www.2cto.com   他给解决了. ...
  •   在java.lang包中有String.split()方法,返回是一个数组 1.如果用"."作为分隔的话,必须是如下写法:String.split("\\."),这样才能正 ...
  • 听了猫大师的课,对Oracle CBO又加深了一步理解: 单表选择率: selectivity=1/ndv*a4nulls ocard来自dba_tables.num_rows ndv 来自dba_tab_col_s ...
  • 有的场景下,我们需要把手机屏幕方向改变,下面是我写的一个例子. xml页面文件: 页面java文件: package com.example.chcfg; import android.os.Bundle; impo ...