一、环境说明
先做此次配置的软件版本及系统版本的说明:
- VirtualBox版本6.0.12
- Ubuntu版本18.04.3
- opencv版本3.4.7
二、准备事项
- 在opencv的官方网站下载需要的版本,注意,实在ubuntu系统下下载,而非Windows系统下下载,且下载的是source。下载入口
- ubuntu下默认安装目录是当前用户的“下载”目录,打开终端使用命令:
cd /home/[你的当前用户名]/下载 //到该目录位置
unzip opencv-3.4.7.zip //解压
- 进入到解压包目录里,右键点击 在此处打开终端
- 依次做以下操作
sudo su
sudo apt-get update
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev
apt-get install pkg-config
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
mkdir mybuild //创建编译文件夹
cd mybuild
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make
sudo make install
sudo gedit /etc/ld.so.conf.d/opencv.conf
在最后一段命令执行完成后,会打开一个空白的文件,在里面输入以下内容,然后保存即可
/usr/local/lib
完成后需要使得该内容生效,执行命令
sudo ldconfig
此外还需要配置bashrc,这就像配置java时的环境变量的配置,也是需要配置bashrc并使得生效。执行命令
sudo gedit /etc/bash.bashrc
在打开的bashrc文件末尾添加以下代码:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存退出后,执行下列命令使之生效并更新
source /etc/bash.bashrc
sudo updatedb
三、额外的包增加及摄像头使用
在完成上述配置后,进入到以下目录:opencv-3.4.7/samples/cpp/example_cmake右键打开终端并输入下面的代码,完成编译和构建:
cmake .
make
./opencv_example
最终结果是显示了Hello World,但是会有两个错误,一个是显示 Failed to load module"canberra-gtk-module" 另一个是显示 can’t open camera by index 0
解决方法:
- 安装 canberra-gtk-module 包
在终端输入以下命令:
sudo apt-get update
sudo apt-get install libcanberra-gtk-module
再次运行时便没有第一个错误提示了。
-
扩展包的下载
在VirtualBox里设置全局设定,点击左上角的 管理->全局设定->扩展->添加新包,这个新包需要在官网上下载 下载地址
下载与你的虚拟机版本相对应的扩展包,我的虚拟机版本时6.0.12,因此下载的是VirtualBox 6.0.12 Oracle VM VirtualBox扩展包。将该扩展包添加后即可 -
摄像头添加
完成上述配置后,运行虚拟机,勾选摄像头的Integrated camera即可
-
运行
此时,再进入到以下目录:opencv-3.4.7/samples/cpp/example_cmake右键打开终端并输入下面的代码,完成编译和构建:
cmake .
make
./opencv_example
- 结果