关于图像分割算子dyn_threshold

                    <!-- 正文开始 -->
    <div id="sina_keyword_ad_area2" class="articalContent   newfont_family">
        <p><b>先来看看这个算子的参数选择:</b></p>

dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : )

ThresholdImage是我们用来作为灰度值参考的另外一幅图像,在实际使用过程中通常都是对原图像OrigImage进行一次平滑处理,然后用平滑处理之后得到的图像作为参考图像。

LightDark是问我们提取亮?暗?还是相似的区域?(当然,这是相对于ThresholdImage

 

Offset其实是在设定一个比较的区间范围,因为在图像处理这个主观性本来就比较强的领域中绝对这个科学名次实在有点太过分,所以什么事情,只要在一个合理的范围内,我们都是可以接受的,而不是死死抓住一个点不放,最后也得不到想要的结果。

 

dyn_threshold 这个算子就是根据一套灰度值比较规则来选择原图像中那些灰度值符合这个公式的像素点。

令 g_{o} = g_{OrigImage},  g_{t} = g_{ThresholdImage}分别代表原图和参考图中的像素点的灰度值.

我们的做法是把参考图像的灰度值加上(减去)一个Offset,然后去和原图的像素点逐像素对应地进行比较。

下面看Halcon中给出的这些公式:

The condition for LightDark = ‘light’ is:

                 g_o >= g_t + Offset
既然选择light,那就代表提取相对参考图来说亮一些的地方,那么自然要选择那些灰度值比g_t + Offset要大的像素点。

For LightDark = ‘dark’ the condition is:

                 g_o <= g_t – Offset
如果要提取的是比参考图要暗一些的区域,那么自然要选择比g_t的灰度值要小的那些像素点,但是这样直接比较的话提取的小区域太多了,并没有很好地提取出相对参考图来说很明显有差别的那部分,所以我们才给定Offset这个参数用来修正。这样给参考图的灰度值一减掉Offset,提取出来的和参考的之间的差距就会很明显。

For LightDark = ‘equal’ it is:

                 g_t - Offset <= g_o <= g_t + Offset
选择equal的意思是选择那些和参考图的差不多的,只要在这个合理的范围内的都算。

Finally, for LightDark = ‘not_equal’ it is:

                 g_t - Offset > g_o or g_o > g_t + Offset
反正只要不是差不多的就不选,亮的暗的无所谓。


一般来说,我们所用的ThresholdImage都是原图像的一个平滑图,比如用  mean_image, binomial_filter, gauss_image 等算子处理之后的图像,因此这个算子的作用类似于给一个经过了Highpass Filter处理的图像进行threshold。这句话的意思其实很好理解,因为Highpass的作用是抑制图像中那些高频信号也就是灰度值变化比较大的地方,所以处理之后图像会变的比较平滑


经过dyn_threshold这个算子处理之后,我们就可以提取一个物体的轮廓了,具体提取的方法当然要用到什么类似select_shape之类的算子,当然,这里最重要的是gen_contour_region_xld这个算子,用你刚才提取出来的这些区域生成XLD轮廓线,这样就达到了提取物体轮廓的目的。 


所选择的模板越大,找到的region就会越大。一般来说,模板的大小应该是我们要提取的物体直径大小的两倍左右。还有很重要的一点是最好不要把Offset这个变量设置为0,因为这样会导致最后找到太多很小的regions,而这基本上都是噪声。所以这个值最好是在5-40之间,值选择的越大,提取出来的regions就会越小。


注意,我们这样提取出来的所有符合条件的像素点都会被返回到一个region中去,所以如果你要分开的区域的话,就用connection这个算子再计算一下就好啦。

    </div>
                    <!-- 正文结束 -->
    <div id="share" class="shareUp">
        <div class="share SG_txtb">
        分享: 
        <div class="bshare-custom" style="display:inline;margin-left:5px;"><div class="bsPromo bsPromo2"></div><a title="分享到新浪微博" class="bshare-sinaminiblog" href="javascript:void(0);"></a><a title="分享到微信" class="bshare-weixin" href="javascript:void(0);"></a><a title="分享到QQ空间" class="bshare-qzone" href="javascript:void(0);"></a><a title="分享到豆瓣" class="bshare-douban" href="javascript:void(0);"></a><a title="更多平台" class="bshare-more bshare-more-icon more-style-addthis"></a>
        </div>
        </div>
        <div class="up">
            <div title="喜欢后让更多人看到" id="dbox_710e52270102uzus" class="upBox upBox_dis" style="cursor: default;">
                <p ti_title="dyn_threshold对物体轮廓提取很有用的一个阈值分割算子" id="dbox2_710e52270102uzus" class="count" mnum="29">30</p>
                <p class="link">已喜欢</p>
            </div>

快捷键

  • 加粗 Ctrl + B
  • 斜体 Ctrl + I
  • 引用 Ctrl + Q
  • 插入链接 Ctrl + L
  • 插入代码 Ctrl + K
  • 插入图片 Ctrl + G
  • 提升标题 Ctrl + H
  • 有序列表 Ctrl + O
  • 无序列表 Ctrl + U
  • 横线 Ctrl + R
  • 撤销 Ctrl + Z
  • 重做 Ctrl + Y

Markdown及扩展

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— [ 维基百科 ]

使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个链接等,详细语法参考帮助?。

本编辑器支持 Markdown Extra ,  扩展了很多好用的功能。具体请参考Github.

表格

Markdown Extra 表格语法:

项目 价格
Computer $1600
Phone $12
Pipe $1

可以使用冒号来定义对齐方式:

项目 价格 数量
Computer 1600 元 5
Phone 12 元 12
Pipe 1 元 234

定义列表

Markdown Extra 定义列表语法:
项目1
项目2
定义 A
定义 B
项目3
定义 C

定义 D

定义D内容

代码块

代码块语法遵循标准markdown代码,例如:

@requires_authorization
def somefunc(param1='', param2=0):
    '''A docstring'''
    if param1 > param2: # interesting
        print 'Greater'
    return (param2 - param1 + 1) or None
class SomeClass:
    pass
>>> message = '''interpreter
... prompt'''

脚注

生成一个脚注1.

目录

[TOC]来生成目录:

数学公式

使用MathJax渲染LaTex 数学公式,详见math.stackexchange.com.

  • 行内公式,数学公式为: Γ(n)=(n1)!nN
  • 块级公式:

x=b±b24ac2a

更多LaTex语法请参考 这儿.

UML 图:

可以渲染序列图:

Created with Raphaël 2.1.0 张三 张三 李四 李四 嘿,小四儿, 写博客了没? 李四愣了一下,说: 忙得吐血,哪有时间写。

或者流程图:

Created with Raphaël 2.1.0 开始 我的操作 确认? 结束 yes no
  • 关于 序列图 语法,参考 这儿,
  • 关于 流程图 语法,参考 这儿.

离线写博客

即使用户在没有网络的情况下,也可以通过本编辑器离线写博客(直接在曾经使用过的浏览器中输入write.blog.csdn.net/mdeditor即可。Markdown编辑器使用浏览器离线存储将内容保存在本地。

用户写博客的过程中,内容实时保存在浏览器缓存中,在用户关闭浏览器或者其它异常情况下,内容不会丢失。用户再次打开浏览器时,会显示上次用户正在编辑的没有发表的内容。

博客发表后,本地缓存将被删除。 

用户可以选择 把正在写的博客保存到服务器草稿箱,即使换浏览器或者清除缓存,内容也不会丢失。

注意:虽然浏览器存储大部分时候都比较可靠,但为了您的数据安全,在联网后,请务必及时发表或者保存到服务器草稿箱

浏览器兼容

  1. 目前,本编辑器对Chrome浏览器支持最为完整。建议大家使用较新版本的Chrome。
  2. IE9以下不支持
  3. IE9,10,11存在以下问题
    1. 不支持离线功能
    2. IE9不支持文件导入导出
    3. IE10不支持拖拽文件导入


  1. 这里是 脚注内容.

猜你喜欢

转载自blog.csdn.net/mufeng008/article/details/78378730