学习笔记:自己编译安装OpenCV+测试opencv安装是否成功
2024-10-17 05:39:39
1. 安装编译依赖的软件包
# 安装读写不同图片类型的库:
sudo apt-get install libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev # 安装读取视频格式的库:
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev # 安装GTK库以使用OpenCV的GUI:
sudo apt-get install libgtk2.0-dev # 安装用来优化一些OpenCV内部函数的库,比如矩阵操作:
sudo apt-get install libatlas-base-dev gfortran liblapacke-dev
2. 编译OpenCV
下载并解压源码:
wget https://github.com/opencv/opencv/archive/3.2.0.tar.gz -O opencv.tar.gz
wget https://github.com/opencv/opencv_contrib/archive/3.2.0.tar.gz -O opencv_contrib.tar.gz
tar zxf opencv.tar.gz
tar zxf opencv_contrib.tar.gz
编译:
cd opencv-3.2.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D WITH_IPP=OFF \
-DBUILD_opencv_dnn=OFF \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib-3.2.0/modules \
-D BUILD_EXAMPLES=OFF .. make -j4 # 编译时间好长啊,这还是四核一起编译呢
安装
编译没有出错的话,就可以安装了:
sudo make install
sudo ldconfig
以上命令会安装OpenCV的python模块到:
(py3.6) veelion@gtx:~/opencv/opencv-3.2.0/build$ ls /usr/local/lib/python3.6/site-packages/
cv2.cpython-36m-x86_64-linux-gnu.so
把以上.so文件链接到py3.6虚拟环境下:
(py3.6) veelion@gtx:~$ cd ~/.virtualenvs/py3.6/lib/python3.6/site-packages/
(py3.6) veelion@gtx:~/.virtualenvs/py3.6/lib/python3.6/site-packages$ ln -s /usr/local/lib/python3.6/site-packages/cv2.cpython-36m-x86_64-linux-gnu.so cv2.so
测试OpenCV的安装
veelion@gtx:~$ workon py3.6
(py3.6) veelion@gtx:~$ python
Python 3.6.1 (default, Mar 22 2017, 10:05:53)
[GCC 5.4.1 20170304] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.2.0'
文章来自于我的学习笔记www.yuanrenxue.com
最新文章
- CentOS下mysql数据库常用命令总结
- java8 ArrayList源码阅读
- [No000019]不想背单词?看看游戏能否帮你
- yourphp的eq作用
- Java的初步认识
- GridView自带分页 1总页数 首页 下一页 上一页 尾页 X 页 go 实现方法 .
- ArcGIS 坐标系统文件
- 【面试题032】从1到n整数中1出现的次数
- 【java设计模式】【结构模式Structural Pattern】装饰模式Decorator Pattern
- 给video添加自定义进度条
- 二、npm scripts
- IO模型--阻塞IO,非阻塞IO,IO多路复用,异步IO
- PHP生成HTML静态页面。
- springboot项目接入配置中心,实现@ConfigurationProperties的bean属性刷新方案
- PPT资源
- git 的日常使用命令
- 三:QJM HDFS高可用
- ESP8266文档阅读ESP8266 SDK 入门指南
- SQLServer跨库查询--分布式查询
- C++避免内存泄漏的一种技巧