前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全志科技T3开发板(4核ARM Cortex-A7)——视频开发案例

全志科技T3开发板(4核ARM Cortex-A7)——视频开发案例

原创
作者头像
创龙科技Tronlong
发布2022-06-07 14:07:51
7100
发布2022-06-07 14:07:51
举报

本文主要介绍基于全志科技T3国产平台的视频开发案例,内容包含了gige_capture案例、案例、GigE工业相机配置、图像采集并显示、图像采集以及案例编译保存、关键代码等。

本次测试板卡为基于创龙科技TLT3-EVM是一款基于全志科技T3处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,每核主频高达1.2GHz。

评估板接口资源丰富,引出双路网口、双路CAN、双路USB、双路RS485等通信接口,板载Bluetooth、WIFI、4G(选配)模块,同时引出MIPI LCD、LVDS LCD、TFT LCD、CVBS OUT、CAMERA、LINE IN、H/P OUT等音视频多媒体接口,支持双屏异显、1080P@45fps H.264视频硬件编解码,并支持SATA大容量存储接口。

gige_capture案例

案例说明

表 1

案例名称

目录

gige_capture

bin

可执行程序

lib

程序运行依赖库

pylonSDK

第三方pylonSDK开发包

src

程序源码

tools

yuvplayer工具

案例功能具体说明如下:

  1. 查询局域网内的GigE工业相机。
  2. 采集GigE工业相机图像数据,写至framebuffer以实现图像显示,格式为gray8。
  3. 采集GigE工业相机图像数据,保存至指定文件中,格式为gray8。

程序流程图如下图所示。

图 1
图 1

案例测试

本案例使用GigE工业相机型号为Basler的acA720-290gm,最高支持分辨率为720x540,帧率可达291fps。

通过网线将评估板千兆网口RGMII ETH和GigE工业相机连接至相同路由器,确保在同一局域网下。将评估板VGA OUT通过VGA线连接至VGA显示屏,用于显示采集图像,硬件连接如下图所示。

图 2
图 2

如通过网线将评估板和GigE工业相机直连,需将GigE工业相机配置为静态IP,并设置评估板和GigE工业相机的IP地址为同一网段。

GigE工业相机配置

本小节使用Basler官方提供的pylonSDK开发包,在PC机Ubuntu中对GigE工业相机进行IP地址获取方式、采集帧率等参数配置。

将案例"pylonSDK\x86_64\"目录下的pylonSDK-5.1.0.12682-x86_64.tar.gz压缩包拷贝至Ubuntu任意路径,并进入压缩包所在目录执行如下命令将其解压至当前目录下。

Host# tar -zxf pylonSDK-5.1.0.12682-x86_64.tar.gz -C .

图 3
图 3

将GigE工业相机上电,通过网线将PC机和GigE工业相机连接至相同路由器,并执行如下命令进入"pylon5/bin/"目录下运行IpConfigurator工具,配置IP地址获取方式。

Host# cd pylon5/bin/

Host# ./IpConfigurator

图 4
图 4

程序运行成功后,将会打开pylon IP Configurator窗口,点击Refresh刷新并识别GigE工业相机。由配置界面可看到GigE工业相机支持静态IP(Static IP)和动态IP(DHCP)两种模式。本次采用动态IP模式进行测试,选择DHCP选项,点击Save保存。

图 5
图 5

IP配置完成后,关闭配置窗口,然后在bin目录下,执行如下命令运行PylonViewerApp工具,配置采集帧率等参数。

Host# ./PylonViewerApp

图 6
图 6

在如下界面中双击选中GigE工业相机设备,"User Level"选择Expert。然后点击打开"Transport Layer"栏目,将"Packet Size"设置为1500、"Inter-Packet Delay"设置为1100。"Inter-Packet Delay"参数值会影响采集帧率,不同相机需根据实际情况进行修改。

点击菜单栏按钮进行连续采集,即可查看GigE工业相机采集到的图像(如下图)。配置完成后,请点击按钮释放GigE工业相机连接。

图 7
图 7

图像采集并显示

评估板上电,将案例lib目录下的库文件压缩包libpylon_armhf.tar.gz拷贝至评估板文件系统任意目录,并进入压缩包所在目录执行如下命令将其解压至"/usr/lib/"目录。

Target# tar -xvf libpylon_armhf.tar.gz -C /usr/lib

图 8
图 8

将案例bin目录下的gige_capture可执行文件拷贝至评估板文件系统任意目录下。在其所在目录下执行如下命令查看程序参数说明。

Target# ./gige_capture --help

图 9
图 9

执行如下命令扫描局域网内的GigE工业相机,并测试GigE工业相机图像采集帧率,本次测试为159fps。

Target# ./gige_capture -m scan

图 10
图 10

并执行如下命令,先将Qt程序关闭,并初始化framebuffer,再运行程序将GigE工业相机采集图像显示至VGA显示屏上。若图像显示不清晰,请调节相机镜头光圈和焦距。本次实测GigE工业相机采集并显示的处理帧率为82fps,实际的帧率会受硬件性能和网络环境的影响有一定的波动。

Target# killall Launcher MediaUI CameraUI //关闭Qt程序

Target# fbinit //初始化Framebuffer

Target# echo 0,0 > /sys/class/disp/disp/attr/fb2ui

Target# ./gige_capture -m display -o /dev/fb0

图 11
图 11
图 12
图 12

本次测试的CPU占用率如下所示。

图 13 CPU占用率
图 13 CPU占用率

图像采集并保存

在gige_capture可执行文件所在目录下执行如下命令,将GigE工业相机采集的图像以gray8的格式保存至指定路径的文件中。图像采集并保存的帧数会受存储设备的读写速率影响,本次实测为25fps。

Target# ./gige_capture -m save -o /root/test.gray8

图 14
图 14

请将保存的test.gray8文件复制到Windows下(本次通过U盘复制),使用案例tools目录下的yuvplayer.exe程序打开文件,点击"Sixe -> Custom",设置图像格式Width为720,Height为540,点击"Color -> Y",点击播放按钮即可显示图像,如下所示。

图 15
图 15
图 16
图 16
图 17
图 17

案例编译

将案例src源码目录和pylonSDK目录拷贝至Ubuntu同一工作目录下,执行如下命令,进入"pylonSDK/armhf/"目录,将压缩包pylonSDK-5.1.0.12682-armhf.tar.gz解压至当前目录。

Host# cd pylonSDK/armhf/

Host# tar -zxf pylonSDK-5.1.0.12682-armhf.tar.gz

图 18
图 18

执行如下命令,进入src目录下,修改makefile文件,将PYLON_ROOT的参数值修改为ARM端pylonSDK实际路径。

Host# cd ../../src/

图 19
图 19
图 20
图 20

请先确保已参考Linux系统使用手册编译过LinuxSDK,构建T3处理器对应的GCC编译器。在src目录下执行如下命令,使用LinuxSDK开发包目录下的GCC编译器进行案例编译。编译完成后,将在当前目录下生成可执行文件。

Host# CC=/home/tronlong/T3/lichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/arm-linux-gnueabihf-gcc make

图 21
图 21

想要获取案例的关键代码以及更多测试案例详细说明,欢迎在评论区留言~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • gige_capture案例
  • 案例说明
  • 案例测试
  • GigE工业相机配置
  • 图像采集并显示
  • 图像采集并保存
  • 案例编译
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档