1、x86上pip安装opencv-python和opencv-contrib-python
pip install opencv-python -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
pip install opencv-contrib-python -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
最新版为opencv3
安装后
>>> import cv2
>>> print cv2.__version__
2、x86上conda安装opencv-python
conda install -c https://conda.binstar.org/menpo opencv=2.4.9
3、x86上源码编译安装opencv-python
3.1 下载opencv压缩包
wget https://github.com/Itseez/opencv/archive/3.0.0.zip
3.2 解压OpenCV 3.0.0压缩包并进入到解压后文件:
unzip opencv-3.0.0.zip && cd opencv-3.0.0
3.3 cmake编译:
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DPYTHON3_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.5 -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so -DPYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.5/dist-packages/numpy/core/include
3.4 make编译:
make -j && sudo make install
3.5测试
>>>python3
>>>import cv2
>>>exit()
4、x86上编译安装c的opencv和opencv-contrib
版本查看
pkg-config opencv --modversion
源码安装
1 下载 opencv安装包http://opencv.org
(1)opencv下载 选择你要装的版本下载source压缩包(我装的是opencv3.4.13)
(2)opencv_contrib下载 在Tags里找到相应版本下载,注意版本要与opencv一致(这里就是opencv_contrib3.4.13)
2 解压
下载好解压后,将opencv_contrib3.4.13放在opencv3.4.13文件夹里面(为方便后续操作,可将上面两个文件夹分别命名为opencv和opencv_conrib)。
3 安装
安装依赖
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
执行以上命令,可以将OpenCV依赖的库都安装好,但libjasper-dev库的安装可能会出现问题,若出现无法定位依赖包的错误,可以使用以下命令解决
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
编译
为了保证文件简洁,一般创建一个文件夹来存放编译后的文件,使用如下命令:
cd ~/opencv3.4
mkdir release
cd release
使用cmake命令进行编译:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -D DOPENCV_GENERATE_PKGCONFIG=ON ..
//后面“../opencv_contrib-3.4.0/modules”为你opencv_contrib的modules文件夹所在的路径
释义:
cmake -D CMAKE_BUILD_TYPE=Release # 编译版本 release或debug
-D CMAKE_INSTALL_PREFIX=/usr/local # 安装路径
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules # contrib包路径
-D DOPENCV_GENERATE_PKGCONFIG=ON # 生成环境配置文件
..
OpenCV的编译选择很多,可以按照自己的需求设置。如果对于编译命令不熟悉,可以使用cmake的图像化界面进行编译。
安装OpenCV库,将编译后的文件安装到指定的目录下
sudo make -jx # x为电脑的线程数
出现以下问题:
这是因为有些文件么有下载下来,不止此处的boostdesc_bgm.i,还有:
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
vgg_generated_120.i
vgg_generated_64.i
vgg_generated_80.i
vgg_generated_48.i
解决办法:
下载缺失的文件,链接: https://pan.baidu.com/s/1qOl-4aGM50hgk6JtqwYQmQ?pwd=5wtr 提取码: 5wtr
然后复制到opencv-3.4.2/opencv_contrib/modules/xfeatures2d/src/路径下。
参考:https://blog.csdn.net/bj233/article/details/113351023
sudo make install # 安装到相关目录,如果是系统目录则需sudo权限
添加路径
sudo vim /etc/ld.so.conf.d/opencv.conf
在打开的文件中添加如下内容:
/usr/local/lib
之后在终端输入
4 至此openc编译安装成功 进行测试
mkdir ~/opencv-test
cd ~/opencv-test
gedit DisplayImage.cpp
在DisplayImage.cpp中输入如下代码:
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out <Image_Path>\n");
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0); return 0;
}
创建CMake编译文件
gedit CMakeLists.txt
写入如下内容
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
编译
cd ~/opencv-test
cmake .
make
执行
此时opencv-test文件夹中已经产生了可执行文件DisplayImage,随便从网上下载一张图片放在opencv-test文件夹下,此处下载了opencv.jpg,然后运行
./DisplayImage opencv.jpg
结果出现opencv.jpg图片说明opencv安装成功
5、TX2 arm架构安装opencv-python
1)下载https://github.com/Alro10/OpenCVTX2
PS:
可以将contrib源码下载后一起编译 安装
将sh文件中加入 -DOPENCV_EXTRA_MODULES_PATH = /home/nvidia/guit/OpenCV3.2_with_contrib/opencv_contrib-3.2.0/modules \
2)修改buildOpenCV.sh
$ git clone https://github.com/jetsonhacks
(1)将.sh文件中的cuda改为8.0
(2)将opencv3打开 opencv2关闭
(3)将3.2.0改为3.4.2后期可能用csrt。
3)运行buildOpenCV.sh
$ chmod 777 buildOpenCV.sh
$ sudo apt-get purge libopencv*
$ ./buildOpenCV.sh
$ cd ~/opencv/build
$ sudo make install
4)安装
cd build
sudo Make
sudo make install
测试发现编译安装后 opencv-python也安装上了?import cv2成功。
6、TX2 arm架构安装opencv-contrib-python
opencv3.4.2_with_contrib(https://blog.csdn.net/qq_38880380/article/details/79716906)
已下载安装包和buildOpencv.sh
$ cd opencv3.4.2_with_contrib
$ ./buildOpenCV.sh
$ sudo make install