树莓派4B配置opencv340库及其contribute库(杂记)
作者:互联网
参考资料
步骤
- 下载树莓派系统,带桌面;我下载的是
2020-02-13-raspbian-buster.img
链接 - 安装系统,树莓派系统是装在SD卡的,相当于电脑的硬盘。准备一张16GSD卡(16g够了,不要太小,装写软件,存一点代码和视频什么的就剩的不多了)。然后先用读卡器格式化SD卡,格式化工具我的是
SD Card Formatter
。最后再把上面的系统write到SD卡里面。 - 烧好系统后!先不急这拔出来。如果没有外接屏幕的话需要配置网络,因为在同一局域网下才能通过vnc登入。当然有显示屏的可以不做这部,但我还是建议做。
配置wifi网络:先创建一个文件wpa_supplicant.conf
,内容 网络名是当前连接的wifi名字—最好加入手机热点
`ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN
network={
ssid="wifi名字"
psk="密码"
}
network={
ssid="手机热点名"
psk="密码名"
}
)
再创建一个ssh无后缀文件,两个文件都粘贴到sd卡,根目录下。
-
sd卡插入树莓派,用5v3A供电。我用的是手机快充一套,充电宝也行,但要注意typec连接线要粗一点,不然老是出现低电压worring。
-
用软件
Advanced IP Scanner
查找你树莓派的网络地址。如果笔记本和树莓派连接的都是手机热点,有的手机还能直接看ip地址,就用不到上面那个软件。 -
找到之后先用
putty
登入树莓派。默认用户名pi密码raspberry。输入sudo raspi-config
配置树莓派。因为配置了ssh文件,所以就已经开启了ssh服务。其他配置上面五篇文献应该有讲到。 -
通过
vnc
登入树莓派界面。用户名如下192.168.0.1:0
就是树莓派ip:0,为什么:0忘了。if出现无法打开,则再putty设置屏幕大小advance…–resulotion–16:9
顺便完成10的部分 -
换软件源: 换完之后更新
第一步, 备份文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
第二步,编辑系统源文件sources.list。
sudo nano /etc/apt/sources.list
第三步,将初始的源使用#注释掉,添加如下两行清华的镜像源。
注意:这里咱们用的树莓派系统是Raspbian-buster系统,所以在写系统源链接时要注意是buster,网上很多教程都是之前stretch版本,容易出错!
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
第四步, 编辑系统更新源raspi.list
sudo nano /etc/apt/sources.list.d/raspi.list
第五步, 将初始的源使用#注释掉,添加如下两行清华的镜像源。
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
第六步, 可不执行: sudo apt-get update -y
sudo apt-get upgrade -y
- 输入法:
https://blog.csdn.net/wei190328/article/details/106969316/
sudo apt-get install scim-pinyin -y
sudo apt-get install ttf-wqy-zenhei
reboot
sudo scim
-
树莓派内部设置
https://github.com/TommyZihao/Zihao-Blog/blob/master/02%E4%B8%80%E5%8A%B3%E6%B0%B8%E9%80%B8%E9%85%8D%E7%BD%AE%E6%A0%91%E8%8E%93%E6%B4%BE.md
-
安装opencv依赖 -y是吧y作为一个参数一般是是否升级y就是yes
sudo apt-get install build-essential git cmake pkg-config -y
sudo apt-get install libjpeg8-dev -y
sudo apt-get install libtiff5-dev -y
sudo apt-get install libjasper-dev -y
sudo apt-get install libpng12-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
- 安装opencv
https://blog.csdn.net/zqxdsy/article/details/102673226
https://blog.csdn.net/qq_41081677/article/details/88772217
https://blog.csdn.net/qq_41081677/article/details/88772217
https://www.jianshu.com/p/56929416b4a1
照着这几篇来的,包也是这边下的,缺少的文件csdn随便下的,就是下面几个文件
cd /home/pi/opencv340
unzip opencv-3.4.0.zip
unzip opencv_contrib-3.4.0.zip
unzip opencv3_cmake_files.zip
//创建编译文件夹
cd /home/pi/opencv340/opencv-3.4.0
mkdir build
cd build
//配置cmake环境,/home/pi/opencv340/opencv_contrib-3.4.0/modules我的opencv库的路径,下面时装一些c,c++的demo,我没装py的,少加点demo编译的快点。
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local \-D OPENCV_EXTRA_MODULES_PATH=/home/pi/opencv340/opencv_contrib-3.4.0/modules \-D WITH_LIBV4L=ON \-D INSTALL_C_EXAMPLES=ON \-D INSTALL_CXX_EXAMPLES=ON \-D BUILD_EXAMPLES=ON ..
//make编译,时间蛮长我的用了一个多小时,还是多线程编译的。就是sudo make -j4 。那个 或着 ,差不多就是多了个产生编译日志log。
cd ..
cp -r build build_bak
cd build
sudo make -j4
或者最后一行用sudo make -j4 2>&1 | tee make.log
- 这个显示ok,然后开始编译,
以下为编译时出现的错误,看上面某个文献解决的.
修改好直接重新编译
vim 出错的文件
进行修改,修改好sudo make -j4
。
include "opencv2/xfeatures2d/cuda.hpp"
vim /home/pi/opencv340/opencv-3.4.0/modules/stitching/include/opencv2/stitching/detail/matchers.hpp
52行改成
#include"/home/pi/opencv340/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp"
# include "opencv2/xfeatures2d/cuda.hpp"
vim /home/pi/opencv340/opencv-3.4.0/modules/stitching/src/precomp.hpp
92h行改成
#include"/home/pi/opencv340/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp"
#include "boostdesc_bgm.i"
//opencv340文件夹是我创建的存放opencv库和额外库的文件夹
cd /home/pi/opencv340/opencv_contrib-3.4.0/modules/xfeatures2d
sudo chmod 777 src
sudo cp -i /home/pi/opencv340/opencv3_cmake_files/*.i /home/pi/opencv340/opencv_contrib-3.4.0/modules/xfeatures2d/src/
cd /home/pi/opencv340/opencv-3.4.0/build
sudo make -j4
#include "opencv2/xfeatures2d.hpp"
vim /home/pi/opencv340/opencv-3.4.0/modules/stitching/src/matchers.cpp
52行改成
#include “/home/pi/opencv340/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp”
#include "opencv2/xfeatures2d/nonfree.hpp"
vim /home/pi/opencv340/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp
43行改成
#include “/home/pi/opencv340/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp”
或者移动文件夹xfeatures2d -----上面那个没用,我是用这种方法解决的
sudo cp /home/pi/opencv340/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d /home/pi/opencv340/opencv-3.4.0/build/opencv2
/home/pi/opencv340/opencv-3.4.0/modules/python/src2/cv2.cpp:885:34: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
注:发生这个错误之后,会编译很多东西有很多warning(不管他),会把这个error刷掉,我是在log找了好久才找到的
vim /home/pi/opencv340/opencv-3.4.0/modules/python/src2/cv2.cpp
885行加(char *)
13.1. 安装:
sudo make install
13.2. opencv配置
https://blog.csdn.net/zqxdsy/article/details/102673226
13.3. GCC编译出错,没加环境
这个 -lopencv_aruco因为用到了aruco库,不加这个环境就会出错
g++ create_board_charuco.cpp -o create_board_charuco -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_imgcodecs -lopencv_aruco
./test
(如果想要对程序进行调试的话 应在g++后面加上个-g)
- 备份系统 整卡备份只要大于镜像内存的sd卡就行
https://blog.csdn.net/sinat_16643223/article/details/108346538
- 杂技
远程桌面连接也可以用远程桌面连接win+r搜索,这个需要先安装xorg,输入密码用户名.
截图用什么来着,忘记了
标签:树莓,sudo,contribute,opencv,3.4,home,pi,opencv340 来源: https://blog.csdn.net/shengdashuai/article/details/115492155