LabVIEW中调整图像大小

简介: LabVIEW中调整图像大小

LabVIEW中调整图像大小


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


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


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


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


调整图像大小以适合图像控件的大小:


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


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

08e4ebd7a373576cb256a99222ad6300.png

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

调整图像控件的大小以适应图像:

或者,可以通过编程的方式,使用二维图像控件的绘图区域大小( Draw Area Size)属性节点调整图像控件的大小,使其可以完整显示原始分辨率的图像。

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

编辑切换为居中


添加图片注释,不超过 140 字(可选)


将已调整尺寸的图像保存到文件:


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


但是,此方法可能会导致严重的图像失真。调整图像尺寸,推荐使用LabVIEW视觉开发模块(LabVIEW Vision DevelopmentModule)来实现。有关LabVIEW视觉开发模块(LabVIEWVision 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»Graphicsand Sound»Graphics Formats) 面板中。


将图像转换成像素(Pixmap)后,可以将其视为数组,并且使用数组操作来改变图片信息。此时,需要自己编写算法来操作Pixmap以调整图像大小。请注意,在将图像增大时,不会增加新的图像信息,但是在将图片缩小时,不可避免的会丢失一些数据点,因此需要设计合理的算法,保存最有用的像素点。


例如,平均相邻像素颜色可能导致图像边缘模糊,使得边缘检测更加困难。重新采样图像仍然是一个活跃的研究领域,需要在效率和准确性之间进行权衡。为了获得可预测的结果, Vision Development Module提供了用于调整图像大小或重新采样的工具。


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


AdditionalInformation


第三方软件:


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


更详细的内容,参加如下附件的介绍。


LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序


上文中提到的例子和资料,均在word中的附件里,可点击下载。进一步了解,可联系们。

相关文章
|
5天前
|
编解码 人工智能 测试技术
无需训练,这个新方法实现了生成图像尺寸、分辨率自由
【4月更文挑战第25天】研究人员提出FouriScale方法,解决了扩散模型在生成高分辨率图像时的结构失真问题。通过膨胀卷积和低通滤波,该方法实现不同分辨率下图像的结构和尺度一致性,无需重新训练模型。实验显示FouriScale在保持图像真实性和完整性的同时,能生成任意尺寸的高质量图像,尤其在处理高宽比图像时表现出色。尽管在极高分辨率生成上仍有局限,但为超高清图像合成技术提供了新思路。[链接: https://arxiv.org/abs/2403.12963]
33 5
|
8月前
|
机器学习/深度学习 传感器 算法
【交互式阈值二进制图像】采用彩色或单色图像通过交互/手动方式阈值单色图像或彩色图像的单个色带研究(Matlab代码实现)
【交互式阈值二进制图像】采用彩色或单色图像通过交互/手动方式阈值单色图像或彩色图像的单个色带研究(Matlab代码实现)
|
5天前
LabVIEW更改图像特定部分的颜色
LabVIEW更改图像特定部分的颜色
17 4
|
5天前
|
算法 计算机视觉
LabVIEW开发3D颈动脉图像边缘检测
LabVIEW开发3D颈动脉图像边缘检测
|
5天前
|
编解码 Windows
LabVIEW程序框图进行缩放
LabVIEW程序框图进行缩放
13 1
|
9月前
|
机器学习/深度学习 人工智能 算法
LabVIEW深度相机与三维定位实战(三)
立体匹配与ACV算法理论知识
76 0
LabVIEW深度相机与三维定位实战(三)
|
5天前
[Qt5] 鼠标中心为基准缩放图像(halcon实现)
[Qt5] 鼠标中心为基准缩放图像(halcon实现)
65 0
|
9月前
|
机器学习/深度学习 人工智能 算法
LabVIEW深度相机与三维定位实战(四)
立体匹配与ACV算法在LabVIEW中的调用
54 0
LabVIEW深度相机与三维定位实战(四)
|
9月前
|
机器学习/深度学习 传感器 编解码
LabVIEW实现深度相机与三维定位实战(二)
LabVIEW实现深度相机与三维定位实战(二)
133 0
LabVIEW实现深度相机与三维定位实战(二)
|
9月前
|
机器学习/深度学习 传感器 编解码
LabVIEW实现深度相机与三维定位实战(一)
LabVIEW实现深度相机与三维定位实战(一)
186 0
LabVIEW实现深度相机与三维定位实战(一)