从OpenCV的github release下载,然后解压
1
2
3
4
5
6cd opencv-4.2.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install添加路径库
sudo vim /etc/ld.so.conf.d/opencv.conf
,打开了一个新文档,在里面写入/usr/local/lib
配置环境变量
sudo vim /etc/profile
,在后面添加以下内容1
2PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
3.测试1
2
3
4
5
6cd ~
# opencv的源码目录
cd opencv/samples/cpp/example_cmake
cmake .
make
./opencv_example
如果弹出一个视频窗口,有文字hello,opencv,代表安装成功
- 检查是否有多个OpenCV版本
1
2
3
4
5
6
7
8
9locate libopencv_video.so
/usr/lib/x86_64-linux-gnu/libopencv_video.so
/usr/lib/x86_64-linux-gnu/libopencv_video.so.3.2
/usr/lib/x86_64-linux-gnu/libopencv_video.so.3.2.0
/usr/local/lib/libopencv_video.so
/usr/local/lib/libopencv_video.so.4.2
/usr/local/lib/libopencv_video.so.4.2.0
- 如果你需要在Python3环境下使用OpenCV,那么
sudo pip3 install opencv-python
,python后不用加3。对于在Python环境中使用,比如说查看版本1
2
3
4
5
6
7cyp@cyp:~$ python
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2 as cv
>>> cv.__version__
'4.1.0'
在使用g++编译使用opencv的C++程序时,使用 g++ <cpp_code> pkg-config opencv --libs --cflags opencv
也可以使用cmake编译
- 使用指定的版本
在opencv编译好后,所在目录中一般会有一个叫OpenCVConfig.cmake的文件,这个文件中指定了CMake要去哪里找OpenCV,其.h文件在哪里等,比如其中一行:1
2# Provide the include directories to the caller
set(OpenCV_INCLUDE_DIRS "/home/ubuntu/src/opencv-3.1.0/build" "/home/ubuntu/src/opencv-3.1.0/include" "/home/ubuntu/src/opencv-3.1.0/include/opencv")
只要让CMake找到这个文件,这个文件就指定了Opencv的所有路径,因此设置OpenCV_DIR为包含OpenCVConfig.cmake的目录,如在C++工程CMakeLists.txt中添加:1
set(OpenCV_DIR "/home/ubuntu/src/opencv-3.1.0/build")
因此,我们期望使用哪个版本的Opencv,只要找到对应的OpenCVConfig.cmake文件,并且将其路径添加到工程的CMakeLists.txt中即可了。