石鑫华视觉 手机微信QQ:13450001061 / 18038383457

图像编程

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

文章来源:石鑫华视觉网时间:2022-09-06 15:11:45 点击:338

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

在最新的2018版的视觉生成器和视觉助手中,可以通过鼠标滚轮来缩放图像,而不必再去选择缩放工具鼠标按键来放大或缩小图像了,确实要方便许多。但是这个功能在NI的MAX和LabVIEW的Image控件中,并没有包含。这节内容,我们将介绍如何在LabVIEW中实现鼠标滚轮缩放图像。 

这里需要用到的是Image控件的ZOOM属性来缩放,然后使用Image控件的鼠标滚轮事件来响应滚轮值改变。在鼠标滚轮事件中,有一个Delta输出,表示了滚轮移动的距离,滚轮如果是前滚,则是大于等于1的值,滚的越多,则值越大。而后滚,则是小于等于-1的值。利用这个值,就可以控制Image控件中的图像是放大还是缩小,例如前滚大于等于1时,放大图像;后滚小于等于-1时,则缩小图像。 

image.png

Image控件放大图像

image.png

Image控件缩小图像

image.png

Image Gray控件放大(另一个图像显示控件)

这里用的采集图像函数,是NI中的一个示例改造而来的。也可以从机器视觉论坛VISIONBBS.COM中查找相关的采集图像示例。本例子中,使用超时事件来采集图像,如果有鼠标滚轮事件,则响应滚轮事件。同是根据是前滚还是后滚来决定是放大还是缩小图像。

image.png

采集图像过程

放大和缩小使用了放大图像算子和缩小图像算子两个小VI。这里主要是根据旧的Zoom系数来计算新的Zoom系数。可以参考NI VISION图像处理宝典(第一版、第二版、视频版都有)。

需要注意的是,如果VI前面板有滚动条,则使用鼠标滚轮时,面板的滚动条也会滚动。所以实际应用 中,应该禁用滚动条。另外就是滚轮事件,不要影响图像的正常采集过程。像本例子中的超时方式,都是不太合理的应用。因为在响应滚轮事件时,是不会采集图像的。一般会用在生产者消费者环境中,如果在连续采集或自动运行过程时,可以在主面板的事件响应中添加滚轮事件响应,而不生成消费者,这样就可以不影响采集图像过程。

首页
84162741QQ
联系