matlab结合halcon库混合编程

本文详细介绍了如何在MATLAB环境中集成Halcon视觉库,包括系统配置、编译mex文件的过程及注意事项,适用于不同位数的MATLAB版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统配置,MATLAB,halcon,VS2013

  • 如果MATLAB是64位的,编译出来的是mexw64的文件,那halcon就只能安装64bit位的。
  • 如果MATLAB是32位的,编译出来的是mexw32的文件,halcon就安装32bit的。
  • halcon的系统环境变量要设置好,不然会发生报错:不是有效的Win32 应用程序的错误,因此如果halcon是64bit的,就修改成如图:
    halcon系统环境变量
  • 修改系统路径之后,要使得系统路径生效,重启电脑和MATLAB

开始编译

  • 编写好cpp文件,先用halcon写好程序,再导出。
#include "mex.h"  
#include<iostream>
#include"cpp\HalconCpp.h"
#include"halconcpp\HalconCpp.h"
using namespace std;
using namespace HalconCpp;
void action()
{
  HObject  ho_Image;
  ReadImage(&ho_Image, "F:/halcon_code/luffy.png");
    cout << "nihao"<<endl;
}
//下面相当于普通cpp的main函数,如果想深入研究C++和MATLAB的,可以去Google一下资料,很多
void mexFunction (int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])  
{  
  cout << "ccc"<<endl;
  action();
}  
  • mex编译配置
%我是直接写在一个m文件,直接调用的
% 第一行是包括halcon的头文件路径
ipath = ['-I' fullfile('E:','Halcon','include') ];
% 第二行是包括halcon的要用到的库
lapacklib = fullfile('E:','Halcon','lib','x64-win64','halconcpp.lib');
% 第三行是就是mex编译命令
mex('-v','-largeArrayDims',ipath,'ssss.cpp',lapacklib)

编译成功

  • 如何调用:是直接输入cpp文件的名称
    这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值