OpenCV学习笔记(12)OpenCV调用Matlab函数进行保存视频的尝试

时间:2020-11-28 17:04:57

OpenCV2.1 的 ffmpeg 似乎编译有问题,不能正常进行视频读写方面的操作,因此尝试调用 Matlab 来完成,不过也还没成功,详细记录如下:

1、在 Matlab 中通过 mex –setup 和 mbuild –setup 指定 VS2008 SP1 作为 C 编译器。

2、编写保存视频的 fun_saveVideo.m 文件如下:

3、使用如下指令将 fun_saveVideo.m 编译为 动态链接库 供 VC 调用:

4、将生成的 libSaveVideo.h, libSaveVideo.lib, libSaveVideo.dll 三个文件复制到项目文件夹下,其中 lib 和 dll 文件复制到 debug 和 release 子文件夹内。

5、在 VS 界面 " /Tools / Options / Projects and Solutions / VC++ Directories" 中,在 " Include files " 和 " Library files " 中分别添加下列目录(默认安装位置):

 

6、在项目属性" /Project / Properties / Configuration Properties / Linker / Input " 中添加 mclmcrrt.lib, libmx.lib, libmat.lib, mclmcr.lib 。

7、在项目的 Solution Explorer 的 Header Files 中添加 libSaveVideo.h ,在该文件的最下面可以看到函数的声明:

8、在 ******(项目名称).h 中加入如下代码(如果不加 ‘#pragma comment(lib,’”libSaveVideo”)’,则编译链接时会出现错误“error LNK2019: unresolved external symbol”):

 

9、函数调用的具体代码:

10、编译链接都通过,但实际运行时出错,可能是 m 文件编写不合理 或其它原因,有待进一步分析。