【更新v1.1】matlab/simulink代码生成与labview调用(DLL方式)
文章目录
- 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. 存在的问题
- 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方式)相关推荐
- LabVIEW调用DLL动态链接库
LabVIEW调用DLL动态链接库 有些数据运算比如多个数组之间的处理.雨流计数法.卡尔曼滤波使用labview这样的图形编程语言实在过于麻烦,实现不难但有一定的逻辑复杂度,倒不如用C++或者matl ...
- labview调用DLL
<link href="https://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON"> &l ...
- LabVIEW调用DLL时出现异常0xc0000005代码
LabVIEW调用DLL时出现异常0xc0000005代码 当调用本地DLL时,LabVIEW崩溃,并且收到一条错误消息,说明发生了内存访问冲突(异常代码:0xc0000005). 将LabVIEW版 ...
- Matlab/Simulink代码生成到dsp系列(一)基础配置
0 引言 TI 公司 C2000 系列的 DSP 芯片主要面向数字控制.运动控制领域.在电机控制领域占有主导的地位.但是传统的代码开发方法周期较长,效率不高,有时可读性较差,难以修改.维护.随着工业技 ...
- 【更新中…】Matlab simulink建模与仿真
本文为学习笔记,视频来源:https://www.bilibili.com/video/BV1L7411a7uL Matlab simulink建模与仿真 1 初始simulink 1.1 simul ...
- 移花接木,玩转CANoe的几种扩展接口应用(六)——Matlab/Simulink模型
文章目录 前言 Matlab/Simulink模型 连接方法 配置方法 调用方法 分析和应用 总结 前言 见<移花接木,玩转CANoe的几种扩展接口应用(一)--便携式接口设备> 见< ...
- LabVIEW调用.so文件的方法
LabVIEW调用.so文件的方法 (一)为什么需要用LabVIEW调用.so文件 (1.1)背景 (1.2)使用.so文件的优势 (1.3)调用.so文件示例 (二).so文件是什么 (三).so文 ...
- labview如何加载库_LabVIEW如何方便地调用DLL文件
转自:http://bbs.elecfans.com/jishu_469502_1_1.html LabVIEW调用DLL文件 LabVIEW支持通过调用DLL文件的方式与其它编程语言混合使用.比如, ...
- labview对dll的调用
LabVIEW调用DLL文件 LabVIEW支持通过调用DLL文件的方式与其它编程语言混合使用.比如,在实际的工程项目中,用户可以用C++语言实现软件的运算部分,并把这些功能构建在DLL文件中,然后再 ...
最新文章
- 【WPF】如何使用wpf实现屏幕最前端的绘图?
- 飞在空中的仓库再配合无人机送货,沃尔玛新专利厉害了
- MySQL 之视图、 触发器、事务、存储过程、内置函数、流程控制、索引(二)
- 在WebLogic Server上驯服JMX
- mysql安装被打断_MySQL安装未响应解决方法
- mysql适合什么阵列_如何选择最合适的RAID级别
- JS弹出DIV并使整个页面背景变暗功能的实现代码
- Windows Vista for Developers——第二部分:深入分析任务对话框
- python使用hash256加密验证字符串
- Build DCM4chee2
- MongoDB的Go语言驱动----mgo的使用指南
- Android系统权限和root权限
- Delayed Project(下)
- 2021年广西省安全员C证免费试题及广西省安全员C证考试试卷
- SAP 消息号 F5113 科目确认没有对交易. SKE (在会计科目表 XXXX 中)定义
- 斜率优化dp 的简单入门
- 4-8 简单阶乘计算 (10分)
- 【JS】两个等号和三个等号的区别
- 全国地理信息相关单位名单汇总2010
- phpstorm ftp连不上 flashfxp 显示 PORT 模式连接成功
热门文章
- 区块链技术的应用与发展
- Pulsar Geo Replication
- What is Fan-out
- Ztree选中节点获取
- Efficient Large-Scale Language Model Training on GPU ClustersUsing Megatron-LM
- Dave Hendricksen谈软件架构师的沟通原则
- 黑龙江职称英语计算机考试,黑龙江职称英语考试官方网站:黑龙江省人事考试网...
- Thinkphp5 使用Paypal 支付
- project2007 key
- Excel表中莫名其妙多出的很多空列或空行怎么去除?