打印
[ARM入门]

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

[复制链接]
968|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
#申请原创# #每日话题# #有奖活动# #技术资源# #申请开发板#

本文主要介绍基于全志科技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工具

案例功能具体说明如下:
  • 查询局域网内的GigE工业相机。
  • 采集GigE工业相机图像数据,写至framebuffer以实现图像显示,格式为gray8。
  • 采集GigE工业相机图像数据,保存至指定文件中,格式为gray8。
程序流程图如下图所示。



图 1



案例测试本案例使用GigE工业相机型号为Basler的acA720-290gm,最高支持分辨率为720x540,帧率可达291fps。
通过网线将评估板千兆网口RGMII ETH和GigE工业相机连接至相同路由器,确保在同一局域网下。将评估板VGA OUT通过VGA线连接至VGA显示屏,用于显示采集图像,硬件连接如下图所示。

图 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


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



图 4


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



图 5


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



图 6


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





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





按钮释放GigE工业相机连接。



图 7



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



图 8



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



图 9



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



图 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




图 12



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



图 13 CPU占用率



图像采集并保存

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



图 14



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



图 15




图 16




图 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



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



图 19




图 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



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


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

317

主题

325

帖子

4

粉丝