树莓派学习笔记1—编译opencv时遇到的坑

这篇博客记录一下我千辛万苦配置好的树莓派的历程,当成是备忘录好了。(实在是太难了)

前文的碎碎念:

由于我刚开始学图像处理的时候用的是C++写算法,树莓派3b+买回来后需要用源码安装的方式来安装OpenCV,才能跑我以前写的程序,看了论坛上很多源码安装OpenCV的教程,帮助很大,感谢这些教程的提供者,但还是有一些其他教程没有解决的地方。

坑一:OpenCV源码编译缺少cuda.hpp文件的情况

这个问题实际上是我树莓派源码编译Opencv遇到的搞事情程度最大的一个问题,把这个放在最前面。
之前查了很多相关的教程,方法试过了没啥用,该缺少还是缺少,后面自己看报错慢慢试终于解决了这个问题
解决方法:

/home/pi/opencv_contrib3.4.1/modules/xfeatures2d/include/opencv2/xfeatures2d

将以上路径中xfeatures2d文件夹复制到以下路径中去

home/pi/opencv-3.4.1/modules/stitching/include/opencv2

坑二:在编译OpenCV之前没先扩展swap

这个是我树莓派编译OpenCV的最后一步,本来以为cuda的坑填了之后就稳了,结果编译到99%的时候被制裁了,树莓派3B+编译到最后一步直接卡死
具体的解决方法网络上很多,都可以解决问题,懒得找得话,代码如下:

mkdir /swap 
cd /swap 
sudo dd if=/dev/zero of=swapfile bs=1024 count=2000000 
sudo mkswap swapfile
sudo swapon swapfile
查看swap空间大小的命令
free -m

其他的小贴士(备忘)

1、安装OpenCV 时放心大胆的用 sudo make -j4命令
有的博客说会出现问题,但至少我安装OpenCV的十几次过程中没有出现问题,不用四核编译效率实在太低

2、编译缺少xfeatures2.hpp等文件,网络例子有,可以解决

3、C++写的OpenCV程序编译及运行

cd 相应文件名      // 打开相应文件夹,ls 命令是查看该文件名下文件
g++ test.cpp `pkg-config opencv --libs --cflags opencv` -lwiringPi//test.cpp为需要编译的文件
./a.out           //运行编译出来得程序

4、有时候会遇到putty可以连上树莓派但是VNC连不上的情况
Putty连接,输入vncserver复制返回给你的192.168.1.xxx:x
打开VNC,删掉之前的地址,新建一个,根据提示输入树莓派的帐号密码登录
但是有时候这样做完VNC还是连不上,重启后可以,我也不知道为啥

你可能感兴趣的:(树莓派)