You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派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]

复现步骤

  1. 安装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
  1. 配置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
  1. 运行代码
    下载所需图片和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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 19:20:53