文章目录

  • 0. 补充内容:SIMULINK代码生成为DLL时封装多个函数
  • 1. 测试范例
    • 1.1 方法1:直接输入二维矩阵(推荐方案)
    • 1.2 方法2:一维向量输入后转换二维矩阵(特殊情况)
  • 2. 实操
    • 2.1 labview修改图像大小与分离图像RGB(推荐,方便部署FPGA)
    • 2.1 调用matlab生成的DLL处理图像
  • 3. 存在的问题

0. 补充内容:SIMULINK代码生成为DLL时封装多个函数

见博文
https://blog.csdn.net/huangzhai429718/article/details/101677380

1. 测试范例

以单通道色彩图像m*n矩阵合并,可以得到matlab所需的m x n x 3的图像矩阵
使用代码生成,function输入为3个单通道的二维m x n矩阵,输出也为二维矩阵

1.1 方法1:直接输入二维矩阵(推荐方案)

在matlab中创建如下例子程序

function y = f(x)y = x.*3;end

进行代码生成(具体操作步骤见本人另外一篇博文),设置如下:

在labview 内设置如下:
变量x:数组,维数2,4位单精度,固定大小
变量y:数组,维数2,4位单精度

1.2 方法2:一维向量输入后转换二维矩阵(特殊情况)

2. 实操

2.1 labview修改图像大小与分离图像RGB(推荐,方便部署FPGA)

如图

2.1 调用matlab生成的DLL处理图像

此处以R,G,B合成图像,再拆分为R,G,B三通道为例

function [ROut, GOut, BOut] = restructuring(RIn, GIn, BIn)
[hang, lie] = size(RIn);
image = uint8(zeros(hang,lie,3));
image(:,:,1) = RIn;
image(:,:,2) = GIn;
image(:,:,3) = BIn;ROut = image(:,:,1);
GOut = image(:,:,2);
BOut = image(:,:,3);
end

3. 存在的问题

  1. matlab代码生成时,若选择输入矩阵大小为:inf x :inf,在vs2015内编译会报错,暂未找到解决方法,应该是缺少某.lib或者某.h文件

如下设置,可解决VS编译报错的问题,但labview调用dll时会卡死,(1)可能是labview设置问题,导致输入为完全定义;(2)可能是labview不支持C99标准,待查

针对:inf x :inf矩阵无法被labview正确调用的问题思考:例如在matlab中定义输入为100 x 100矩阵,但labview中输入小于100 x 100的矩阵可以被读取,且读取规则按照向量引索进行,那么在matlab内定义输入大小为1 x n的固定长度的一维数组,随后将一维数组处理为所需矩阵,是否可以解决无法输入变大小数组的问题?

未完待续……

【更新v1.1】matlab/simulink代码生成与labview调用(DLL方式)相关推荐

  1. LabVIEW调用DLL动态链接库

    LabVIEW调用DLL动态链接库 有些数据运算比如多个数组之间的处理.雨流计数法.卡尔曼滤波使用labview这样的图形编程语言实在过于麻烦,实现不难但有一定的逻辑复杂度,倒不如用C++或者matl ...

  2. labview调用DLL

    <link href="https://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON"> &l ...

  3. LabVIEW调用DLL时出现异常0xc0000005代码

    LabVIEW调用DLL时出现异常0xc0000005代码 当调用本地DLL时,LabVIEW崩溃,并且收到一条错误消息,说明发生了内存访问冲突(异常代码:0xc0000005). 将LabVIEW版 ...

  4. Matlab/Simulink代码生成到dsp系列(一)基础配置

    0 引言 TI 公司 C2000 系列的 DSP 芯片主要面向数字控制.运动控制领域.在电机控制领域占有主导的地位.但是传统的代码开发方法周期较长,效率不高,有时可读性较差,难以修改.维护.随着工业技 ...

  5. 【更新中…】Matlab simulink建模与仿真

    本文为学习笔记,视频来源:https://www.bilibili.com/video/BV1L7411a7uL Matlab simulink建模与仿真 1 初始simulink 1.1 simul ...

  6. 移花接木,玩转CANoe的几种扩展接口应用(六)——Matlab/Simulink模型

    文章目录 前言 Matlab/Simulink模型 连接方法 配置方法 调用方法 分析和应用 总结 前言 见<移花接木,玩转CANoe的几种扩展接口应用(一)--便携式接口设备> 见< ...

  7. LabVIEW调用.so文件的方法

    LabVIEW调用.so文件的方法 (一)为什么需要用LabVIEW调用.so文件 (1.1)背景 (1.2)使用.so文件的优势 (1.3)调用.so文件示例 (二).so文件是什么 (三).so文 ...

  8. labview如何加载库_LabVIEW如何方便地调用DLL文件

    转自:http://bbs.elecfans.com/jishu_469502_1_1.html LabVIEW调用DLL文件 LabVIEW支持通过调用DLL文件的方式与其它编程语言混合使用.比如, ...

  9. labview对dll的调用

    LabVIEW调用DLL文件 LabVIEW支持通过调用DLL文件的方式与其它编程语言混合使用.比如,在实际的工程项目中,用户可以用C++语言实现软件的运算部分,并把这些功能构建在DLL文件中,然后再 ...

最新文章

  1. 【WPF】如何使用wpf实现屏幕最前端的绘图?
  2. 飞在空中的仓库再配合无人机送货,沃尔玛新专利厉害了
  3. MySQL 之视图、 触发器、事务、存储过程、内置函数、流程控制、索引(二)
  4. 在WebLogic Server上驯服JMX
  5. mysql安装被打断_MySQL安装未响应解决方法
  6. mysql适合什么阵列_如何选择最合适的RAID级别
  7. JS弹出DIV并使整个页面背景变暗功能的实现代码
  8. Windows Vista for Developers——第二部分:深入分析任务对话框
  9. python使用hash256加密验证字符串
  10. Build DCM4chee2
  11. MongoDB的Go语言驱动----mgo的使用指南
  12. Android系统权限和root权限
  13. Delayed Project(下)
  14. 2021年广西省安全员C证免费试题及广西省安全员C证考试试卷
  15. SAP 消息号 F5113 科目确认没有对交易. SKE (在会计科目表 XXXX 中)定义
  16. 斜率优化dp 的简单入门
  17. 4-8 简单阶乘计算 (10分)
  18. 【JS】两个等号和三个等号的区别
  19. 全国地理信息相关单位名单汇总2010
  20. phpstorm ftp连不上 flashfxp 显示 PORT 模式连接成功

热门文章

  1. 区块链技术的应用与发展
  2. Pulsar Geo Replication
  3. What is Fan-out
  4. Ztree选中节点获取
  5. Efficient Large-Scale Language Model Training on GPU ClustersUsing Megatron-LM
  6. Dave Hendricksen谈软件架构师的沟通原则
  7. 黑龙江职称英语计算机考试,黑龙江职称英语考试官方网站:黑龙江省人事考试网...
  8. Thinkphp5 使用Paypal 支付
  9. project2007 key
  10. Excel表中莫名其妙多出的很多空列或空行怎么去除?