本项目在RK3399Pro上安装opencv-3.4.1
1)更新源
sudo apt-get update
2)安装cmake
sudo apt-get install cmake
3)安装相关依赖包
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
4) 确认python3相关安装完整
sudo apt-get install python3 python3-dev python3-pip
pip3 install numpy
1)从opencv所在路径打开终端(本项目安装的是opencv-3.4.1,压缩包为opencv-3.4.1.zip)
unzip opencv-3.4.1.zip
1)进入opencv解压所在目录
cd opencv-3.4.1 #这里进入源码压缩包解压的文件夹
2)创建文件夹目录用来存放编译后的opencv库
mkdir open_build #名字可自由发挥
cd open_build #进入创建的目录
3)执行cmake从源码构建项目
cmake -D BUILD_opencv_python3=YES -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES=../modules -D PYTHON3_EXECUTABLE=/usr/bin/python3 -D PYTHON_LIBRARIES=/usr/lib/arm-linux-gnueabihf/libpython3.5m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/home/rpdzkj/.local/lib/python3.5/site-packages/numpy/core/include ..
执行完查看终端记录python3对应的路径是否找到并有效
4)执行make编译和安装
sudo make
sudo make install
更新动态库
sudo ldconfig
注:打开opencv的CMakeLists.txt,查看python3安装相关变量,下面是opencv的CMakeLists.txt关于python的代码。
cmake 需指定python库安装路径,方能在python中直接使用opencv
if(BUILD_opencv_python3)
status("")
status(" Python 3:")
status(" Interpreter:" PYTHON3INTERP_FOUND THEN "${PYTHON3_EXECUTABLE} (ver ${PYTHON3_VERSION_STRING})" ELSE NO)
if(PYTHON3LIBS_VERSION_STRING)
status(" Libraries:" HAVE_opencv_python3 THEN "${PYTHON3_LIBRARIES} (ver ${PYTHON3LIBS_VERSION_STRING})" ELSE NO)
else()
status(" Libraries:" HAVE_opencv_python3 THEN "${PYTHON3_LIBRARIES}" ELSE NO)
endif()
status(" numpy:" PYTHON3_NUMPY_INCLUDE_DIRS THEN "${PYTHON3_NUMPY_INCLUDE_DIRS} (ver ${PYTHON3_NUMPY_VERSION})" ELSE "NO (Python3 wrappers can not be generated)")
status(" packages path:" PYTHON3_EXECUTABLE THEN "${PYTHON3_PACKAGES_PATH}" ELSE "-")
endif()
PYTHON3_EXECUTABLE =
PYTHON_LIBRARIES =/usr/lib/arm-linux-gnueabihf/libpython3.5m.so #python本身的动态链接文件
PYTHON3_NUMPY_INCLUDE_DIRS = /usr/lib/python
执行如下命令,测试opencv是否安装成功
python3
然后进入到python3的shell交互环境后,输入如下命令
import cv2
如果没有报错,那应该是安装成功了
下面附上查询opencv版本号的命令
pkg-config --modversion opencv
1)进入python3的shell交互环境后,输入如下命令查看相关python路径
import sys
sys.path
2)opencv源码编译好,在python3交互环境中执行import cv2
出现ImportError: No module named 'cv2'
请仔细检查执行cmake从源码构建项目
cmake -D BUILD_opencv_python3=YES -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES=../../opencv_contrib/modules -D PYTHON3_EXECUTABLE=/usr/bin/python3 -D PYTHON_LIBRARIES=/usr/lib/arm-linux-gnueabihf/libpython3.5m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/home/rpdzkj/.local/lib/python3.5/site-packages/ ..
1. 指定参数的时候有些没加-D
2. 没有启用BUILD_opencv_python3
3. 部分变量名错了
4.路径错误,请仔细检查每个路径确实存在有效
感谢阅读,我是智科创玩,希望文章能够解决您的问题。
事为之,须极致!