注册登陆后可查看附件和大图,以及购买相关内容
您需要 登录 才可以下载或查看,没有账号?注册会员
x
本帖最后由 石鑫华视觉 于 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控件放大图像
Image控件缩小图像
Image控件缩小图像
Image Gray控件放大(另一个图像显示控件)
ImageGray控件放大(另一个图像显示控件) 这里用的采集图像函数,是NI中的一个示例改造而来的。也可以从机器视觉论坛visionbbs.com中查找相关的采集图像示例。本例子中,使用超时事件来采集图像,如果有鼠标滚轮事件,则响应滚轮事件。同是根据是前滚还是后滚来决定是放大还是缩小图像。
采集图像过程
采集图像过程 放大和缩小使用了放大图像算子和缩小图像算子两个小VI。这里主要是根据旧的Zoom系数来计算新的Zoom系数。可以参考NI VISION图像处理宝典(第一版、第二版、视频版都有)。 需要注意的是,如果VI前面板有滚动条,则使用鼠标滚轮时,面板的滚动条也会滚动。所以实际应用中,应该禁用滚动条。另外就是滚轮事件,不要影响图像的正常采集过程。像本例子中的超时方式,都是不太合理的应用。因为在响应滚轮事件时,是不会采集图像的。一般会用在生产者消费者环境中,如果在连续采集或自动运行过程时,可以在主面板的事件响应中添加滚轮事件响应,而不生成消费者,这样就可以不影响采集图像过程。
演示效果视频 VI例子下载,LabVIEW2017SP1版本或以上
|