LabVIEWwilliam hill官网
直播中

随意的

3年用户 88经验值
擅长:测量仪表
私信 关注
[问答]

labview图像畸变矫正问题

求助各位大佬,如下图,图像畸变矫正需要有个矫正模板template.png,怎么样可以把这个“template.png”的矫正信息全部变成常量放入到VI里面。后面vi就不需要调用这个地址的图片了。避免有些公司的电脑是有加密系统的,生成的exe程序,需要调用这个template.png调用不了。导致软件运行因调用不了而导致软件运行出错。
image.png

回帖(2)

神船大幅

2024-6-21 16:35:18
为了将template.png的矫正信息全部变成常量放入到LabVIEW VI中,你可以按照以下步骤操作:

1. 首先,打开template.png文件,使用图像处理软件(如Photoshop、GIMP等)将其转换为灰度图像。这样可以减少数据量,便于在LabVIEW中处理。

2. 将灰度图像导入到LabVIEW中。在LabVIEW中,使用以下步骤:
   a. 打开一个新的VI(Virtual Instrument)。
   b. 在Block Diagram中,添加一个"Open File" VI。
   c. 将"Open File" VI的"Path"输入连接到一个字符串常量,输入template.png的文件路径。
   d. 将"Open File" VI的"Open File"输出连接到一个"Read Image" VI的"File Number"输入。
   e. 将"Read Image" VI的"Image"输出连接到一个"Convert to Grayscale" VI的"Input"输入。

3. 将灰度图像数据存储为常量。在LabVIEW中,使用以下步骤:
   a. 将"Convert to Grayscale" VI的"Output"输出连接到一个"Create Array" VI的"Input"输入。
   b. 在"Create Array" VI的"Data Type"输入中选择"1D Array"。
   c. 将"Create Array" VI的"Array"输出连接到一个"Build Array" VI的"Input"输入。
   d. 将"Build Array" VI的"Array"输出连接到一个"To Spreadsheet" VI的"Data"输入。
   e. 将"To Spreadsheet" VI的"File Name"输入连接到一个字符串常量,输入一个文件名,如"template_data.csv"。
   f. 运行VI,将灰度图像数据导出到CSV文件。

4. 将CSV文件中的矫正信息导入到LabVIEW中。在LabVIEW中,使用以下步骤:
   a. 在Block Diagram中,添加一个"Read Spreadsheet" VI。
   b. 将"Read Spreadsheet" VI的"File Name"输入连接到一个字符串常量,输入导出的CSV文件的路径。
   c. 将"Read Spreadsheet" VI的"Data"输出连接到一个"To 1D Array" VI的"Input"输入。
   d. 将"To 1D Array" VI的"Array"输出连接到你的图像畸变矫正算法中。

5. 现在,你的VI已经包含了template.png的矫正信息,不再需要调用外部图片文件。这样即使在有加密系统的电脑上,生成的exe程序也可以正常运行。

请注意,这个方法可能会增加VI的体积,因为图像数据被存储为常量。但是,这样可以确保在不同环境下都能正常运行。
1 举报

随意的

2024-6-24 13:51:48

补充说明。简单使用了vision里面的图像转二维数组的vi。但是使用的过程中还是报错了。具体如下,请了解的大佬指点。
image.png

IMAQ Set Calibration Info这个报错提示“-1074396113”

图片转二维数组跟二维数组转图片的过程:
image.png

举报

更多回帖

发帖
×
20
完善资料,
赚取积分