在petalinux中加入读视频功能

问题

在运行Vitis AI VART例程时出现如下问题,在读取视频时出现错误。

file

解决办法

需要在配方文件中加入opencv功能

进入工程目录project-spec/meta-user中,新建目录:

mkdir -p recipes-support/opencv

将配方文件opencv_3.4.3.bbappend拷贝到该目录,opencv_3.4.3.bbappend文件中内容如下:

PACKAGECONFIG_remove = " gstreamer"
PACKAGECONFIG_append = " libav ffmpeg"
PACKAGECONFIG[ffmpeg] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,ffmpeg,"

do_install_append() {
        rm ${D}/usr/share/OpenCV/haarcascades -rf
        rm ${D}/usr/share/OpenCV/lbpcascades -rf
}

编译工程

运行

petalinux-build
petalinux-build --sdk
cd images/linux/
./sdk.sh -d  xx_custom_pkg/pfm

修改Vitis Platform

将如下两个文件拷贝到Vitis Platform工程,xx_custom_pkg为vitis工程目录。

下面文件在创建platform时使用:

cp zynqmp_fsbl.elf pmufw.elf bl31.elf u-boot.elf ../../../xx_custom_pkg/pfm/boot/
cp boot.scr system.dtb ../../../fzu3_custom_pkg/pfm/image/

下面文件在创建应用时使用:

cp images/linux/image.ub  xx_custom_pkg/pfm/image/
cp images/linux/rootfs.ext4   xx_custom_pkg/pfm/image/

重新编译Vitis 应用

进入xx_custom_pkg目录,运行vitis,右键点击工程名,在出来的对话框中点击Clean Project

file

重新编译Vitis应用。

烧写SD卡

sudo dd bs=4M if=sd_card.img of=/dev/sdb status=progress conv=fsync

将如下文件拷贝到sd卡

file

上电测试

  • 启动单板后,先执行init.sh
cd /mnt/sd_mmcblk1p1
source ./init.sh
  • 拷贝文件
cp dpu_sw_optimize.tar.gz vitis-ai-runtime-1.2.0.tar.gz vitis_ai_runtime_r1.2.0_image_video.tar.gz ~/
  • 运行dpu_sw_optimize
cd ~
tar -xzf dpu_sw_optimize.tar.gz
cd dpu_sw_optimize/zynqmp/
./zynqmp_dpu_optimize.sh
  • 安装 Vitis AI Runtime 1.2.0
tar -xzvf vitis-ai-runtime-1.2.0.tar.gz
cd ~/vitis-ai-runtime-1.2.0/aarch64/centos
rpm -ivh --force libunilog-1.2.0-r10.aarch64.rpm
rpm -ivh --force libxir-1.2.0-r12.aarch64.rpm
rpm -ivh --force libtarget-factory-1.2.0-r10.aarch64.rpm
rpm -ivh --force libvart-1.2.0-r16.aarch64.rpm
rpm -ivh --force libvitis_ai_library-1.2.0-r15.aarch64.rpm
  • 修改文件名
cd /mnt/sd_mmcblk1p1
mv binary_container_1.xclbin dpu.xclbin
  • 修改/etc/vart.conf文件
firmware:/mnt/sd-mmcblk1p1/dpu.xclbin
  • 解压vitis_ai_runtime_r1.2.x_image_video.tar.gz
mkdir -p ~/Vitis-AI/VART
tar -xzvf vitis_ai_runtime_r1.2.0_image_video.ta.gz -C ~/Vitis-AI/VART
  • yolov3_adas_pruned_0_9.el和adas_detection拷贝到~/Vitis-AI/VART/samples/adas_detection
  • 设置显示器

export DISPLAY=:0.0 xrandr --output DP-1 --mode 640x480

  • 运行例程
./adas_detection video/adas.aviyolov3_adas_pruned_0_9.elf

硬码农二毛哥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硬码农二毛哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值