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

 找回密码
 注册会员
查看: 6196|回复: 90

[原创] NI Vision Assistant视觉助手教程 5.6 Set Coordinate System设定坐标系

  [复制链接]

主题

好友

11万

积分

超级版主

  • TA的每日心情
    难过
    2018-2-18 18:41
  • 签到天数: 1116 天

    [LV.10]100FPS

    发表于 2013-2-23 13:19:29 |显示全部楼层
    本帖最后由 石鑫华视觉 于 2014-4-6 17:46 编辑
    . o$ m" b  S( `$ [& g& ]1 {. P# n8 S5 D6 \) _! N1 u
    NI Vision Assistant视觉助手教程) [( F) N/ g; I
    6 y. a( x5 m& w2 v; C& S
    第五章 图像处理-Image图像
    7 i6 u- R4 G# B7 K

    1 @1 w, b: B% u* ?0 ~
    ; @- Y! l5 T' ^# w& T5 E/ E2 }
    第六节 Set Coordinate System设定坐标系
    5 W3 R& a- C1 `  B4 ^  j: l- u
    8 C. j+ o2 K- T$ T7 ~" X
    Set Coordinate System设定坐标系,函数说明信息创建一个坐标系基于参考特征的位置与方向,其函数在面板中的位置如下图所示:
    1 \( S1 A) f0 p
    + g3 E- t4 v0 x+ s3 h5 r1 g) w" X
    图1 Set Coordinate System设定坐标系
    - E" R" W2 q3 K/ A7 L/ r9 v
    这个函数首先是需要一个参考特征,这样才能用于建立坐标系。如果在没有参考特征的情况下,直接点击函数,是会提示警告的:* r9 ?3 Y) F  m" R# B5 s3 |

    + g7 E2 w& i0 K  q! b' y5 d. G图2 Set Coordinate System设定坐标系必须基于参考特征
    $ X# L$ l) k$ S3 P9 G  I# M
    从图2中的警告信息看到,坐标系基于其它步骤的点位置,例如找边缘、找模板、粒子分析等。如果在脚本中没有相关的点可以使用,则无法建立坐标系,即如果脚本区中有直方图、线剖面图、测量等函数也是不能用作参考特征来建立坐标系的。/ u. P4 \- [1 X2 q) |
    因此在这里,我们先使用函数Edge Detector先找到一点边缘点(函数在后面章节中介绍,点击函数后,直接在图像边缘对比强的地方画一条线ROI,大部分的图像都能找到边缘点)。然后再点击设定坐标系函数,进行设定坐标系设置界面,如下图所示:
    . L% a/ J( o( O
    ) _9 D1 V6 s& O8 g: N
    图3 设定坐标系设置界面
    ( b) H0 G0 M+ t! h6 ]3 w/ ^
    设定坐标系函数因为只相关于点的位置与方向,因此与图像的格式无关,彩色、灰度、二值图像等都可以使用设定坐标系,关键点是要有参考特征的点坐标。
    * U/ f# R; T! L# p' }4 h( I从图3中的配置界面中可以看到脚本区中找到了一个边缘点(即图像中大100元与壹佰圆中间的钱币符号上),然后在这个点上,还有一个红色的直角坐标系。这个坐标系就是点击函数后默认的建立的坐标系。下面来看一下设定坐标系的具体设置选项卡。! s/ h: e: x# ~( b

    7 f( y# k+ L) K( k8 g7 l图4 设定坐标系设置

      }4 O; S" i/ B  @# }5 U* z+ n设定坐标系的设置选项卡也比较简单,只有一个Settings设置选项卡。其中有一个类似步骤名的Coordinate System Name坐标系名称。这个坐标系名,即充当了步骤名,又充当了坐标系名。坐标系名是需要区别对待的。因为一个图像处理检测系统中,是可以设置多个不同的参考坐标系的。: {. T: k4 k3 W4 O6 ~
    接下来是Mode坐标系的类型。默认的是Horizontal Motion水平运动,此外还有Vertical Motion垂直运动、Horizontal and Vertical水平和垂直运动、Horizontal、Vertical and Angular Motion水平、垂直带角度的运动。如下图所示:- _1 {5 ?- @+ N2 _9 p6 B
    ! f+ {; @9 P* D. h. H
    图5 设定坐标系Mode类型

    - G4 g' p* z4 ^1 S* M! W从图5中看到,最后一个水平、垂直带角度运动的类型是灰色不可用的。这是因为前面的找边缘点的步骤只找到了点,而并没有方向,因此坐标系没有相应的角度方向参考,因此带角度的运动是不可用的。在本节后面再来看一个带角度的例子。
    ) D7 X; @( N5 [+ p$ EOrigin原点用于指定需要设定的坐标系的原点(0FF0C0)。上面图中可以使用的是Edge Detector函数找到的1-Edge Detector 1-Edge 1边缘点。原点中的名称有两个“-”横线隔开三段,命名的规则是这样的:最前面的数字是可以使用的坐标系原点编号,中间一部分是某个可以找到点的函数名,后面是此函数找到的具体的点名称与编号。不同的函数可以找到的点是不一样的,而且相同的函数针对不同的图像使用不同的设置方法时,找到的点位置、数量也是不一样的。因此在建立坐标系时,需要对点有一个比较好的把握。理论上比较好的点是那种具有唯一性,且容易寻找,不容易找错的点。因此一旦这个原点找错了,那么坐标系的位置与方向就不正确了,那么如果后面有ROI需要跟随这个坐标系运动,那么ROI就不会在想的特征上面从而造成测量的不正确。
    ( h* u0 t" e; w  E: L! F6 n$ CX-Axis Angle X轴角度用于指定设定坐标系的X轴角度。在上面的例子中,因为没有可以使用的角度特征,因此X轴角度选项里没有相应的选项,是灰色禁用的。如果有相应的角度选项,那么与Origin原点中方式一样,角度也是选择具体的特征测量得到的角度,而不是由用户指定的角度。
    ! z( C; ~8 ?0 A" G1 L在这里我们选择水平和垂直运动模式,点击OK后确定,即完成了坐标系设定,如下图所示:' \+ X7 a2 V' |- T
    ! g1 y: a4 h9 J9 R$ i1 K
    图6 设定坐标系例子
      ]# ]5 K8 U; }8 Z+ Y! k
    下面在上面的例子基础上再加添加一个查找直边的函数,这个就可以测量得到直线的两个端点以及直线的角度。然后再利用这些点与角度再建立一个坐标系。
    * B  {3 H% M7 w/ A4 ?. Y+ s5 U
    + P$ z* C0 o5 o9 X$ Y- b  t6 a
    图7 Find Straight Edge Setup查找直边/ n  @9 F: F. Z6 T$ H. b. z2 J

    4 `- g' K/ w9 }图8 设定坐标系-水平、垂直带角度运动6 n' x) a, d3 w# Q' j
    7 j: q- L7 Z, O! i0 ^9 t) l; i
    图9 设定坐标系详情
      w' h$ N4 h( A1 t7 R+ X% _! B& d
    图7中,使用查找直边函数找到一条直边。图8中,利用找到的直边的第一点为新坐标系的原点,利用找到的直边角度为X轴角度,设定水平、垂直带夹角运动的坐标系。图9是建立的坐标系的详情。从中可以看到,设定的坐标系有一个绿色的框包围了一个小红方框,这个是原点的位置,两条红色的带箭头的线分别是新设定的坐标系的X、Y轴。其中有一条线的箭头前面还有一个小红点,这条线是X轴,另外一条则为Y轴。在坐标系上还有一条绿色的字符表示当前的坐标系名称。7 v6 d3 i- v% Q1 W5 B0 \
    这里有一些细节是大家在后面的学习应用中需要注意的。图8中的找直边函数找到的直接的两个端点,第一点与第二点的位置与顺序是不确定的。根据ROI的方向、找直边的方向等不同,找到的直边的端点是不一样的,这个不一样,即体现在坐标的细小偏差上,也体现在第一点、第二点的排序上;例如图8中使用的ROI是水平向右的,耙子也是从左到右的,这样找到的第一点在上面,第二点在下面(从图8中的Y坐标点可以看到)。而如果将ROI转90度,设置成从上到下的,再把耙子设置从底到顶的,那么找到的两个点第一个点是在下面的,第二个点在上面。而且点的坐标也是会有变化的。如下图所示:6 R* }6 y/ F' y# ~5 O2 H

    4 W& r8 P. F. g+ u图10 找直边ROI方向不一样时找到的直边点不一样+ d  W/ Z+ h5 S. g$ Q
    - k7 z# }4 O0 z/ s# H- R2 X! E2 J
    图11 当原点不同时,坐标系会随着原点变化

    ) Y8 F4 x% q0 A0 a2 q图11中仍然使用原来的坐标系设置,即使用直查找直边的第一点作为原点,这建立的坐标系就在直边的下方了。  T6 W: P% k) c3 ]1 Y  [
    设定坐标系函数,在实际测量中是非常有用的,特别是一些生产线上或大视野中的目标的定位测量上,如尺寸测量、条码识别、OCR、粒子分析等函数,当目标特征在视野的位置不确定时,这里就需要建立参考坐标系,使测量目标的ROI跟随参考点运动。而参考点的选择,通常是需要保证其在视野中一定存在且清晰容易识别,不会造成不确定性的特征,一般使用匹配等方法进行参考特征的提取,再建立参考坐标系,然后再做目标特征的测量。如下面所示的例子,基于图8所示的坐标系,再进行100元字符中的0字进行圆检测。这样当钞票在视野中位置发生变化时,也可以测量得到目标特征。当然这里选择的参考坐标系的原点特征并不很理想,因为其会变化,因此用户可以考虑使用如小数字的可变色的100字符,也可以使用钱币阴阳符号,或者是国徽之类的。这样就坐标系就相对稳定许多。9 [4 U+ z8 m; k" M% g: t
    ' ?) c0 R3 o  ]) f" a4 I
    图12 基于参考坐标系的目标特征测量
    ; }8 }0 A' k1 ~+ ]7 X
    本节实例下载:
    迅雷快盘:
    ; Q  u* X+ h; H, k2 z/ h
    游客,如果您要查看本帖隐藏内容请回复

    5 ]+ I) @& X4 B; O0 m+ q  x! s2 X5 G: d) K8 c5 B  D
    百度云盘0 v$ Z/ Q  j: q. D
    游客,如果您要查看本帖隐藏内容请回复

    7 w, B; J1 f2 F, [; \. l5 _' Q" x
    4 n4 u; P8 T8 g华为网盘:
    : ?/ z) H* i$ S+ H/ j; P
    游客,如果您要查看本帖隐藏内容请回复

    $ m2 H9 A7 V* u
    回复

    使用道具 举报

    主题

    好友

    5412

    积分

    白金会员

  • TA的每日心情
    开心
    2015-3-28 10:46
  • 签到天数: 49 天

    [LV.5]50FPS

    发表于 2013-2-23 20:54:15 |显示全部楼层
    回复

    使用道具 举报

    主题

    好友

    112

    积分

    注册会员

    该用户从未签到

    发表于 2013-2-27 10:24:59 |显示全部楼层
    回复

    使用道具 举报

    主题

    好友

    2477

    积分

    金牌会员

  • TA的每日心情
    奋斗
    2015-11-1 13:11
  • 签到天数: 3 天

    [LV.2]20FPS

    发表于 2013-3-18 21:24:14 |显示全部楼层
    回复

    使用道具 举报

    主题

    好友

    533

    积分

    高级会员

  • TA的每日心情
    无聊
    2017-2-20 08:03
  • 签到天数: 7 天

    [LV.3]30FPS

    发表于 2013-3-19 20:01:46 |显示全部楼层
    回复

    使用道具 举报

    主题

    好友

    484

    积分

    中级会员

    该用户从未签到

    发表于 2013-5-1 21:04:09 |显示全部楼层
    回复

    使用道具 举报

    主题

    好友

    484

    积分

    中级会员

    该用户从未签到

    发表于 2013-5-1 21:05:02 |显示全部楼层
    回复

    使用道具 举报

    主题

    好友

    270

    积分

    中级会员

    该用户从未签到

    发表于 2013-5-6 15:24:27 |显示全部楼层
    回复

    使用道具 举报

    主题

    好友

    220

    积分

    中级会员

    该用户从未签到

    发表于 2013-5-11 23:19:12 |显示全部楼层
    回复

    使用道具 举报

    主题

    好友

    162

    积分

    注册会员

    该用户从未签到

    发表于 2013-7-12 18:03:10 |显示全部楼层
    回复

    使用道具 举报

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

    本版积分规则

    淘宝机器视觉商城

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

    GMT+8, 2018-2-26 11:27

    Powered by shixinhua.com X3.2 Licensed

    © 2012-2018 VISIONHOME.CN 浏览量:

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