机器视觉之家VISIONHOME微信公众号:石鑫华视觉网

 找回密码
 注册会员
查看: 2446|回复: 0

[原创] NI Vision Assistant教程 第七章 图像处理-Grayscale灰度 第三节 Gray Morphology

[复制链接]

主题

好友

12万

积分

超级版主

  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 1200 天

    [LV.10]100FPS

    发表于 2013-11-1 10:11:13 |显示全部楼层
    本帖最后由 石鑫华视觉 于 2014-4-6 13:48 编辑 0 G7 c$ K$ I7 B, F1 g  R
    : |4 ^9 F; G1 @' X, H/ v
    NI Vision Assistant视觉助手教程
    6 L' O3 c# h; S

    7 p- a2 f; L6 H5 g( l5 E
    第七章 图像处理-Grayscale灰度

    ' x9 y% Z1 I* b9 r# f5 ~6 y: \/ @# ?' x3 i8 ]
    8 q) U4 t9 P6 P; }# o" D
    第三节 Gray Morphology灰度形态学

    0 o6 M3 ]3 v7 q0 p# a9 _$ s: U; I% h
    * Y7 R7 }4 N9 w2 @! V
    石鑫华机器视觉网:Morphology形态学转换可以对图像的粒子进行提取和改变。主要分为两种,一种是二值形态学函数,适用于二值图像;另一种是灰度形态学函数,适用于灰度图像。在灰度形态学中,一个像素的值与其周围的邻域的值进行比较为了使像素的值是最小的在腐蚀过程中,或者是为了使像素的值是最大的在膨胀过程中。3 A5 U  g# [! Z3 O
    使用灰度形态学函数可以用来过滤或平滑图像的像素强度。实际应用包括噪声滤波、不均匀背景校正和灰度级特征提取等。用户可以通过使用灰度形态学函数通过牺牲黑暗区域来扩大明亮区域的方法来改变区域的形状,反之通过牺牲明亮区域来扩大黑暗区域的方法也一样有效。这些形态学函数可以平滑逐渐变化的模式并提高区域边缘的对比度。5 s, _6 m7 a1 |$ z8 P" V6 ~
    加载上一节中的数字图片,进入处理函数界面,选择下图中的Gray Morphology灰度形态学函数,如下图所示:5 }! H8 s% m; P0 Z! k
    8 R( x! y4 U6 _4 q7 P4 S, E8 ~0 g& z- c
    图1 Gray Morphology灰度形态学函数
    , A' b$ Z+ J' q. ]8 |  Y2 `. {
    点击灰度形态学函数后,进入函数配置界面,如下图所示:
    / I& p) l% Y. j! c1 B% ^

    1 n4 h' Q: u. t0 Y0 |9 |图2 Gray Morphology灰度形态学函数配置界面

    4 W. y. s  \, {+ V
    # r2 b! o% O6 r2 _
    图3 Gray Morphology灰度形态学设置选项卡
    4 j  L$ O  g5 P% ~. z/ ~
    在图3所示的灰度形态学设置选项卡中,是一个非常简单的选项卡,仅仅只有一个Setup选项卡,其中包含了步骤名、内置的形态学方法、Size尺寸大小(Structuring Element的大小,可以从3×3、5×5一直到199×199)、Structuring Element结构元素(掩模,使用二值掩模的一个二维数组来定义像素的邻域。用户可以通过点击来改变结构元素的单元格的值。如果单元格是黑的,那么他的值是1,如果单元格是白的或空的,则其值为0。如果单元格是黑的,则其相应的像素认为是邻域并且其值在形态学操作中将被使用)、内置的方形和圆形结构元素(专门用于设置Structuring Element的)、# of Iterations迭代次数(迭代次数,或叫重复次数,仅限于膨胀和腐蚀两个函数)。图2中显示的是使用的Image Source原始图像的效果,这个是不会改变图像的,略过。下面来看一下具体的形态学函数的效果:
    $ k5 T( s0 b0 bDilate膨胀    一个灰度级的膨胀增加了每个像素的亮度,当这些像素点的邻域有更高的强度时。对于一个给定的像素点P0,使用结构元素处理后,P0的值将变成结构元素对应下的邻域中的最大值,即P0=Max(Pi),Pi为结构化元素(掩模)对应下的邻域中的像素值。像素的邻域由结构元素来决定。点击Dilate函数后,进入膨胀函数配置界面。如下图所示:
    & _3 v; Z! t8 G% I% z% R7 ]/ [. k
    * |" I, E% K  D9 u' l; @
    图4 Dilate膨胀函数配置界面

    9 j. n7 J2 m- l
    1 i2 l6 g. f8 H: X8 v
    图5 膨胀效果

    ; j# ~6 Z/ u& E4 P6 J1 e5 d3 I) k图5所示的膨胀效果,使用了最基本的参数进行膨胀。从中可以发现,数字8的整体变得更亮了。同时中间的许多白色的小点,也变粗变亮了。下面看一下不同参数变化时的效果:+ D, _4 g: o+ R3 g( S( \( ]

    $ u; y) }' D  z2 i: R- q6 i图6 结构元素尺寸变成5×5效果
    6 s  t0 b8 n/ q. ]3 _- H

    9 ^) h& o4 z: p/ B! r+ e9 W4 ^图7 在结构元素5×5基础上将结构元素转换成方形
    0 e  V; h- o8 `$ v/ i+ ~

    & k. f$ n; c: u图8 在方形5×5结构元素基础上重复次数为2

    4 Y* }% _3 W9 M0 l" |3 B: B0 ?! G    从上面的几幅图中可以看到,结构元素的尺寸增加时,膨胀效果也会更剧烈,结构元素变大时,膨胀效果也会变剧烈。重复次数增加时,相当于进行了多次膨胀,效果更明显。8 F6 Y1 P( @0 U! w. l5 O
    Erode腐蚀一个灰度级的腐蚀减少了每个像素的亮度,当这些像素点的邻域有更低的强度时。对于一个给定的像素点P0,使用结构元素处理后,P0的值将变成结构元素对应下的邻域中的最小值,即P0=Min(Pi),Pi为结构化元素(掩模)对应下的邻域中的像素值。像素的邻域同样由结构元素来决定。腐蚀相对于膨胀有相反的效果。因为他减少了明亮的区域而增加了黑暗的区域。. O; T% W2 I8 ]" O9 |& ?
    7 L: n  ]. s* c/ S3 Q/ J* e
    图9 腐蚀与膨胀效果对比例子

    ! |) ?" O9 u- ]  q2 W从对比效果来看,腐蚀可以有效的滤波离散的高亮噪点,而膨胀则滤除明亮区域中的黑点。从实际应用中来看,膨胀可以将图像目标特征中的噪点、边缘的凹坑等滤除掉。而腐蚀则可以将目标特征外的离散噪声、边缘凸起的毛刺等过滤掉。下面来看一下腐蚀的具体实例:5 @$ ?( a9 l" H* o
    更多内容请订阅《基于NI Vision Assistant的图像处理实用教程》,多谢支持。
    2 B7 F. C8 |. P, e0 Q  _" N) i+ Q. _2 ?8 b
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    淘宝机器视觉商城

    Archiver|手机版|小黑屋|视觉之家|东莞市华动智能科技有限公司 ( 粤ICP备17078359号-1 )|网站地图|申请友情链接

    GMT+8, 2018-5-21 12:53

    Powered by shixinhua.com X3.2 Licensed

    © 2012-2018 VISIONHOME.CN 浏览量:

    快速回复 返回顶部 返回列表