提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
Ubuntu下Opencv-3.4.1 的下载安装及示例运用
什么是OpenCV
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#、Ch、Ruby,GO的支持。
提示:以下是本篇文章正文内容,下面案例可供参考
一,Ubuntu 服务器如何安装桌面
首先,因为你将要做一些系统级的修改,因此先进行更新和升级以确保我们系统的包是最新的:
sudo apt update && sudo apt upgrade
如果你使用 apt,执行下面这条命令:
sudo apt install ubuntu-desktop
GNOME 桌面默认使用 GDM3 作为显示管理器,但从资源角度考虑它有点重。你可以使用更轻量级和资源友好的管理器。这里我们使用一个平台无关的显示管理器 lightdm。使用 apt 安装它:
sudo apt install lightdm
安装 lightdm 时系统会让我们选择默认的显示管理器,因为即使你可以安装多个管理器,也只能运行一个。
选择列表中的 “lightdm” 并点击 “”。这应该用不了几分钟。完成后你可以用下面的命令启动显示管理器并加载 GUI:
sudo service lightdm start
就可以啦!
二、OpenCV的安装
使用wget工具下载安装OpenCV3.4.1.zip文件
将文件复制到home目录下
sudo mv 3.4.1.zip /home
再通过unzip解压
unzip 3.4.1.zip
然后进入解压后的文件里面
cd opencv-3.4.1
安装依赖库和cmake ,如果提醒需要apt-get update,那就先sudo su进入root权限,再sudo apt-get update,然后在执行下面命令
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev libjasper-dev
安装完cmake之后执行命令 ,创建编译文件夹
mkdir my_build_dir
进入文件夹进行配置
cd my_build_dir
cmake一下
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
执行命令,漫长的编译过程
sudo make
执行命令
sudo make install
sudo make install 执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到
sudo gedit /etc/ld.so.conf.d/opencv.conf
执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加
/usr/local/lib
保存回到命令行界面
执行如下命令使得刚才的配置路径生效
sudo ldconfig
配置bash
sudo gedit /etc/bash.bashrc
在最末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存退出,然后执行如下命令使得配置生效
source /etc/bash.bashrc
更新一下。
sudo updatedb
接下来查看 opencv 的版本信息。
pkg-config --modversion opencv
三,图片显示
1.首先创建一个文件夹
mkdir shijian
cd shijian
创建一个 test.cpp 文件。
gedit test.cpp
将下面的代码复制粘贴进去。
test.cpp:
#include <opencv2/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
CvPoint center;
double scale = -3;
IplImage* image = cvLoadImage("lena.jpg");
argc == 2? cvLoadImage(argv[1]) : 0;
cvShowImage