opencv 编译记录

来源:互联网 发布:linux 设置命令别名 编辑:程序博客网 时间:2024/05/19 03:16

想在linux终端上编译安装opencv3.3.0,于是搜索各方面教程,折腾了两天,总算是大概了解了如何编译安装,记录于此文,或许各位道友可以有所借鉴

下载并解压

下载源码opencv3.3.0(github)

wget https://codeload.github.com/opencv/opencv/tar.gz/3.3.0)tar -xvf xxxxx.gz

-模块opencv_contrib

wget https://codeload.github.com/opencv/opencv_contrib/tar.gz/3.3.0tar -xvf xxxxx.gz

- 安装依赖

从各个网站参考了一些依赖文件,并根据cmake时缺少的一些依赖整合如下:

sudo apt-get install \     libopencv-dev \     build-essential \     checkinstall \     cmake \     pkg-config \     yasm \     libjpeg-dev \     libpng-dev \     libgphoto2-dev \     libtiff5-dev \     libjasper-dev \     libavcodec-dev \     libavformat-dev \     libwebp-dev \    libswscale-dev \     libdc1394-22-dev \     libxine2-dev \     libgstreamer0.10-dev \     libgstreamer-plugins-base0.10-dev \     libv4l-dev \     python-dev \     python-numpy \     libtbb-dev \     libqt4-dev \     libgtk2.0-dev \     libfaac-dev \     libmp3lame-dev \     libopencore-amrnb-dev \     libopencore-amrwb-dev \     libtheora-dev \     libvorbis-dev \     libxvidcore-dev \     x264 \     v4l-utils \     ffmpeg \     gstreamer-plugins-base-devel \    cmake \     qt5-default \     checkinstall

- cmake生成makefile

cd opencv3.3.0mkdir buildcd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules \ -D BUILD_EXAMPLES=ON ..

注意!生成makefile时要注意看cmake执行过程 可能会提示某些依赖找不到 就去查看能不能使用apt-get install xxx 把缺少的依赖补上
然后注意cmake执行最后提示成功或者失败!
我遇到以下两种:

//估计是失败了-- Configuring incomplete, errors occurred!See also "/home/walker/opencv-3.3.0/build/CMakeFiles/CMakeOutput.log".See also "/home/walker/opencv-3.3.0/build/CMakeFiles/CMakeError.log".
//大概正常 即可执行下一步骤 后面出任何问题都得回头看是不是这里有问题-- Configuring done-- Generating done -- Build files have been written to: /home/walker/opencv-3.3.0/build
cd opencv3.3.0mkdir buildcd build ##在解压的opencv3.3.0下面新建build目录存放编译信息cmake -D CMAKE_BUILD_TYPE=RELEASE \ ##编译release版本 '\'是换行的意思 因为这一段代码是一条命令 -D CMAKE_INSTALL_PREFIX=/usr/local \ ##安装目录 默认 -D INSTALL_C_EXAMPLES=ON \ ##c模块 -D INSTALL_PYTHON_EXAMPLES=ON \ ##python模块 -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules \ ##额外模块 修改为下载的opencv_contrib所在路径 或者不要这个参数 -D BUILD_EXAMPLES=ON .. ##注意最后有两个点 表示编译的原文件夹为当前路径的父目录 

- make

make -j4
make -j4 ##-j4表示使用4核心?还是4线程?或者4进程同时并发编译来着 可以不写
  • make install 安装
make install 

- 配置python 模块导入 事实上我并没有用这一步

这个配置就是 让python能够找到这个模块
根据官方Fedora安装教程有两种方式 任选其一
需要注意:以下路径可能因为系统版本不同 python安装路径不同 cmake编译配置不同 而变动 需要确认路径并修改

方式1: 复制cv2.so

su mv /usr/local/lib/python2.7/site-packages/cv2.so /usr/lib/python2.7/site-packages

方式2:添加环境变量

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages

测试

pythonimport cv2报错!!!!!!!!!!Traceback (most recent call last):  File "<stdin>", line 1, in <module>ImportError: libopencv_reg.so.3.3: cannot enable executable stack as shared object requires: Invalid argument

这问题找了很久
最后在overflow上看到一个方案
https://stackoverflow.com/questions/39136040/python3-4-error-cannot-enable-executable-stack-as-shared-object-requires-inva

sudo apt-get install execstacksudo execstack -c /usr/local/lib/libopencv_*pythonimport cv2'3.3.0'

Ok !


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 镍的价格 伦镍期货实时行情 镍氢电池 镍铬 今日镍板价格 今日镍价 镍电池 镀镍 印尼镍矿 镍渣 镍氢电池和锂电池 镍镉电池 镍图片 镍镉 镍网 镍相对原子质量 深海迷航镍矿 伦敦镍行情 镍铬怎么读 镍矿 镍熔点 镍氢电池充电方法 沪镍 顾见骊姬无镜 顾见骊姬无镜全文免费 无疼肠镜多少钱 无疼胃肠镜 无痛苦肠镜检查 无上之镜 入地无门 祸福无门 地域无门 称贷无门 精无门 大道无门 借贷无门 进退无门 无门 呼救无门 什么什么无门成语 客厅与阳台无门实景图