最近,我尝试用 Mex 将一些.cpp
文件编译成 .mexw64
文件。下面是详细的过程:
我把
mexResize.cpp
,MxArray.cpp
和MxArray.h
三个文件放到一个文件夹下面;接着,写了一个
make.m
(实现对mexResize.cpp
和MxArray.cpp
的编译),在matlab
运行之后得到一个mexResize.mexw64
:-
最后,写了一个
matlab
代码(test.m
)测试mexResize.mexw64
:function test
addpath('F:My_Desktoptracker_release2');%%%where mexResize is
img = imread('F:My_Desktopdataframehand_trainhand_train_0.jpg');
img1 = mexResize(img,[100,100]);
figure;
imshow(img1);
但是我遇到了下面的错误:
下面的链接是我上面提到的所有文件:http://pan.baidu.com/s/1gfCxuZh
BTW:我用的软件是:matlab2014a
+VS2013
+opencv3.1
不知道你解决了这个问题没有,最近遇到类似的也是一直在找解决办法。也调试了你这个代码,发现是缺少两个dll导致的。
一个是hvsifiletrust.dll , 另一个是 ieshims.dll, 这两个可以在网上下载找到(比如:https://www.zhaodll.com/dll/s...)希望能帮到其他有类似问题朋友。如需交流,欢迎加q:196659042.