吴旭华 发表于 2024-7-26 00:02:19

香橙派/树莓派 电脑linux 电赛备赛指南-opencv全过程最简安装,ssh,vnc,U

1、媒介(本教程适用于香橙派/树莓派 电脑端ubuntu)

老早就想写博客了把之前的项目都记录下来,但是一直碍于每次做完项目都挺累的,于是就偷懒没写,不过每次做完都有总结,如今已经大三了,觉得应该把本身之前学习过程中遇到的经验或者坑写出来,后面会陆连续续的发出来,今天先来讲一下有关这份博客的条件配景吧,客岁国赛的时候我负责STM32部分但是队友的视觉缺掉了链子,以及前期备赛的不充实,队友之间的磨合不够等等,最终稍有遗憾省二。今年省赛改了赛制,以国赛情势进行,于是再次拉起了一个队伍,这一次盼望能做好万全准备进行比赛,因为很大一部分人不会视觉,包罗我之前也只接触了有K210的部分,所以也是0基础,大家如果也是雷同STM32转视觉的话,我花了半个月天天熬夜踩的坑,重装了十频频系统,盼望能够帮到看这篇博客的朋友们。手头上用的是香橙派,但是发现生态还是有所欠缺,并且香橙派还是借的室友的,本来计划后期去买一个二手树莓派来方便比赛的,有天看到有一个开发板体验官的计划,于是参与了一下,很有幸被选中,我将珍惜这个来之不易的机会。感谢贸泽电子的支持。
2、香橙派/树莓派区别(电脑端linux跳过这步)

实在本质一样都是跑在arm端修改后的ubuntu,香橙派大部分情景下使用树莓派的教程都是可行的,不过有一部分必要参考使用手册,如果是树莓派用户就比力轻松些,另外就是香橙派遇到问题尽量多查看使用手册,以及多使用AI或者上百度谷歌搜刮问题,祝你们设置过程一切顺利。香橙派的默认密码是orangepi,如果是树莓派可能是raspberry
3、安装系统(电脑端linux跳过这步)

请自行备一张8G以上的SD卡,32G就差不多,自行去到对应pi的官网上下载img镜像,下载后使用Win32DiskImager工具,插入读卡器选择盘货击写入即可。工具链接放在下面,纯绿色放心使用,点击写入后一直点确定就行了,记得选好磁盘设备。https://i-blog.csdnimg.cn/blog_migrate/e508a9d77ee72a8706b6b6cfb92dbc36.pngWin32 Disk Imager download | SourceForge.net
4、设置opencv环境

看到网上很多都说要先换国内源这样下载opencv会快些,颠末我这段时间重装不下10次系统的经验,直接用原本的源也挺快的,整个部署所有过程大概半小时就可以完成,所以感觉快不了多少,而且如果用电脑的linux话大概率还要改返来,比力烦人,这里就不过多赘述了。
1.起首安装自动安装依靠软件aptitude,请一定要安装这个,因为很多软件都必要下载依靠,这个可以自动匹配依靠文件并且下载能淘汰安装时出现的很多问题。而且依靠关系一旦缺少的多了,系统轻易挂壁,另外就是,在设置环境的时候系统某个文件堕落导致系统进不去很正常,系统崩溃也很正常,多崩溃频频就好了,系统会,人不会,这也是磨练心态的一种方法吧
   sudo apt-get install aptitude
2.安装python3
   sudo apt-get install python3-pip 
 3.运行python3查看是否成功安装
在终端上直接输入python3
    python3
 出现以下界面就代表安装成功了
https://i-blog.csdnimg.cn/blog_migrate/befc51913304b9a96284ab2498c6c980.png
4.接下来直接安装opencv 
   sudo apt-get install python3-opencv 
接下来耐烦等待安装 
安装好后同样的进入python3 
   python3
    import cv2 
    cv2.__version__ 
此时如下图所示出现版本号即代表安装成功 
 https://i-blog.csdnimg.cn/blog_migrate/00f201a21b738cba0e907858c4f97b23.png
 5.鉴于我们使用的是淘宝上60块的usb免驱摄像头,发现如果以linux原生驱动的话,出来的画面很大,而且很卡还有果冻效应,虽然摄像头支持720p像素,但是考虑到太大了,还是必要更改为640x480的尺寸来跑比力合适。这里我们使用V4L2驱动,跟着下面命令进行V4L2驱动工具安装
   sudo apt install v4l-utils//安装v4l2工具包
 插入usb摄像头 此时使用lsusb命令来查看摄像头是否挂载
   lsusb
https://i-blog.csdnimg.cn/blog_migrate/b87a050e2b6d50793e8d0a1e28f16a79.png 这里可以看到ID 是USB Camera的摄像头已经设别到了
然后使用以下命令进行查看设置 
   sudo v4l2-ctl -d /dev/video0 --set-parm=30//设置帧率 
sudo v4l2-ctl --set-fmt-video=width=640,height=480,pixelformat=MJPG//设置为宽640高为480 输出视频流为MJPG
https://i-blog.csdnimg.cn/blog_migrate/23662401da79a1d0051beb1c5f875f6c.png
 如果出现以上则代表摄像头能够正常驱动了,而且是以30帧的情势,如果只显示定死的5帧和10帧那你就必要先使用测试程序跑一遍摄像头再进行以上设置,大概率美满驱动,驱动程序我放下面了,一定注意如果是摄像头直插电脑则使用0号设备 如果是树莓派或者香橙派请默认使用1,cap = cv2.VideoCapture(0, cv2.CAP_V4L2)在这里进行修改,这个我也不明确,香橙派会认定插入的这个设备是第二个设备,可能是已经有设备先占用了,所以大家不妨0,1,2都试试。
初次使用的朋友不知道怎么在ubuntu上跑py脚本,下面简单先容
起首你先vim xxxx.py //这个xxxx由你本身设置,最好英文
    vim test3.py
https://i-blog.csdnimg.cn/blog_migrate/c1f71a1301f75003e0ade7c76b20d365.png
按下回车,然后进入到这个界面https://i-blog.csdnimg.cn/blog_migrate/d9151d946df5350e8e9a32f96d5a7825.png
然后全选复制以下代码 按下方向键上面的谁人ins键用于进入编辑模式,然后再ctrl+shift+v粘贴
    import cv2

cap = cv2.VideoCapture(0, cv2.CAP_V4L2)//如果是摄像头直插电脑则使用0号设备 如果是树莓派或者香橙派请默认使用1

while True:
    ret, frame = cap.read()
    if ret:
        cv2.imshow("frame", frame)

    if cv2.waitKey(1)==27:
        break

cap.release()
cv2.destroyAllWindows()
然后多按频频ESC键退出编辑模式 再按shift+: 在终端窗口左下角会显示:你再输入wq! 然后回车 意思是逼迫 写入 退出 这样你就把上面这串代码添加进了test3.py这个文件里。
 https://i-blog.csdnimg.cn/blog_migrate/5671ccc4d70114bef0674c16211416c4.png
输入ls命令查看当前文件夹文件,你就能看到test3.py文件了
https://i-blog.csdnimg.cn/blog_migrate/b6f7aa4434af796537e0e7b95440c927.png
 接下来运行python3 test3.py
   python3 test3.py
 如果一切正常,这时候会出现视频流画面,如有错误请继承看下去
https://i-blog.csdnimg.cn/blog_migrate/a3c802e5512cccef4fdfa5e3f1605e4e.png
那么恭喜你,到了这一步已经完成oepncv的安装以及驱动摄像头了,剩下就是代码本身敲了,开启新天下的大门。
但如果你出现了下图这种情况,也不要慌张,这就是上面所提到的 设备没选对,你去把test3.py的cv2.VideoCapture(0, cv2.CAP_V4L2)改成cv2.VideoCapture(1, cv2.CAP_V4L2)大概率就好了。
https://i-blog.csdnimg.cn/blog_migrate/60046aeb52107a1f298f2c871d17dab2.png
 5.ssh设置

 这是一个很告急的东西,因为条件有限,又或者不想每次都插屏幕,拔线又麻烦,于是ssh可以直接从你的写代码的电脑上直接命令行操控你的派,可以在不要显示器的情况下完成很多功能,尤其是只有一套键鼠的小同伴,大大降低了你的插拔频率,不至于浪费时间,如果有多套键鼠,以及多个屏幕的小同伴,那你可以直接把它当电脑使用,另外就是还要用一个sftp的功能去把你在电脑上写的代码直接通过局域网去推给你的派,这样子就省去了上面那样新建文件还要复制粘贴的繁琐操作。
起首开启你的派的ssh,这个由各家派的官方给的东西来确定,你必要本身去查查手上的派的ssh如何打开,这里没办法同一,所以暂不叙述。不过这个ssh打开后,设置成开机时自动启动,就可以做到无显示屏进行控制了,这里我以香橙派的ssh链接做示例,windows使用putty工具进行ssh链接,linux直接使用ssh命令即可。
1,起首你必要知道你的派所连的局域网的ip地点
请在派上输入ifconfig命令用于查看当前ip地点
   ifconfig
https://i-blog.csdnimg.cn/blog_migrate/7c04fbcd780958337d2bf71ca38c37f3.png 这样192.168.31.202就是我的派在局域网的ip 得到了局域网ip我们就可以通过用户名加ip找到我们的派
如果是在linux系统上进行操作 确保派已开机 在电脑的终端上写入ssh 用户名@IP地点 即可 例如
   ssh orangepi@192.168.31.202
接下来就会显示让你输入密码,这个密码是不可见的,所以你只管输入就行,并不是你没法输入密码
https://i-blog.csdnimg.cn/blog_migrate/47c08778d0401eba395813ace3bc022f.png
密码精确输入回车后就会进入到你的派的终端了 
https://i-blog.csdnimg.cn/blog_migrate/3c28b592792b6e5639ae72c5508bd72e.png
接下来你就可以做到在电脑写命令,派上执行了。
6.VNC设置 

我们常常碍于有时候想要看看代码执行在arm端上的结果,但是又没法通过ssh的文本情势看到,于是,VNC出现了,它能够直接从我们的电脑上直接看到派当前运行的桌面,这样子你就做到了一个显示器看两个设备的画面了,并且还可以实时控制,以下是我在电脑端的截图
https://i-blog.csdnimg.cn/blog_migrate/07221647431ea8266ddcf7e5f036658d.png 我们该如何设置呢?很简单,起首你想要一个VNC的软件,电脑端装上它的viewer端,arm端装上它的服务端,那么他们都开启后就可以从电脑上监视arm当前的运行情况了,这里我保举电脑端安装realvnc 这个是下载地点Download the combined RealVNC Connect installer - RealVNC®
 如果你是windows就装windows客户端,如果是linux就装linux客户端,界面都是一样的

arm端的就是直接通过命令行来安装,碍于篇幅缘故原由,我提供一个我一直参考安装的CSDN的一篇文章,按照他的命令行去安装即可Ubuntu系统安装X11VNC实现远程可视化桌面操作教程_ubuntu22安装x11vnc-CSDN博客
当你在arm端上安装好了x11vnc,并且设置好后,只必要在arm端终端使用 x11vnc即可
   x11vnc
 设置好密码后,接下来就会出现以下界面,有端标语就代表开启成功了。
 https://i-blog.csdnimg.cn/blog_migrate/f3fe92f5aedea63a6ce4f0bd6f45ee56.pnghttps://i-blog.csdnimg.cn/blog_migrate/3094312e90087d6bad8e566956de00f8.png
还请注意这个PORT端口,首次连接时,你不仅必要IP地点也必要端标语才能来连接
然后你确保arm端x11vnc开启后再打开电脑realvnc客户端,然后按下图设置好后回车即可
https://i-blog.csdnimg.cn/blog_migrate/dd1d93a00bbf926b5f89e254cf0fffc2.png
 出现框点击确认即可,第一次必要输入密码,这个就是你在arm端上的设置密码,输入精确后,就会出现以下画面,就代表你已经完成了VNC的设置,并且可以远程操作你的派,而且不必要多一套显示器键鼠,只必要在一台电脑上即可,粘贴板也是共享的,你就可以在你电脑上写opencv代码然后通过sftp来把写好的代码发送给派去跑,这样子视觉部分就配完了https://i-blog.csdnimg.cn/blog_migrate/57037f44f980df6801c98bcbb2467c77.png
7、踩坑

第一个坑,aptitude依靠文件的下载,如果没有这个软甲,那很多依靠关系都要本身设置,另外就是看网上下载opencv还要换到国内源,之前一不警惕换了,下好之后换不回去了,导致后面下其他东西都很麻烦,于是跳过了这一步,另外就是,在设置摄像头时,一开始不知道要用v4
l2驱动,导致我以为买的摄像头太垃圾乃至想去换一个了,而且网上有关的内容资料很少,也是各种查找才知道这个方法,然后就是有关代码的编写,我发起安装一个vscode 然后 把python 和通义灵码插件安装上,它可以根据你的注释生成你必要的代码,而且服从很高,你只必要有一个处理图像的思路就可以很快的把代码写出来,所以在我看来,处理图像最关键就是思路,代码反而不是什么大问题,后面的时候我会更一些我学习的思路,期间我踩的最大的坑就是设置完VNC后,派一直卡在进入界面而且一直要求输入密码,然后又重复卡在进入页面输密码,我翻了很多的有关资料都没找到,在贴吧偶然瞥见一个老哥的贴下面用这种方法就完成了,我也贴出来给有必要的朋友吧,
在派上终端输入
   rm /home/用户名/.Xauthority
 删除了这个文件后,这个大坑终于被办理了,我在这上面装了不下十次系统才发现了的问题,也算是一个教训吧,而且玩这些派最不怕的系统挂壁,大不了就重装,写这篇博客的目的也是为了防止后期我的派又挂壁了,要一个一个命令去输,反正多去系统挂壁频频自然就纯熟了。
 8、结尾

这篇教程只是这一半个月学习opencv阶段的总结,后面也会继承写一些有关opencv的处理思路,等我偶然敲代码累了就慢慢的把以前的项目拿出来也发出来供参考一下,另外就是备赛情况也会偶然拿出来进行阶段性展示,与各位共勉。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 香橙派/树莓派 电脑linux 电赛备赛指南-opencv全过程最简安装,ssh,vnc,U