石鑫华视觉 发表于 2018-9-13 09:52:17

LabVIEW VISION利用鼠标滚轮缩放图像

本帖最后由 石鑫华视觉 于 2018-9-13 09:53 编辑

LabVIEW VISION利用鼠标滚轮缩放图像在最新的2018版的视觉生成器VBAI和视觉助手VA中,可以通过鼠标滚轮来缩放图像,而不必再去选择缩放工具鼠标按键来放大或缩小图像了,确实要方便许多。但是这个功能在NI的MAX和LabVIEW的Image控件中,并没有包含。这节内容,我们将介绍如何在LabVIEW中实现鼠标滚轮缩放图像。
这里需要用到的是Image控件的ZOOM属性来缩放,然后使用Image控件的鼠标滚轮事件来响应滚轮值改变。在鼠标滚轮事件中,有一个Delta输出,表示了滚轮移动的距离,滚轮如果是前滚,则是大于等于1的值,滚的越多,则值越大。而后滚,则是小于等于-1的值。利用这个值,就可以控制Image控件中的图像是放大还是缩小,例如前滚大于等于1时,放大图像;后滚小于等于-1时,则缩小图像。
Image控件放大图像Image控件缩小图像ImageGray控件放大(另一个图像显示控件)这里用的采集图像函数,是NI中的一个示例改造而来的。也可以从机器视觉论坛visionbbs.com中查找相关的采集图像示例。本例子中,使用超时事件来采集图像,如果有鼠标滚轮事件,则响应滚轮事件。同是根据是前滚还是后滚来决定是放大还是缩小图像。采集图像过程放大和缩小使用了放大图像算子和缩小图像算子两个小VI。这里主要是根据旧的Zoom系数来计算新的Zoom系数。可以参考NI VISION图像处理宝典(第一版、第二版、视频版都有)。需要注意的是,如果VI前面板有滚动条,则使用鼠标滚轮时,面板的滚动条也会滚动。所以实际应用中,应该禁用滚动条。另外就是滚轮事件,不要影响图像的正常采集过程。像本例子中的超时方式,都是不太合理的应用。因为在响应滚轮事件时,是不会采集图像的。一般会用在生产者消费者环境中,如果在连续采集或自动运行过程时,可以在主面板的事件响应中添加滚轮事件响应,而不生成消费者,这样就可以不影响采集图像过程。
演示效果视频VI例子下载,LabVIEW2017SP1版本或以上

萌特卡洛 发表于 2020-8-23 20:16:27

学习中........................................................

15236472574 发表于 2020-11-5 16:48:10

支持支持支持支持支持支持支持支持支持支持支持支持支持

ixuyay 发表于 2021-5-21 16:30:18

不能 以当前 点 为中心点进行缩放,,:(

zion 发表于 2021-6-29 13:47:49

不错不错,非常实用

zangkebin0519 发表于 2021-7-13 21:43:36


支持支持支持支持支持支持支持支持支持支持支持支持支持

zangkebin0519 发表于 2021-7-13 21:43:53


支持支持支持支持支持支持支持支持支持支持支持支持支持
页: [1]
查看完整版本: LabVIEW VISION利用鼠标滚轮缩放图像

LabVIEW HALCON图像处理入门教程(第二版)
石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23