VIVADO HLS学习

FPGA设计中OpenCV的应用

from 如何使用Vivado HLS视频库加速zynq 7000 可编程 SOC OpenCV应用在这里插入图片描述

1、OpenCV中图像IplImage,CvMat,Mat类型和Vivado HLS中图像hls::Mat类型介绍

在opencv中,Mat类型与CvMat和IplImage类型都可以代表和显示图像,Mat侧重图像计算,而CvMat和IplImage类型更侧重于“图像”。VivadoHLS视频处理函数库使用hls::Mat<>数据类型,这种类型用于模型化视频像素流处理,实质等同于hls::steam<>流的类型,而不是OpenCV中在外部memory中存储的matrix矩阵类型。因此,在用HLS实现OpenCV的设计中,需要将输入和输出HLS可综合的视频设计接口,修改为Video stream接口,也就是采用HLS提供的video接口可综合函数,实现AXI4 video stream到VivadoHLS中hls::Mat<>类型的转换。

2、VIVADO HLS处理流程

opencv中图像数据以matrix矩阵形式存储,而vivado hls中以hls::Mat数据类型处理图像,因此根据上图流程图可知,需要将图像转化为可综合数据形式再进行处理。数据转化流程如下:

  1. 将图像数据转化为AXIvideo形式输入。
  2. 将AXIvideo数据流形式转化为MAT数据类型进行图像计算处理,该步可进行综合。转换函数:hls::AXIvideo2Mat(from ug902)
  3. 将MAT数据形式转化为AXIvideo数据流类型,该步可进行综合。转换函数:hls::Mat2AXIvideo(from ug902)
  4. 将AXIvideo数据流形式转化为图像数据进行输出。

HLS中数据类型

vivado hls支持c c++,提供整形和定点任意精度数据类型,并支持system C一部分的任意精度数据类型。
from ug902提供的数据在这里插入图片描述
eg.c++数据类型使用 #include “ap_int.h”
from ug902在这里插入图片描述
eg.定点标识符简介 #include “ap_fixed.h”
from ug902在这里插入图片描述

opencv中像素数据类型

opencv中像素数据类型描述
格式如下:XF[每像素比特数][有符号(s)无符号(u)浮点数(f)]C[通道数]
from ug1233在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

三岁囍

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

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

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

打赏作者

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

抵扣说明:

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

余额充值