Ubuntu/Linux 下配置OpenCV 3.3 开发环境,搭建IDE CLion/QT Creater 5.0

       近两年AI人工智能如爆炸般狂飙突进,AI的三大核心:算法+数据+硬件(GPU)。综合考虑性价比(昨天谷歌上线了云端TPU,价格好像是6美刀左右一小时),在嵌入式方向,硬件上现阶段NVIDIA的GPU应该是一骑绝尘吧,而且老黄已将降AI作为支柱业务一样发展,AI的开发生态就数他家了。单位正在用Jetson TX1 开发板搞高性能HPC计算平台,正好可以搞搞算法。

一、硬件开发环境:嵌入式Jetson TX2开发板,arm64的,开发板自带存储空间32GB,内存8GB。

二、软件平台:开发板用的Ubuntu 16.04,Jetpack 3.1,OpenCV 3.3,Clion for Linux版本。

三、OpenCV 3.3安装:

        Jetson TX2 开发板可以使用三种OpenCV:(1)普通的OpenCV (2)带GPU加速的(标准OpenCV的一部分)(3)OpenCV4Tegra(带GPU加速)

。但是由于专利问题,OpenCV4Tegra 不带SIFT和SURF算法。当用到该两个算法时要自己复制添加源文件到工程里了,其他部分还是可以得到GPU加速的。使用标准的OpenCV的话,带GPU模块的可以加速,但是没有CPU优化,不如OpenCV4Tegra。但实际性能差距多少,没比较过。这里选用的OpenCV3.3标准版。如果刷的Jetpack 3.2的话,比较推荐用OpenCV4tegra,其用的也是OpenCV 3.3版本。既然是开发,那就用最新版本,省的以后再换。
        安装标准版OpenCV3.3,可以按照 JetsonHacks网站  http://www.jetsonhacks.com/2017/09/08/opencv-python-onboard-camera-nvidia-jetson-tx2/  的教程。
        安装过程:(1)从GitHub上clone下工程后,执行 ./buildOpenCV.sh,会安装OpenCV 3.3 的各种相关文件,
                          (2)cd $HOME/opencv/build, 然后 sudo make 
                          (3) make instal 即可
                          (4)测试安装是否成功,可以cd buildOpenCVTX2/Examples/ 目录下,编译那个gstreamer_view.cpp 文件,或者运行另一个Python脚本cannyDetection.py,都可以打开 Jetson TX2的摄像头测试。亲测可以用。效果见下图:
Ubuntu/Linux 下配置OpenCV 3.3 开发环境,搭建IDE CLion/QT Creater 5.0_第1张图片

Python打开的摄像头是边缘检测,如下图:

Ubuntu/Linux 下配置OpenCV 3.3 开发环境,搭建IDE CLion/QT Creater 5.0_第2张图片


四、配置IDE-CLion:开发板部署好OpenCV就可以开发了,理论上在TX2开发板上用个gedit就可以开发,但是远远没有IDE有效率,而且还要讨厌的Makefile需要改。有了IDE简单配置下,就可以写代码了,而且重要的是,IDE会给输入提示,不用跟编辑TXT一样写代码让人绝望。

      从官网上下载Clion for Linux 版本,如果还是在校学生,建议用学校的edu邮箱注册个账户,可以免费试用JetBrain 的产品全家桶一年。本人毕业后,学校的邮箱依然可用,而且学校的VPN还能从知网下载论文,真的再次感谢母校。言归正传,下载后将tar 文件放到Ubuntu 任意目录下,试用 tar -zvxf clion.tar.gz 解压,然后cd 进入 bin/文件夹下,执行 ./clion.sh 即可启动 Clion。 亲测有效,一开始还怀疑下载的版本会不会是X86的,不兼容arm64,还好没有,我猜可能该软件是用Java写的吧,那玩意儿号称一次编译到处运行,不是吹的。

      启动Clion后,需要配置toolchain 编译工具链,需要 配置 cmake 路径:/usr/bin/cmake ,还有 make、c complier/ c++ complier 的路径,都是在/usr/bin/目录下。

如下图:

Ubuntu/Linux 下配置OpenCV 3.3 开发环境,搭建IDE CLion/QT Creater 5.0_第3张图片

      配置好之后,在 File菜单下创建工程,起好名字,配置好工具链即可,然后在左边工程目录下打开CMakeLists.txt配置cmake, 添加OpenCV配置的话,只要在最后边添加两行即可:find_package(OpenCV REQUIRED)和target_link_libraries(cv2 ${OpenCV_LIBS})即可。如下图:

Ubuntu/Linux 下配置OpenCV 3.3 开发环境,搭建IDE CLion/QT Creater 5.0_第4张图片

     配置好之后,讲之前那个gstreamer_view.cpp考皮到该IDE下,然后编译运行,亲测如下图:

     Ubuntu/Linux 下配置OpenCV 3.3 开发环境,搭建IDE CLion/QT Creater 5.0_第5张图片

      至此Ubuntu 下配置OpenCV 3.3开发环境的IDE就算是搞定了,这是用的Clion,还可以用QT,我也试过了,但是效果不如CLion短平快,而且编译速度也还可以,最重要的是编辑后文件大小才1M多,QT编译后180M多,不是是哪设置的问题,这对于嵌入式来说简直就是fatal一般的bug。。

     开发OpenCV还有一招是用Python,Ubuntu下开发Python可用pycharm,效果还可以。不过考虑到执行效率问题,c++还是简单粗暴,Python可以能是开发效率更高吧。。

     欢迎大家批评指正,多多交流技术问题,共同进步。QQ954417426

     

   

你可能感兴趣的:(OpenCV,Jetson,T2/TX1)