mexopencv需要重新编译每次我重新启动Matlab

时间:2015-07-07 09:29:23

标签: matlab opencv mex

我最近在我的Windows 7机器上为MATLAB安装了mexopencv。我使用的是32位的MATLAB 2015a(在64位机器上)。我按照推荐的安装步骤(从许多来源 - 我开始编译器问题)并最终使其工作。该过程的最后一步是在MATLAB中运行以下命令:

mexopencv.make

这很好,从那以后我一直在愉快地使用它。但是,每当我重新启动MATLAB并运行使用mexopencv函数的代码时,我都会得到以下结果:

Error using cv.undistort
Invalid MEX-file 'C:\mexopencv-master\+cv\undistort.mexw32':
C:\mexopencv-master\+cv\undistort.mexw32 is not a valid Win32
application.

经过一些调查后,我可以解决这个问题的唯一方法就是每次重启MATLAB时运行以下命令:

mexopencv.make('clean',true)
mexopencv.make

因此,每次启动MATLAB时,这基本上都是重新编译mex文件。这需要几分钟的时间,真的很痛苦!

每次都有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题(每次都需要重建mexopencv)。有人说他们通过设置系统路径解决了这个问题,但不是我的情况。通过将所有opencv dll复制到编译的mex文件所在的同一目录来解决我的问题。