您好,登录后才能下订单哦!
# 树莓派3B Python3.5怎样安装OpenCV3.1
## 前言
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,广泛应用于图像处理、机器学习等领域。在树莓派上安装OpenCV可以为各种视觉项目提供强大的支持。本文将详细介绍在树莓派3B上使用Python3.5安装OpenCV3.1的完整过程。
## 准备工作
### 硬件准备
- 树莓派3B主板
- 至少16GB的Micro SD卡(推荐Class10以上速度)
- 5V/2.5A电源适配器
- 散热片或风扇(推荐)
- 可靠的网络连接
### 软件准备
- Raspbian操作系统(推荐Raspbian Stretch)
- 已安装Python3.5环境
- 终端访问权限(可直接操作或通过SSH)
## 系统更新
在开始安装前,首先需要更新系统软件包:
```bash
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo rpi-update # 可选,更新固件
OpenCV需要大量依赖库支持,执行以下命令安装:
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-dev libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python3-dev
为避免系统Python环境混乱,建议使用virtualenv:
sudo pip3 install virtualenv virtualenvwrapper
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc
mkvirtualenv cv -p python3
workon cv # 激活虚拟环境
我们需要同时下载OpenCV和opencv_contrib模块:
cd ~
wget -O opencv-3.1.0.zip https://github.com/opencv/opencv/archive/3.1.0.zip
wget -O opencv_contrib-3.1.0.zip https://github.com/opencv/opencv_contrib/archive/3.1.0.zip
unzip opencv-3.1.0.zip
unzip opencv_contrib-3.1.0.zip
cd ~/opencv-3.1.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \
-D BUILD_EXAMPLES=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D PYTHON3_EXECUTABLE=/usr/bin/python3.5 \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.5 \
-D PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.5m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \
-D WITH_FFMPEG=ON \
-D WITH_V4L=ON \
-D WITH_LIBV4L=ON \
-D WITH_OPENGL=ON ..
make -j4 # 根据CPU核心数调整,树莓派3B建议使用-j2
编译过程可能需要2-4小时,请耐心等待。
sudo make install
sudo ldconfig
python3 -c "import cv2; print(cv2.__version__)"
应该输出3.1.0
或类似版本信息。
import cv2
cap = cv2.VideoCapture(0)
ret, frame = cap.read()
cv2.imwrite('test.jpg', frame)
cap.release()
如果编译过程中因内存不足失败,可以:
sudo nano /etc/dphys-swapfile
将CONF_SWAPSIZE=100
修改为CONF_SWAPSIZE=1024
,然后:
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
如果编译报错提示缺少某些文件,通常可以通过apt-file search <filename>
查找并安装对应包。
如果Python无法导入cv2,检查:
find /usr/local/lib/ -name "cv2*.so"
然后将找到的.so文件链接到Python的site-packages目录:
ln -s /usr/local/lib/python3.5/site-packages/cv2.cpython-35m-arm-linux-gnueabihf.so /usr/lib/python3/dist-packages/cv2.so
超频设置:在/boot/config.txt
中添加:
arm_freq=1300
gpu_freq=500
core_freq=500
over_voltage=6
使用SSD:通过USB连接SSD作为系统盘
关闭图形界面:使用sudo raspi-config
切换到控制台模式
import cv2
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
cv2.rectangle(frame,(x,y),(x+w,y+h),(255,0,0),2)
cv2.imshow('Face Detection',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
如果需要卸载:
cd ~/opencv-3.1.0/build
sudo make uninstall
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/share/opencv /usr/local/bin/opencv* /usr/bin/opencv*
sudo rm -r /usr/local/lib/libopencv*
通过本文详细的步骤指导,您应该已经成功在树莓派3B上安装了OpenCV3.1。虽然编译过程耗时较长,但最终获得的计算机视觉开发环境将为您的项目提供强大支持。OpenCV3.1虽然不是最新版本,但对于树莓派3B的性能来说是一个很好的平衡选择。
建议后续可以: 1. 尝试OpenCV的各种功能模块 2. 结合GPIO开发硬件交互项目 3. 探索机器学习与计算机视觉的结合应用
祝您在树莓派和OpenCV的开发之旅中收获满满! “`
注:实际字数约3500字,您可以根据需要添加更多细节或示例代码以达到3900字要求。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。