树莓派3B用NCS1时导入cv2遇libopencv_dnn.so.4.5未定义符号错误
Raspberry Pi 3B + Movidius NCS1 运行emotion.py时cv2导入错误及环境选择疑问
问题概述
在树莓派3B上使用Movidius Neural Compute Stick 1(NCS1)运行深度学习示例代码emotion.py时,导入cv2环节触发错误,无法继续执行。尝试用berry-conda修复环境时因缺失依赖失败,不确定是否需要重新安装系统或继续调试berry-conda环境。
错误信息
python3 emotion.py -i sample.jpg -o result.jpg Traceback (most recent call last): File "emotion.py", line 1, in <module> import cv2 File "/opt/intel/openvino/python/python3/cv2/__init__.py", line 129, in <module> bootstrap() File "/opt/intel/openvino/python/python3/cv2/__init__.py", line 112, in bootstrap import cv2 ImportError: /opt/intel/openvino/opencv/lib/libopencv_dnn.so.4.5: undefined symbol: _ZN15InferenceEngine5TBlobIhSt9enable_ifILb1EvEED1Ev
环境信息
- 设备:树莓派3B
- 系统:
Raspberry Pi OS 32-bit (Legacy) Buster(Bullseye不支持NCS1) - OpenVINO版本:
l_openvino_toolkit_runtime_raspbian_p_2020.3.194.tgz(最后支持NCS1的版本) - Python版本:
pi@raspberrypi:~ $ python -VV Python 2.7.16 pi@raspberrypi:~ $ python3 -VV Python 3.7.3 (default, Oct 31 2022, 14:04:00) [GCC 8.3.0]
复现步骤
- 安装OpenVINO工具包
sudo mkdir -p /opt/intel/openvino mkdir ~/download cd ~/download wget https://storage.openvinotoolkit.org/repositories/openvino/packages/2020.3/l_openvino_toolkit_runtime_raspbian_p_2020.3.194.tgz sudo tar -xf l_openvino_toolkit_runtime_raspbian_p_2020.3.194.tgz --strip 1 -C /opt/intel/openvino echo "source /opt/intel/openvino/bin/setupvars.sh" >> ~/.bashrc source /opt/intel/openvino/bin/setupvars.sh sudo usermod -a -G users "$(whoami)" sh /opt/intel/openvino/install_dependencies/install_NCS_udev_rules.sh
- 配置OpenCV环境
sudo apt update sudo apt install -y python3-pip sudo apt install -y libopencv-dev sudo apt install -y python3-numpy pip3 install pillow
- 运行代码
下载所需图片和emotion.py后执行命令,导入cv2时触发错误。emotion.py前10行代码如下:
import cv2 import numpy as np from PIL import ImageFont, ImageDraw, Image import argparse import sys from openvino.inference_engine import IECore frame_png = cv2.imread("frame_main.png", cv2.IMREAD_UNCHANGED) face_png = cv2.imread("frame_face.png", cv2.IMREAD_UNCHANGED) gender_png = cv2.imread("frame_gender.png", cv2.IMREAD_UNCHANGED)
已尝试的修复方法
尝试用berry-conda调整环境,但安装依赖时失败:
(After berry-conda installation) pi@raspberrypi:/tmp $ which python /home/pi/berryconda3/bin/python pi@raspberrypi:/tmp $ which conda /home/pi/berryconda3/bin/conda pi@raspberrypi:/tmp $ python --version Python 3.6.1 pi@raspberrypi:/tmp $ conda install -c defaults libprotobuf protobuf Fetching package metadata ..... PackageNotFoundError: Package missing in current linux-armv7l channels: - libprotobuf
berry-conda已修改原有系统环境,目前不确定是继续调试该环境,还是重新安装系统从头配置更高效。希望得到相关解决建议。
内容的提问来源于stack exchange,提问作者IanHacker
相关产品推荐
相关产品推荐

