【发布时间】:2015-07-07 09:29:22
【问题描述】:
我最近在我的 Windows 7 机器上安装了用于 MATLAB 的 mexopencv。我正在使用 MATLAB 2015a 32 位(在 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 文件。这需要几分钟的时间,而且真的很痛苦!
有什么办法可以避免每次都这样做吗?
【问题讨论】:
-
我从来没有使用过 mexopencv,但看起来有些东西正在以 64 位重新编译你的二进制文件。您可以在 Windows 资源管理器中查看文件以查看它们在退出 MATLAB 时何时被修改吗?对了,既然你是64位机器,为什么不安装64位MATLAB呢?这样一来,一切都变得更简单、更快捷。\
-
@chappja - 感谢您的建议。我在观察 'C:\mexopencv-master\+cv\' 文件夹中的文件(包括 .mex32 文件)时退出了 MATLAB,但没有进行任何修改。再次打开 MATLAB 时也没有进行任何修改。
-
@chappja - 关于使用 64 位 MATLAB:我最初使用了这个,但是当我开始尝试运行 mex 时,我遇到了 Windows 7 64 位编译器的问题(请参阅讨论的问题部分here.