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

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

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

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

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

    [LV.10]100FPS

    发表于 2018-9-13 09:52:17 | 显示全部楼层 |阅读模式
    本帖最后由 石鑫华视觉 于 2018-9-13 09:53 编辑 % }1 S! c2 W4 O! x& x) k) V

    9 R6 f' f2 ?1 d- H) ~# Y* Z- `
    LabVIEW VISION利用鼠标滚轮缩放图像
    在最新的2018版的视觉生成器VBAI和视觉助手VA中,可以通过鼠标滚轮来缩放图像,而不必再去选择缩放工具鼠标按键来放大或缩小图像了,确实要方便许多。但是这个功能在NIMAXLabVIEWImage控件中,并没有包含。这节内容,我们将介绍如何在LabVIEW中实现鼠标滚轮缩放图像。

    : q8 K2 z; P0 B/ e2 L
    这里需要用到的是Image控件的ZOOM属性来缩放,然后使用Image控件的鼠标滚轮事件来响应滚轮值改变。在鼠标滚轮事件中,有一个Delta输出,表示了滚轮移动的距离,滚轮如果是前滚,则是大于等于1的值,滚的越多,则值越大。而后滚,则是小于等于-1的值。利用这个值,就可以控制Image控件中的图像是放大还是缩小,例如前滚大于等于1时,放大图像;后滚小于等于-1时,则缩小图像。
    7 M0 K! q* u+ r( K
    Image控件放大图像
    Image控件缩小图像
    ImageGray控件放大(另一个图像显示控件)
    这里用的采集图像函数,是NI中的一个示例改造而来的。也可以从机器视觉论坛VISIONBBS.COM中查找相关的采集图像示例。本例子中,使用超时事件来采集图像,如果有鼠标滚轮事件,则响应滚轮事件。同是根据是前滚还是后滚来决定是放大还是缩小图像。
    采集图像过程
    放大和缩小使用了放大图像算子和缩小图像算子两个小VI。这里主要是根据旧的Zoom系数来计算新的Zoom系数。可以参考NI VISION图像处理宝典(第一版、第二版、视频版都有)。
    需要注意的是,如果VI前面板有滚动条,则使用鼠标滚轮时,面板的滚动条也会滚动。所以实际应用中,应该禁用滚动条。另外就是滚轮事件,不要影响图像的正常采集过程。像本例子中的超时方式,都是不太合理的应用。因为在响应滚轮事件时,是不会采集图像的。一般会用在生产者消费者环境中,如果在连续采集或自动运行过程时,可以在主面板的事件响应中添加滚轮事件响应,而不生成消费者,这样就可以不影响采集图像过程。
    / g4 C* Z: f/ c3 N" v7 g2 ^. o" \6 }& U
    演示效果视频
    VI例子下载,LabVIEW2017SP1版本或以上
    1 K" h/ `2 K: e; O, i# u7 N* f# Q" P

    本帖子中包含更多资源

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

    x
    回复

    使用道具 举报

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

    本版积分规则

    淘宝机器视觉商城

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

    GMT+8, 2018-12-19 15:08

    Powered by shixinhua.com X3.4

    © 2009-2018 VISIONBBS.COM 浏览量:

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