如何交叉编译Raspberry PI Zero的OpenCV?

时间:2019-04-08 06:22:28

标签: opencv cross-compiling raspberry-pi-zero

我为Pi Zero配备了一个摄像头模块,并想使用OpenCV和Python。

环顾Google,如果找到了一些将OpenCV导入Raspberry的指南,但其中大多数指南是从一些随机的github上下载一些已编译的代码或在raspberry pi上进行编译的(48h +,谢谢)。

由于我不想做这两个选项,所以我进一步看了一下,发现guide是在针对Raspberry PI的交叉编译OpenCV上发现的。

我遵循了它,但后来意识到它的目标是PI 2/3而不是零,并且导致零上出现invalid instruction错误。所以这是我的问题:我需要更改哪些选项以交叉编译为rapiberry pi zero?还是不可能这样做?

指南的原始命令。

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/opt/opencv-4.0.0 \
    -D CMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake \
   -D OPENCV_EXTRA_MODULES_PATH=~/opencv_all/opencv_contrib-4.0.0/modules \
   -D OPENCV_ENABLE_NONFREE=ON \    
   -D PYTHON2_INCLUDE_PATH=/usr/include/python2.7 \
   -D PYTHON2_LIBRARIES=/usr/lib/arm-linux-gnueabihf/libpython2.7.so \
   -D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/python2/dist-packages/numpy/core/include \
   -D PYTHON3_INCLUDE_PATH=/usr/include/python3.5m \
   -D PYTHON3_LIBRARIES=/usr/lib/arm-linux-gnueabihf/libpython3.5m.so \
   -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \
   -D BUILD_OPENCV_PYTHON2=ON \
   -D BUILD_OPENCV_PYTHON3=ON \
   -D ENABLE_NEON=ON \
   -D ENABLE_VFPV3=ON \
   -D WIDTH_GTK=ON \
   -D BUILD_TESTS=OFF \
   -D BUILD_DOCS=OFF \
   -D BUILD_EXAMPLES=OFF ..

我已经发现ENABLE_VFPV3=ONENABLE_NEON=ON是错误的,但是仅删除它们也不起作用。

0 个答案:

没有答案