在Ubuntu 18.04上安装OpenCV 4(C ++和Python)
OpenCV于11月20日发布了OpenCV-3.4.4和OpenCV-4.0.0。这些版本中有很多错误修复和其他更改。发布重点如下:
- OpenCV现在是C ++ 11库,需要符合C ++ 11标准的编译器。所需的最低CMake版本已提升至3.5.1。
- 很多来自OpenCV 1.x的C API已被删除。
- 在核心模块中的持久性(在XML,YAML或JSON中存储和加载结构化数据)已在C ++中完全重新实现,并且也丢失了C API。
- 添加了新的模块G-API,它可以作为非常有效的基于图形的图像处理流水线的引擎。
- dnn模块现在包含实验性Vulkan后端,并支持ONNX格式的网络。
- 流行的Kinect Fusion算法已经实现并针对CPU和GPU进行了优化(OpenCL)
QR码检测器和解码器已添加到objdetect模块中。 - 非常高效且高质量的DIS密集光流算法已从opencv_contrib转移到视频模块。
在这篇文章中,我们将提供一个bash脚本,用于在Ubuntu 18.04上安装OpenCV-4.0(C ++和Python 3.6)。我们还将简要研究脚本以了解其中的内容。请注意,此脚本将OpenCV安装在本地目录中,而不是整个系统上。
1.安装OpenCV 4.0
步骤0:选择要安装的OpenCV版本
|
1
2
3
|
echo "OpenCV installation by learnOpenCV.com"# Define OpenCV Version to install cvVersion="master" |
我们还将清理build目录并创建installation目录。
|
1
2
3
|
# Clean build directoriesrm -rf opencv/buildrm -rf opencv_contrib/build |
|
1
2
3
|
# Create directory for installationmkdir installationmkdir installation/OpenCV-"$cvVersion" |
最后,我们将当前工作目录存储在cwd变量中。我们还将在此博客中将此目录称为OpenCV_Home_Dir。
|
1
2
|
# Save current working directorycwd=$(pwd) |
第1步:更新包
|
1
2
|
sudo apt -y updatesudo apt -y upgrade |
第2步:安装OS库
|
1
2
3
4
五
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
三十
31
32
33
|
sudo apt -y remove x264 libx264-dev## Install dependenciessudo apt -y install build-essential checkinstall cmake pkg-config yasmsudo apt -y install git gfortransudo apt -y install libjpeg8-dev libpng-devsudo apt -y install software-properties-commonsudo apt -y updatesudo apt -y install libjasper1sudo apt -y install libtiff-devsudo apt -y install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-devsudo apt -y install libxine2-dev libv4l-devcd /usr/include/linuxsudo ln -s -f ../libv4l1-videodev.h videodev.hcd "$cwd"sudo apt -y install libgstreamer1.0-dev libgstreamer-plugins-base1.0-devsudo apt -y install libgtk2.0-dev libtbb-dev qt5-defaultsudo apt -y install libatlas-base-devsudo apt -y install libfaac-dev libmp3lame-dev libtheora-devsudo apt -y install libvorbis-dev libxvidcore-devsudo apt -y install libopencore-amrnb-dev libopencore-amrwb-devsudo apt -y install libavresample-devsudo apt -y install x264 v4l-utils# Optional dependenciessudo apt -y install libprotobuf-dev protobuf-compilersudo apt -y install libgoogle-glog-dev libgflags-devsudo apt -y install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen |
第3步:安装Python库
|
1
2
3
|
sudo apt -y install python3-dev python3-pipsudo -H pip3 install -U pip numpysudo apt -y install python3-testresources |
我们还将安装virtualenv和virtualenvwrapper模块来创建Python虚拟环境。
|
1
2
3
4
五
6
7
8
9
10
11
12
13
|
cd $cwd############ For Python 3 ############# create virtual environmentpython3 -m venv OpenCV-"$cvVersion"-py3echo "# Virtual Environment Wrapper" >> ~/.bashrcecho "alias workoncv-$cvVersion=\"source $cwd/OpenCV-$cvVersion-py3/bin/activate\"" >> ~/.bashrcsource "$cwd"/OpenCV-"$cvVersion"-py3/bin/activate# now install python libraries within this virtual environmentpip install wheel numpy scipy matplotlib scikit-image scikit-learn ipython dlib # quit virtual environmentdeactivate |
要轻松学习本教程,请单击下面的按钮下载安装脚本。免费!
第4步:下载opencv和opencv_contrib
|
1
2
3
4
五
6
7
8
9
|
git clone https://github.com/opencv/opencv.gitcd opencvgit checkout $cvVersioncd ..git clone https://github.com/opencv/opencv_contrib.gitcd opencv_contribgit checkout $cvVersioncd .. |
步骤5:使用contrib模块编译并安装OpenCV
首先,我们导航到构建目录。
|
1
2
3
|
cd opencvmkdir buildcd build |
接下来,我们开始编译和安装过程。
|
1
2
3
4
五
6
7
8
9
10
11
|
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=$cwd/installation/OpenCV-"$cvVersion" \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D WITH_TBB=ON \ -D WITH_V4L=ON \ -D OPENCV_PYTHON3_INSTALL_PATH=$cwd/OpenCV-$cvVersion-py3/lib/python3.5/site-packages \ -D WITH_QT=ON \ -D WITH_OPENGL=ON \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \ -D BUILD_EXAMPLES=ON .. |
|
1
2
|
make -j4make install |
2.如何在C ++中使用OpenCV
使用CMakeLists.txt
CMakeLists.txt的基本结构如下:
|
1
2
3
4
|
cmake_minimum_required(VERSION 3.1)# Enable C++11set(CMAKE_CXX_STANDARD 11)set(CMAKE_CXX_STANDARD_REQUIRED TRUE) |
您必须设置OpenCV_DIR,如下所示。
|
1
|
SET(OpenCV_DIR <OpenCV_Home_Dir>/installation/OpenCV-master/lib/cmake/opencv4) |
确保使用正确的路径替换OpenCV_Home_Dir。例如,在我的情况下:
|
1
|
SET(OpenCV_DIR /home/hp/OpenCV_installation/installation/OpenCV-master/lib/cmake/opencv4) |
完成CMakeLists.txt后,请按照以下步骤操作。
|
1
2
3
|
mkdir build && cd buildcmake ..cmake --build . --config Release |
这将在构建目录中生成可执行文件。
3.如何在Python中使用OpenCV
要使用使用Python脚本安装的OpenCV版本,首先要激活正确的Python虚拟环境。
对于OpenCV-4:Python 3
|
1
|
workon OpenCV-master-py3 |
激活虚拟环境后,即可进入Python shell并测试OpenCV版本。
|
1
2
3
|
ipythonimport cv2print(cv2.__version__) |
希望这个脚本证明对你有用:)。请继续关注更多有趣的内容。如有任何疑问,请随时在下方发表评论,我们会尽快回复您。
订阅和下载代码
如果你喜欢这篇文章并想下载这篇文章中使用的代码(C ++和Python)和示例图片,请订阅我们的新闻通讯。您还将收到免费的计算机视觉资源指南。在我们的时事通讯中,我们分享了用C ++ / Python编写的OpenCV教程和示例,以及计算机视觉和机器学习算法和新闻。
在Ubuntu 18.04上安装OpenCV 4(C ++和Python)的更多相关文章
- 如何在Ubuntu 18.04上安装Pip
一.简介: Pip是一个软件包管理系统,它简化了用Python编写的软件包(如Python包索引(PyPI)中的软件包)的安装和管理. 在Ubuntu 18.04上缺省没有安装Pip,但安装非常简单. ...
- 如何在Ubuntu 18.04上安装Django
Django是一个免费的开源高级Python Web框架,旨在帮助开发人员构建安全,可扩展和可维护的Web应用程序. 根据您的需要,有不同的方法来安装Django.它可以使用pip在系统范围内安装或在 ...
- 如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器(转)
如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器 什么是Apache Web Server? Apache或Apache HTTP服务器是一个免费的开源Web服务器,由Apac ...
- 在Ubuntu 18.04上安装Tensorflow
我们将经历几个阶段,安装cuda-9.0,cudnn和tensorflow cpu以及tensorflow gpu版本.最后我们将用cuda-9.0安装pytorch.在MARVEl电影中黑寡妇的“我 ...
- 如何在Ubuntu 18.04上安装Go
如何在Ubuntu 18.04上安装Go 谢鸢发表于云计算教程系列订阅98 介绍 课程准备 第1步 - 安装Go 第2步 - 设置Go路径 第3步 - 测试您的安装 结论 介绍 Go是Google开发 ...
- Ubuntu 18.04上安装 phpMyAdmin
我们将安装 phpMyAdmin 在 Ubuntu18.04 上配合 Apache 一起工作. 在安装 phpMyAdmin 之前需要已经安装了LAMP栈并提供了web页面. 如果没有安装可以参照 U ...
- Ubuntu 18.04上安装Apache, MySQL, PHP, LAMP
1.安装 Apache $ sudo apt update && sudo apt install apache2 中间会遇到停顿询问是否继续, 输入 y 然后 回车. 2.测试 Ap ...
- 如何在Ubuntu 18.04上安装Apache Web服务器
一. apt库安装 1.在终端输入更新检查命令,sudo apt-get update 2. 在更新完成后(如果不想检查更新,也可直接输入此步)输入:sudo apt-get install apac ...
- 在Ubuntu 18.04上安装Git
步骤1.首先,通过运行以下命令确保您的系统和apt包列表完全更新: apt-get update -yapt-get upgrade -y 第2步.在Ubuntu 18.04上安装Git. 现在让我们 ...
随机推荐
- Java内存模型JMM简单分析
参考博文:http://blog.csdn.net/suifeng3051/article/details/52611310 http://www.cnblogs.com/nexiyi/p/java_ ...
- 部署---Apache服务器安装SSL证书
在云服务器的证书控制台下载Apache版本证书,下载到本地的是一个压缩文件. 解压后里面包含: _public.crt文件是证书文件, _chain.crt是证书链(中间证书)文件, .key文件是证 ...
- MySQL Transaction--网络丢包导致长时间未提交事务
TCP三次握手(Three-Way Handshake) 建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立. TCP三次握手:第一次握手:Client将标志位SYN置为1,随机产 ...
- python接口自动化11-post传data参数案例
前言: 前面登录博客园的是传json参数,有些登录不是传json的,如jenkins的登录,本篇以jenkins登录为案例,传data参数. 一.登录jenkins抓包 1.登录jenkins,输入账 ...
- Burp Suite Extension tools
1.Setting up the envrionment for burp Extensions before we can write extensions we need to ensure ...
- Linux中快速对字符串进行加密
1)进行base64的加密和解密 [root@VM_0_10_centos opt]# echo hello |base64aGVsbG8K[root@VM_0_10_centos opt]# ech ...
- IDG资本
https://baike.baidu.com/item/IDG/10412 美国国际数据集团(International Data Group) 是全世界最大的信息技术出版.研究.发展与风险投资公司 ...
- springboot集成redis 附redis基本操作类
1 pom.xml添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifac ...
- Something is already running on port 3000. Would you like to run the app on another port instead?
查看端口sudo lsof -i :3000 删除进程 sudo kill -9 12297[pid]
- Django --- 多对多关系创建,forms组件
目录 多对多三种创建方式 1.系统直接创建 2.自己手动创建 3.自己定义加与系统创建 forms组件 1. 如何使用forms组件 2. 使用forms组件校验数据 3. 使用forms组件渲染标签 ...
