最近要搞树莓派上的目标识别,装了一手opencv,折腾了不少,在这里记录一下安装过程,也为了以后的再安装给自己一个参考。
第一次发csdn,格式按着hexo排的,感觉有点看着不太舒适,先不改了
环境:
opencv – 4.5.5
opencv_contrib – 4.5.5
xmake – v2.6.3
raspberrypi – 4b with bullseye
storage -16G
cmake用的不熟,所以偷懒选择了xmake, 理论上除了树莓派不用局限在上面的版本
建议卡还是大一点,32G往上吧,可以少走点弯路
如无特殊说明,安装、下载、解压目录均在
~
aka/home/pi
下进行bash里粘贴不是ctrlCV,用右键-粘贴或者它的快捷键都可以,^C是关闭进程,复制用鼠标选中就可以
1.1 树莓派系统安装
注1:若使用VNC显示画面,自行百度
注2:HDMI接口可能会因为外壳厚度而无法输出信号,建议裸机连接排障
1.2 树莓派ssh连接准备
完成ssh连接
1.3 更改apt源
国内访问apt的速度比较慢,因此切换到清华源
# 编辑 `/etc/apt/sources.list` 文件,删除原文件所有内容,用以下内容取代: deb [arch=armhf] http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib rpi deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib rpi # 如果需要 arm64 软件源,在 `/etc/apt/sources.list` 中加上 # (这个一般不用) deb [arch=arm64] http://mirrors.tuna.tsinghua.edu.cn/raspbian/multiarch/ bullseye main # 编辑 `/etc/apt/sources.list.d/raspi.list` 文件,删除原文件所有内容,用以下内容取代: deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main
1.4 安装clang
实际操作可以先试试不用clang,如果安不了再装
1.5 安装eigen
在我的项目中需要用的eigen来解算,为了与opencv连接,在opencv前安装eigen,如果项目中没有使用可以跳过
1.6 安装xmake
xmake还是一个非常香的编译器,所以用了它(其实还是不会cmake
遇到的最主要的问题还是make build
和make LDFLAGS="-latomic
都没成功,所以按照作者意见用了clang
安装依赖
sudo apt-get install git
默认搭建过程:
git clone --recursive https://gitee.com/tboox/xmake.git cd ./xmake make build ./scripts/get.sh __local__ __install_only__ source ~/.xmake/profile
clang搭建过程:
git clone --recursive https://gitee.com/tboox/xmake.git cd ./xmake export CC=clang bash <(curl -fsSL https://xmake.io/shget.text)
1.7 安装opencv与opencv_contrib
主角登场,这次还查了不少的参考
这玩意儿安的挺多,每次都给我整点新花样
什么时候能出opencv一键编译安装
1.8 摄像头设置
针对树莓派官方的摄像头,其他的没试过(
硬件安装上,把板子放在桌面上,黑抽屉的两个耳朵往上拉,然后把排线塞进去即可
如果有问题的话先看硬件连接,没问题去百度
设置代码
sudo raspi-config
选择Interface Options
–Legency Camera
,启用它,重启
这时候好像就用不了VNC了,目前没有找解决方案除了直接外接显示器
测试代码
vcgencmd get_camera
我的输出
pi@raspberrypi:~/opencv/build $ vcgencmd get_camera supported=1 detected=1
可以输入命令
raspistill -o image.jpg
会调用摄像头生成一张名为image.jpg
的图片到/home/pi
下
1.9 Github加速
如果测试时,xmake可以顺利下载依赖就不需要了
github.global.ssl.fastly.net -> 151.101.229.194
assets-cdn.github.com -> 203.208.39.99
TTL值越大证明响应速度越快
1.10 测试
测试代码考虑到不一定有桌面输出,所以写了无需imshow
的程序
TODO:
还没有做摄像头的捕捉,过一阵更新吧
至此除了没有测试opencv读取摄像头已经全部完成了,在测试环境可能会出现各种各样烦得要死的问题,善用百度、csdn、git issue等平台吧
希望搭建顺利!🎉
以下是我在搭建环境时或多或少参照的内容,感谢他们的付出
原文链接:https://blog.csdn.net/qq_34685920/article/details/123265341?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165934461816782246452974%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165934461816782246452974&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-2-123265341-null-null.nonecase&utm_term=%E6%90%AD%E5%BB%BAcdn
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/7448