opencv4.5,ubuntu16.04编译,移植

2020-10-14  本文已影响0人  生活就是爱

一、安装必要的依赖环境

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

最后3个模块是供opencv调用rtsp视频流的

后期需要python版本numpy的话需要安装python版本和其对应的numpy版本(下面是python3版本例子)

sudo apt-get install python3-dev python3-numpy

二、下载opencv和opencv-contrib

github下载很慢,而且很容易中断,建议采用gitee的方式下载,详见参考资料5

三、解压下载好的包

unzip opencv-4.5.0.zip
unzip opencv_contrib-4.5.0.zip

解压完后需要将opencv_contrib.zip提取到opencv目录下

sudo cp -r opencv_contrib-4.5.0 opencv-4.5.0/

在该目录下新建一个文件夹build

cd opencv-4.5.0
mkdir build
cd build

四、cmake获取一些依赖项

sudo cmake -D CMAKE_BUILD_TYPE=Release \
           -D CMAKE_INSTALL_PREFIX=/usr/local \
           -D OPENCV_PYTHON3_INSTALL_PATH=/usr/local/lib/python3.5/dist-packages \
           -D OPENCV_EXTRA_MODULES_PATH=/home/userrname/opencv-4.5.0/opencv_contrib-4.5.0/modules/ \
           -DOPENCV_ENABLE_NONFREE=True ..

上述命令注意路径,跟自己电脑上的路径保持一致

上述过程中会下载一些必要的安装包,由于我朝众所周知的原因,下载过程很慢,大概率会下载失败
下载失败后,不会一直卡着不动,最终这个命令能正常执行完,但是后续正式编译会报错
待这个命令执行完之后,需要手动下载一些文件

1. 卡在ippicv下载的地方,一直下载不下来

ippicv.png

从参考资料3中找到对应的下载位置,手动下载到本地(建议存放到ippicv的cmake文件所在位置)
修改ippicv的cmake配置文件

sudo gedit opencv-4.5.0/3rdparty/ippicv/ippicv.cmake

将第47行替换为本地路径

URL
                 "${OPENCV_IPPICV_URL}"
                 "$ENV{OPENCV_IPPICV_URL}"
                 #"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
                 "/home/usrname/opencv-4.5.0/3rdparty/ippicv/"

2. 卡在face_landmark_model.dat下载的地方,一直下载不下来

face_landmark.png

从网上下载face_landmark_model.dat,放置到本地(建议放在face模块位置)
修改face模块的配置文件

sudo gedit /home/username/opencv-4.5.0/opencv_contrib/modules/face/CMakeLists.txt

将第19行替换为本地路径

    URL
      "${OPENCV_FACE_ALIGNMENT_URL}"
      "$ENV{OPENCV_FACE_ALIGNMENT_URL}"
      #"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${__commit_hash}/"
      "/home/username/opencv-4.5.0/opencv_contrib/modules/face/src
/"

3. 卡在vgg_generated下载的地方,一直下载不下来

boostdesc_bgm.png
vgg_generated.png

参考资料4中有下载地址,下载成功后放在 opencv_contrib/modules/xfeatures2d/src/ 路径下即可

五、make编译

sudo make -j4

根据make结果进行安装

sudo make install

安装成功后,本机就可以正常使用了

六、打包编译好的动态库

在需要的地方创建一个文件夹

mkdir  -p opencv450/lib
cd opencv450

将安装好的opencv库打包进新建的文件夹内,留作新的电脑内使用

cp /usr/local/lib/libopencv* opencv450/lib
cp /usr/local/lib/python3.5/dist-packages/cv2/python-3.5/cv2.cpython-35m-x86_64-linux-gnu.so opencv450/cv2.so

以上命令注意文件路径

七、将编译好的opencv动态库放到新的电脑指定路径内

cp opencv420/lib/libopencv* /usr/local/lib/
cp opencv420/cv2.so /usr/local/lib/python3.5/dist-packages/cv2.so

以上命令注意文件路径
这样就可以在新电脑中测试opencv了,哈哈!!

参考资料:
1. ubuntu16.04+opencv420+移植到新的相对应的环境中
2. ubuntu16.04 安装opencv IPPICV 和 face_landmark_model.dat下载不下来的问题解决
3. ubuntu安装opencv无法下载IPPICV的问题 ippicv_2020_lnx_intel64_20191018_general.tgz
4. 编译OpenCV提示opencv_contrib缺少boostdesc_bgm.i等文件
5. 2020年github文件高速下载方法

上一篇下一篇

猜你喜欢

热点阅读