首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显着性模型- BMS (设置错误)

显着性模型- BMS (设置错误)
EN

Stack Overflow用户
提问于 2018-03-06 18:32:16
回答 1查看 78关注 0票数 0

我从这里-可在网上找到下载了一个名为BMS的显着性模型,名为“利用凸性进行显着性检测:布尔映射方法”。该代码已在Windows上实现和测试。

我试图在我的机器(Linux )上设置,方法是读取文件"readme.txt“中包中的指令。文件上说:

  1. 将提取的文件放入一个。
  2. 安装OpenCV 2.40+。
  3. 转到/mex/,并在编译程序m开始时指定相关的OpenCV路径。
  4. 在Matlab中运行编译器m
  5. 转到并在Matlab中运行demo.m

我已经将OpenCV的路径设置为:

代码语言:javascript
复制
opts.opencv_include_path    =   '-I/usr/local/include/opencv2/ -I/usr/local/include/'; % OpenCV include path
opts.opencv_lib_path        =   '/usr/lib/libopencv*'; % OpenCV lib path

但是,这给了我一个错误:

代码语言:javascript
复制
Error using compile>pkg_config (line 74)
OpenCV include path not found: -I/usr/local/include/opencv2/ -I/usr/local/include/

Error in compile (line 34)
[cv_cflags,cv_libs] = pkg_config(opts);

我已经检查了OpenCV包的路径,一切都很好,但是在MATLAB中,编译器无法检测到文件。我已经尝试了所有的选择网上,但没有任何工作。

请帮我运行密码,谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-07 18:18:07

我认为您的系统中缺少OpenCV库。您可以分9个步骤安装它:

  1. sudo apt-get install build-essential cmake pkg-config libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk-3-dev libatlas-base-dev gfortran
  2. wget https://github.com/opencv/opencv/archive/3.4.1.zip
  3. unzip opencv-3.4.1.zip
  4. cd opencv-3.4.1/
  5. wget https://github.com/Itseez/opencv_contrib/archive/3.4.1.zip
  6. unzip 3.4.1.zip
  7. mkdir -p build && cd build
  8. cmake -D WITH_TBB=OFF -D WITH_OPENMP=ON -D WITH_IPP=ON -D CMAKE_BUILD_TYPE=RELEASE -D BUILD_EXAMPLES=OFF -D WITH_NVCUVID=OFF -D WITH_CUDA=OFF -D BUILD_DOCS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=OFF -D WITH_CSTRIPES=ON -D WITH_OPENCL=ON -D WITH_MATLAB=ON -D WITH_LAPACK=ON -D WITH_PNG=ON -D WITH_FFMPEG=ON -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON -D BUILD_opencv_python_bindings_generator=ON -D PYTHON2_EXECUTABLE=/usr/bin/python2.7 -D PYTHON2_INCLUDE_DIR=/usr/include/python2.7 -D PYTHON2_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so -D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/local/lib/python2.7/dist-packages/numpy/core/include -D PYTHON2_PACKAGES_PATH=lib/python2.7/dist-packages -D PYTHON3_EXECUTABLE=/usr/bin/python3 -D PYTHON3_INCLUDE_DIR=/usr/include/python3.5m -D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include PYTHON3_PACKAGES_PATH=lib/python3.5/dist-packages -D CMAKE_INSTALL_PREFIX=/usr/local/ -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.1/modules ..
  9. make -j 8
  10. sudo make install

安装OpenCV后,可以编译BMS。在Matlab中,设置变量opts.opencv_include_path=/usr/local/include/opencv2/opts.opencv_lib_path=/usr/local/lib/

警告:测试上面的命令是否足以在您的机器上编译。以下命令可能不是必需的。我在这里遇到了一些问题(可能是因为我使用了Octave而不是Matlab)。这些问题是:

  • 在mexBMS.cpp:29:0: BMS.h:44:2: BMS.h:44:2中包含的文件中:“向量”不指定类型

您可以通过在BMS.h的第32行中添加以下语句来解决此问题:using namespace std;

  • MxArray.cpp:484:55:错误:从‘const value_type* {aka const int*}’到‘mwIndex* {aka *}’-fpermissive的转换无效

MxArray.cpp第484行添加以下语句

int* pointer; *pointer = si[0];

  • g++:错误: BMS.obj:没有这样的文件或目录

BMS.obj MxArray.obj替换为BMS.o MxArray.o,位于“编译程序”的第52行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49137713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档