赞
踩
- sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python3
- sudo add-apt-repository ppa:webupd8team/java
- sudo apt-get update
- sudo apt install openjdk-11-jdk
之后将下载下来的文件移动到自己想要的目录进行解压
- unzip bazel-4.0.0-dist.zip
- bash ./compile.sh
- sudo cp output/bazel /usr/local/bin
安装完成后运行代码检查版本信息,不报错的话就证明安装成功。
bazel version
能查看版本,bazel就按装完成了。
先选好版本,我用的v 0.8.5
https://github.com/google/mediapipe/tree/v0.8.5
- $sudo apt install -y python3-dev
- $sudo apt install -y cmake
https://github.com/protocolbuffers/protobuf/releases 下载
unzip protoc-3.19.1-linux-aarch_64.zip
然后将“bin”和include下的“google”复制到/mediapipe中。修改mediapipe/setup.py,将
protoc_command = [self._protoc, ‘-I.’, ‘–python_out=.’, source]
修改为
protoc_command = [self._protoc, ‘-I.’, ‘-I/usr/local/include’, ‘–python_out=.’, source]
编译proto文件报错:Missing output directives.
把上述改的代码再改为:
- protoc_command = [self._protoc, '-I.', '-I/usr/local/include', '--python_out=.', source]
- if subprocess.call(protoc_command) != 0:
- sys.exit(-1)
- cd mediapipe
- sed -i -e "/\"imgcodecs\"/d;/\"calib3d\"/d;/\"features2d\"/d;/\"highgui\"/d;/\"video\"/d;/\"videoio\"/d" third_party/BUILD
- sed -i -e "/-ljpeg/d;/-lpng/d;/-ltiff/d;/-lImath/d;/-lIlmImf/d;/-lHalf/d;/-lIex/d;/-lIlmThread/d;/-lrt/d;/-ldc1394/d;/-lavcodec/d;/-lavformat/d;/-lavutil/d;/-lswscale/d;/-lavresample/d" third_party/BUILD
- sed -i "s/x86_64-linux-gnu/aarch64-linux-gnu/g" third_party/opencv_linux.BUILD
- sed -i "s/x86_64-linux-gnu/aarch64-linux-gnu/g" third_party/ffmpeg_linux.BUILD
由于Jetson nx为aarch64的linux系统,因此需要将 third_party/opencv_linux.BUILD 和 third_party/ffmpeg_linux.BUILD 两个文件中所有的 x86_64-linux-gnu 更换为 aarch64-linux-gnu 。在Jetson中,OpenCV和FFMpeg的库都定义在/usr/lib/aarch64-linux-gnu文件夹下。
打开third_party/BUILD,定位到
“WITH_ITT”: “OFF”,
“WITH_JASPER”: “OFF”,
“WITH_WEBP”: “OFF”,
在后面加上
“ENABLE_NEON”: “OFF”,
“WITH_TENGINE”: “OFF”,
查看gcc版本
gcc -v
g++ -v
在终端中更新版本号的具体步骤,其中数字是你想更新的版本号,比如8或者其他版本。
- sudo apt-get update
- sudo apt-get install gcc-8
- sudo apt-get install g++-8
- cd /usr/bin
- sudo rm gcc g++
- sudo ln -s gcc-8 gcc
- sudo ln -s g++-8 g++
查看版本
耗时大约一小时
python3 setup.py gen_protos && python3 setup.py bdist_wheel
编译成功后将出现一个dist文件夹,里面存放了mediapipe的.whl文件,说明编译成功!!!
- python3 -m pip install cython
- python3 -m pip install numpy
- python3 -m pip install pillow
- python3 -m pip install mediapipe/dist/mediapipe-0.8-cp36-cp36-linux_aarch64.whl
Error: file '@bazel_tools//tools/cpp:toolchain_utils.bzl' does not contain symbol 'use_cpp_toolchain' (did you mean 'find_cpp_toolchain'?)
- http_archive(
- name = "rules_cc",
- strip_prefix = "rules_cc-main",
- urls = ["https://github.com/bazelbuild/rules_cc/archive/main.zip"],
- )
- _RULES_CC_GIT_COMMIT = "f95239adde29680236afa22b4abaf1d04234f61a"
- http_archive(
- name = "rules_cc",
- strip_prefix = "rules_cc-%s" % _RULES_CC_GIT_COMMIT,
- urls = ["https://github.com/bazelbuild/rules_cc/archive/%s.tar.gz" % _RULES_CC_GIT_COMMIT],
- )
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
如果还是解决不了一直下opencv,去requirements里将opencv那个版本改成自己电脑上装的。
sed -i -e "s/opencv-contrib-python/opencv-python/g" requirements.txt
或者直接删除下载opencv这个。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。