matlab+opencv混编处理高光谱数据

本文介绍了如何在Matlab中调用OpenCV的C++代码,实现高效处理高光谱数据。首先,需将OpenCV库添加到环境变量中,接着在Matlab中设置编译器为Visual Studio 2010。然后,通过编译.mexw64文件创建可由Matlab调用的函数,这样既能利用Matlab的数据读写和绘图功能,又能借助OpenCV的高性能C++代码。最后,定义接口函数完成两者间的交互。
摘要由CSDN通过智能技术生成

之前介绍了如何在c++里调用matlab库函数读取.mat文件,这里介绍如何将完整的c++文件模块化为matlab可以调用的函数。
这个的好处是可以利用matlab方便的数据读写功能以及后续的绘图功能,同时主体部分调用opencv 高效的c++代码。
我用的是matlab2016+visual stdio 2010 + opencv 2.4.9。因为opencv 2.4.9之后的版本不支持visual stdio 2010,请下载vs2015。

1.把opencv库增加到## 标题 ##环境变量

把opencv2.4.9解压到F:\1(自己设置)文件夹,在环境变量里加入如下语句
F:\1\opencv\build\x64\vc10\bin;
其中vc10与vs2010相对应,其它版本请选择相应版本。

2.mex - setup

在matlab里输入 mex - setup然后点击选择mex -setup C++ 把vs2010设置为编译器。
这里写图片描述

3.编译.mexw64文件

.mexw64文件就相当于matlab函数,输入和输出都是matlab数据类型,但是运行的代码是自己写的c++代码,效率更高。

clear all;    
is_64bit = strcmp(computer,'MACI64') || strcmp(computer,'GLNXA64') || strcmp(computer,'PCWIN64');  
out_dir='./';  
IE:\Matopencv\build\include -IE:\Matopencv\build\include\opencv -IE:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值