首页 > 其他分享 >(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

时间:2022-12-25 13:00:12浏览次数:60  
标签:树莓 QT sudo apt 嵌入式 OpenCV 图像处理 PI

从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

1综述
2环境架设
3两个例子
4程序框架
5编译使用最新opencv
6综合实验
7拾遗



一、PI的综述



     树莓派(Raspberry Pi)凭借高度定制化和可玩性,深受科技宅青睐,2012年推出以来全球销量已达1250万块。成世界第三大计算平台。树莓派今年已经进化到第三代,搭载64位A53处理器,支持更多连接,还有更小巧的Pi Zero版本(后面有图的)。大家可以上它的官网加深了解。



 




(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练_图像处理


PI能够用来进行多种工作,因为它本身就是一个功能完善的系统,基于Linux的高度开源特性,通过程序员和工程师们的奇思妙想,能够自由组装成多种有趣的项目。比如(内容引自树莓派实验室):超级计算机



(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练_嵌入式_02


   比如视频服务器:


 



(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练_树莓派_03



(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练_树莓派_04


   以及加上一些外设:



(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练_图像处理_05


等等。如果想进一步了解,推荐去“ 树莓派实验室 ”看一看。​​http://shumeipai.nxez.com/​


二、PI用来做图像处理硬件平台的优势:


     一直以来,我一直在为一些算法寻找嵌入式的平台。但凡有嵌入式需求的算法,大多是需要在现场(而不是流水线或实验室)、需要实时显示效果、能够较长时间稳定运行的。应该说以图像增强类的算法居多,比如非常典型的血管增强等。由于我有一定嵌入式系统的背景,所以尝试过ARM系列的机器,也在DPS上面做过一些实验,也考虑过基于安卓手机的硬件,包括PI2之前也是接触过的。但是在之前,问题还是比较集中的


     1、性能问题。在PI2上,想实时显示640*480的摄像头拍摄内容都卡顿严重,更不要谈去做图像处理了.arm9一类的摄像机都有类似问题;


     2、移植问题。通过JNI将目前以C++为基础的算法在安卓上移植是可行的,但是中间毕竟有一个语言转换的过程,如果改成DPS的程序,则算法几乎要重写。;


     3、调试问题。正是因为工具链的不同,现有算法在移植中很难调试,再加上很慢的速度,让人难以接受。


所以一段时间,我在图像处理嵌入式这块没有很大的推动,直到PI3问世:


    下面两图是它的参数和价格(我购买了包括触摸屏的套件,但是sd卡是自己的,不到500元):



(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练_嵌入式_06


 


(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练_嵌入式_07


     这个硬件当然比PC还是要差的,但是也已经很强的。实时的640*480的视频在加上图像处理已经不成问题。


实际上,我们整个实验最终要完成一个“各种类型特征点实时匹配”项目,也是对PI3性能的一个评测。


安装好的样子(可以看到,为了方便,直接使用橡皮筋将摄像头进行了加固):


 



(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练_嵌入式_08



(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练_树莓派_09



(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练_图像处理_10


 


当然,前面说过的所谓PIzero就是更小的PI,它的盒子很酷:



(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练_图像处理_11


三、PI的安装配置:


     购买的时候,商家会给很多有用的资料,这个要仔细看。我这里简单罗列一下:


1、烧录到SD卡中



(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练_嵌入式_12


2、上电开机,第一件事是配置网络(无线有线都可以)

3、网络配置好后,首先要运行


sudo apt -mark hold raspberrypi -bootloader


因为目前还不知道这个rm的编译方式,所以内核不能改,否则会出现错误(常见的就是触摸屏失效)

然后执行


sudo apt -get update 
sudo apt -get upgrade


 


4、在执行树莓派固件升级命令(这一步一定要谨慎,如果你使用的是专用rm,比如触摸屏专用的,这步最好不要进行)


sudo rpi -update


5、安装中文字体


sudo apt -get install fonts -arphic -gbsn00lp


输入法


sudo apt -get install scim -pinyin


解压缩软件


sudo apt -get install p7zip -ful l


调整国家、 时区 后重启,进入中文界面。



(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练_嵌入式_13



(1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练_嵌入式_14


那么目前就有了一个基本的平台,下一步马上转入图像处理平台的构建。



标签:树莓,QT,sudo,apt,嵌入式,OpenCV,图像处理,PI
From: https://blog.51cto.com/jsxyhelu2017/5968127

相关文章

  • AnswerOpenCV学习_Opencv multiple circle detection in a image
    ​​https://answers.opencv.org/question/234920/opencv-multiple-circle-detection-in-a-image/​​​​​​原图如上,目标是从这副图片中寻找“细胞”......
  • 基础的基于QT的图像查看程序
    一、基本功能基于"混合UI"界面设计,以及QTreeWidget、QDockWidget使用(通过将一个QTreeWidget组件防止在QDockWidget区域上,并设置其可以在主窗体的左边或右边......
  • OpenCV例程_stereo_calib.cpp解析
    stereo_calib是OpenCV官方代码中提供的最正统的双目demo,无论数据集还是代码都有很好实现。一、代码效果:相关的内容包括28张图片,1个xml和stereo_calib.cpp的代码......
  • OpenCV自带dnn的Example研究(6)— text_detection
    ​​https://docs.opencv.org/master/examples.html​​下的6个文件,看看在最新的OpenCV中,它们是如何发挥作用的。在配置使用的过程中,需要注意使用较高......
  • 基于OpenCV做“三维重建”(1)--找到并绘制棋盘
       这里我要做的是第11章,关于3维重建的相关内容。【读书,做例子,多么轻松的学生岁月……】例子11.2.1获得图片的角点并且绘制出来。//GOCVHelper.cpp:定义......
  • 基于OpenCV做“三维重建”(3)--相机参数矩阵
        通过前面的相机标定,我们能够获得一些参数模型。但是这些相机的参数矩阵到底是什么意思?怎样才能够判断是否正确?误差都会来自哪里?这里就必须要通过具体实验来加深......
  • 基于OpenCV做“三维重建”(4)--相机姿态还原和实现三维重建
    在这个动画中,注意图片后面的那个黑线,对应的是相机的位置。/*------------------------------------------------------------------------------------------*\......
  • GOQTTemplate3的多线程化改造
      GOQTTemplate3作为一个QT+OpenCV的平台,希望能够为使用者提供基础的跨平台的图像处理框架。图像处理算法和GUI两个线程的隔离,是必然需要的。在之前的版本中,都采用了......
  • OpenCV自带dnn的Example研究(1)— classification
    ​​https://docs.opencv.org/master/examples.html​​下的6个文件,看看在最新的OpenCV中,它们是如何发挥作用的。在配置使用的过程中,需要注意使用较高......
  • QTP调用自己开发的.net类库
    作者:天彤我现在用的是​​QTP​​9.2,这个版本提供了调用.net框架的功能,使用DotNetFactory对象就可以实现。QTP的帮助文档里面提供了一个例子: Setvar_Crea......