如何在LabVIEW中调整图像大小?

更新 Jan 17, 2019

适用于

Software

  • LabVIEW Base
  • LabVIEW Full
  • Vision Development Module

问题详述

我需要调整LabVIEW前面板上图像的大小。可以如何操作实现?

解决方案

基础版、完全版和专业版的LabVIEW开发环境本身并不包含用以图像处理的内置VI。

但是可以通过调用二维图像控件的缩放因子(Zoom Factor)属性节点可用于调整图像大小。例如,将缩放系数设置为0.5,图像将以原始分辨率一半的大小显示。另外,也可以使用二维图像控件的 绘图区域大小(Draw Area Size)属性节点,调整图像控件的大小使其适合图像的尺寸。

此外, 视觉开发模块还为多种摄像头提供图像处理。

调整图像大小以适合图像控件的大小:
为了找出可以使用的最大缩放系数,您需要将图片控件的宽度和高度分别除以原始图片的宽度和高度。这两个商中的最小值是可以保证图像完整显示的最大的缩放因子。

下图显示了LabVIEW种实现此过程的前面板和程序框图。





调整图像控件的大小以适应图像:
或者,您可以通过编程的方式,使用二维图像控件的绘图区域大小( Draw Area Size)属性节点调整图像控件的大小,使其可以完整显示原始分辨率的图像。
下图显示了此过程的前面板和程序框图。





将已调整尺寸的图像保存到文件:
图像控件中的名为Get Image的调用节点可以返回图像的原始数据。在调整缩放系数得到了重置尺寸的图像后,您可以使用此调用节点,将新图像的数据通过 写入JPG文件(Write JPG File),写入PNG文件(Write PNG File),或者写入BMP文件(Write BMP File) 等VI分别写入不同文件格式。

但是,此方法可能会导致严重的图像失真。调整图像尺寸,推荐使用LabVIEW视觉开发模块(LabVIEW Vision Development Module)来实现。有关LabVIEW视觉开发模块(LabVIEW Vision Development Module)的更多信息,请参考下一章节的链接。

手动调整图像大小或对图像重新采样(高级):
您也可以自己编写算法来调整图像大小,但这可能非常困难。在LabVIEW的完全版和专业版中,您可以导入图片并将其转换为像素(Pixmap)。

像素(Pixmap)是二维数值型数组,与图像的各个像素的颜色值相对应。可以通过使用VI:读取JPG文件(Read JPG File),读取PNG文件(Read PNG File),或者读取BMP文件(Read BMP File),对导入LabVIEW的图像进行相应格式的文件读取来完成这种转换。

一旦图片被读入到LabVIEW中,你可以使用平化像素图(Unflatten Pixmap VI)将图片信息转化为像素(Pixmap)。这个VI仅支持LabVIEW专业版和完全版,位于编程»图形与声音»图形格式(Functions»Graphics and Sound»Graphics Formats) 面板中。

将图像转换成像素(Pixmap)后,可以将其视为数组,并且使用数组操作来改变图片信息。此时,您需要自己编写算法来操作Pixmap以调整图像大小。请注意,在将图像增大时,不会增加新的图像信息,但是在将图片缩小时,不可避免的会丢失一些数据点,因此您需要设计合理的算法,保存最有用的像素点。
例如,平均相邻像素颜色可能导致图像边缘模糊,使得边缘检测更加困难。重新采样图像仍然是一个活跃的研究领域,需要在效率和准确性之间进行权衡。为了获得可预测的结果, Vision Development Module提供了用于调整图像大小或重新采样的工具。

然后,您可以使用平化像素图(Unflatten Pixmap VI)将像素Pixmap转换成图像数据,然后使用写入JPG文件(Write JPG File),写入PNG文件(Write PNG File),或者写入BMP文件(Write BMP File)将数据保存到文件中。

相关信息

第三方软件:
此外,您始终可以使用第三方图像软件(如Adobe Photoshop或ACDSee)进行图像处理。一些类似的软件也许提供了ActiveX的接口,这样就可以通过LabVIEW编程对其进行控制。

本文是否有帮助?

无帮助