基于zynq的图像识别算法移植(一)

时间:2024-04-07 15:19:43

一、项目背景
这次要移植到zynq板子上的算法是关于船只识别的,源代码是基于python+opencv写的,算法本身并不复杂,主要思想就是基于帧差法以及不同大小的滑动窗,做一个背景去除,再通过海面掩膜获取有船只的图像部分,通过二值化与轮廓检测定位出海面上的船。
这个小项目,我的重点不在算法本身(当然也需要根据平台做适当的适配与调整),主要目的是熟悉zynq的开发流程。

二、算法移植简介
2.1 算法框图
图片来自USGS LandSat8
基于zynq的图像识别算法移植(一)
2.2 平台及工具
zynq7020 clg400-2 ;
vivado HLS + SDK + Linux

2.3 移植流程
基于zynq的图像识别算法移植(一)

  • 在vivado HLS上完成预处理部分(滤波、二值化)的IP核设计;
  • 将HLS生成的IP核集成到vivado design中,主要利用VDMA进行IP核与DDR之间的数据交互,并将处理结果通过HDMI输出实时显示;
  • 裸机部分的代码功能验证;
  • 为目标板移植linux操作系统,以及qt+opencv的移植;

现在的情况是,图片预先存在DDR中(加上操作系统后,图片放在SD卡)后续条件允许的话,打算加上两个摄像头,把这套系统做成机器视觉平台,能够实时采集处理。

【第一次写CSDN博客,好多排版都不清楚…后面慢慢改】