【问题标题】:how to fix the (Error using mexOpenCV) on matlab?如何在 matlab 上修复(使用 mexOpenCV 时出错)?
【发布时间】:2019-05-14 18:26:41
【问题描述】:

我想使用 github 上 bgslibrary 文件夹中的 wrapper_matlab 文件在我的研究中使用 bgslibrary。

我按照自述文件中提到的步骤操作,但在运行compile.m 时出现错误。

我已经安装了 Microsoft Visual Studio 2015,并且正在使用 matlab 2018a。

删节的输出是:

 Building with 'Microsoft Visual C++ 2015'.
    cl /c /Zp8 /GR /W3 /EHs /nologo /MD /O2 /Oy- /DNDEBUG /DMEX_COMPILE_FLAG  /DMATLAB_DEFAULT_RELEASE=R2017b  /DUSE_MEX_CMD   /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_SECURE_SCL=0   /DMATLAB_MEX_FILE -I"C:\Program Files\MATLAB\R2018a\toolbox\vision\builtins\src\ocvcg\opencv\include" -I"C:\Program Files\MATLAB\R2018a\extern\include" -I"C:\Program Files\MATLAB\R2018a\toolbox\distcomp\gpu\extern\include" -I"..\package_bgs"  -I"C:\Program Files\MATLAB\R2018a\extern\include" -I"C:\Program Files\MATLAB\R2018a\simulink\include" "E:\BAW\study\doctoral\bgslibrary-master\wrapper_matlab\backgroundSubtractor_wrapper.cpp" /FoC:\Users\ihssane\AppData\Local\Temp\mex_62234284571999_12516\backgroundSubtractor_wrapper.obj
    Error using mexOpenCV (line 136)
    backgroundSubtractor_wrapper.cpp
    e:\baw\study\doctoral\bgslibrary-master\wrapper_matlab\mxarray.h(591): warning C4267: 'argument': conversion from 'size_t' to
    'int', possible loss of data
    E:/BAW/study/doctoral/bgslibrary-master/package_bgs/opencv-3.4.4/build/install/include/opencv2/imgproc/types_c.h(58): error
    C2011: 'CvConnectedComp': 'struct' type redefinition
....
...
....
    C:\Program Files\MATLAB\R2018a\toolbox\vision\builtins\src\ocvcg\opencv\include\opencv2/imgproc/types_c.h(222): note: see
    declaration of 'CV_Luv2LBGR'
    E:/BAW/study/doctoral/bgslibrary-master/package_bgs/opencv-3.4.4/build/install/include/opencv2/imgproc/types_c.h(223): error
    C2365: 'CV_Luv2LRGB': redefinition; previous definition was 'enumerator'
    C:\Program Files\MATLAB\R2018a\toolbox\vision\builtins\src\ocvcg\opencv\include\opencv2/imgproc/types_c.h(223): note: see
    declaration of 'CV_Luv2LRGB'
    E:/BAW/study/doctoral/bgslibrary-master/package_bgs/opencv-3.4.4/build/install/include/opencv2/imgproc/types_c.h(223): fatal
    error C1003: error count exceeds 100; stopping compilation



    Error in compile (line 3)
    mexOpenCV -v -DMEX_COMPILE_FLAG -I"../package_bgs" backgroundSubtractor_wrapper.cpp ...

【问题讨论】:

  • 能否请您添加一个指向您从中获取代码的存储库的链接?
  • @CrisLuengo 你的笔记帮助很大,谢谢。现在代码正在运行,非常感谢。
  • @CrisLuengo 我怎样才能为你的答案投票或让人们清楚地知道你的答案有效?

标签: c++ visual-studio matlab opencv


【解决方案1】:

看起来您可能有两个不同版本的 OpenCV 的标头。这个:

C:\Program Files\MATLAB\R2018a\toolbox\vision\builtins\src\ocvcg\opencv\include

还有这个:

E:/BAW/study/doctoral/bgslibrary-master/package_bgs/opencv-3.4.4/build/install/include

两者看起来都像是 OpenCV 头文件的路径。您应该尝试从构建中删除其中一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    • 2013-11-15
    • 2020-03-07
    • 2020-06-02
    • 2019-12-27
    • 2022-10-07
    相关资源
    最近更新 更多