视觉论坛VISIONBBS微信公众号:石鑫华视觉网

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

[原创] LabVIEW VISION利用鼠标滚轮缩放图像

[复制链接]
  • TA的每日心情

    7 小时前
  • 签到天数: 1379 天

    [LV.10]100FPS

    发表于 2018-9-13 09:52:17 | 显示全部楼层 |阅读模式
    本帖最后由 石鑫华视觉 于 2018-9-13 09:53 编辑
    4 c4 e; L( D/ o1 Z5 h- b- K  X6 `1 j& Y. ~9 G; O! b0 n
    LabVIEW VISION利用鼠标滚轮缩放图像
    在最新的2018版的视觉生成器VBAI和视觉助手VA中,可以通过鼠标滚轮来缩放图像,而不必再去选择缩放工具鼠标按键来放大或缩小图像了,确实要方便许多。但是这个功能在NIMAXLabVIEWImage控件中,并没有包含。这节内容,我们将介绍如何在LabVIEW中实现鼠标滚轮缩放图像。
    + m; {! B4 [- X# ~+ y
    这里需要用到的是Image控件的ZOOM属性来缩放,然后使用Image控件的鼠标滚轮事件来响应滚轮值改变。在鼠标滚轮事件中,有一个Delta输出,表示了滚轮移动的距离,滚轮如果是前滚,则是大于等于1的值,滚的越多,则值越大。而后滚,则是小于等于-1的值。利用这个值,就可以控制Image控件中的图像是放大还是缩小,例如前滚大于等于1时,放大图像;后滚小于等于-1时,则缩小图像。

    $ b8 S  X6 z  r; F
    Image控件放大图像
    Image控件缩小图像
    ImageGray控件放大(另一个图像显示控件)
    这里用的采集图像函数,是NI中的一个示例改造而来的。也可以从机器视觉论坛VISIONBBS.COM中查找相关的采集图像示例。本例子中,使用超时事件来采集图像,如果有鼠标滚轮事件,则响应滚轮事件。同是根据是前滚还是后滚来决定是放大还是缩小图像。
    采集图像过程
    放大和缩小使用了放大图像算子和缩小图像算子两个小VI。这里主要是根据旧的Zoom系数来计算新的Zoom系数。可以参考NI VISION图像处理宝典(第一版、第二版、视频版都有)。
    需要注意的是,如果VI前面板有滚动条,则使用鼠标滚轮时,面板的滚动条也会滚动。所以实际应用中,应该禁用滚动条。另外就是滚轮事件,不要影响图像的正常采集过程。像本例子中的超时方式,都是不太合理的应用。因为在响应滚轮事件时,是不会采集图像的。一般会用在生产者消费者环境中,如果在连续采集或自动运行过程时,可以在主面板的事件响应中添加滚轮事件响应,而不生成消费者,这样就可以不影响采集图像过程。

    + ?' I; K9 ~; w4 m/ B5 P1 }
    演示效果视频
    VI例子下载,LabVIEW2017SP1版本或以上
    $ w2 G4 Y- c- e; |4 N

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?注册会员

    x
    回复

    使用道具 举报

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

    本版积分规则

    淘宝机器视觉商城

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

    GMT+8, 2018-12-19 19:53

    Powered by shixinhua.com X3.4

    © 2009-2018 VISIONBBS.COM 浏览量:

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