OpenCv玩转树莓派树莓派

树莓派4(RaspberryPi4)安装OpenCV4

2019-08-20  本文已影响4人  404d67ac8c12

如何去安装 OpenCV 4 到树莓派,已经有很详细的教程,而且我也是按照该教程去操作的,但中间还是会有问题,并进行了以下记录。

参考了 Install OpenCV 4 on your Raspberry Pi

环境准备

我没有严格按照上面的教程去执行,开始的时候执行了 Step #2 和 Step #3,也没有去使用 Step #4 的虚拟环境,但需要升级 Step #4 的 pip 以及执行 pip install numpy

编译 OpenCV4

按照教程执行 Step #5 的 make -j 4 时候出现了问题,如下:

/usr/bin/ld: ../../lib/libopencv_core.so.4.1.1: undefined reference to '__atomic_fetch_add_8'
/usr/bin/ld: ../../lib/libopencv_core.so.4.1.1: undefined reference to '__atomic_fetch_sub_8'
/usr/bin/ld: ../../lib/libopencv_core.so.4.1.1: undefined reference to '__atomic_store_8'
/usr/bin/ld: ../../lib/libopencv_core.so.4.1.1: undefined reference to '__atomic_load_8'
/usr/bin/ld: ../../lib/libopencv_core.so.4.1.1: undefined reference to '__atomic_compare_exchange_8'
collect2: error: ld returned 1 exit status
make[2]: *** [modules/core/CMakeFiles/opencv_perf_core.dir/build.make:541: bin/opencv_perf_core] Error 1
make[1]: *** [CMakeFiles/Makefile2:2597: modules/core/CMakeFiles/opencv_perf_core.dir/all] Error 2
make: *** [Makefile:163: all] Error 2

提示:Make error undefined reference to '__atomic_fetch_add_8'。
进行搜索后,找到了该篇文章 Make error __atomic_fetch_add_8 on RaspberryPi4,需要在 cmake 中添加 -DCMAKE_SHARED_LINKER_FLAGS='-latomic', 重新 cmake 后成功。

$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D ENABLE_NEON=ON \
-D ENABLE_VFPV3=ON \
-D BUILD_TESTS=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-DCMAKE_SHARED_LINKER_FLAGS='-latomic' \
-D BUILD_EXAMPLES=OFF ..

注意:OPENCV_EXTRA_MODULES_PATH 的路径请填写正确,开始时我写的路径不对,cmake 一直不通过。

调整 SWAP 大小

我使用的是 RaspberryPi4 2G 内存,感觉内存很大然后就飘了,最后没有编译通过。切记,一定要执行 Increase the SWAP on the Raspberry Pi 的部分。不过 4G 内存的同学可以绕过。

结束

剩下的步骤安装教程走就可以完成安装。

上一篇下一篇

猜你喜欢

热点阅读