【ZYNQ-7000开发之十五】Vivado HLS和OpenCV_下

本篇文章在上篇文章【ZYNQ-7000开发之十四】的基础上,利用OpenCV HLS的函数,hls::Sobel,编写边缘检测算法,仿真测试,创建IP,最后在vivado里测试Sobel IP,此外本篇文章的实验还要基于 【ZYNQ-7000开发之十】TGP+VDMA+HDMI搭建视频通路,把做好的HLS Sobel IP添加到此工程,进行测试,当然这个不是必须的,大家可以使用测试自己的方法

关于HLS详细内容请参考官方文献ug902-vivado-high-level-synthesis
*本文主要参考文献:
how_to_accelerate_opencv_applications_using_vivado_hls
xapp890-zynq-sobel-vivado-hls*

*本文所使用的开发板是Miz702(兼容zedboard)
PC 开发环境版本:Vivado 2015.2 Xilinx SDK 2015.2*
需要准备HDMI显示器和串口线一条

sobel算子原理简介

计算机视觉领域的一种重要处理方法。主要用于获得数字图像的一阶梯度,常见的应用和物理意义是边缘检测。在技术上,它是一个离散的一阶差分算子,用来计算图像亮度函数的一阶梯度之近似值。在图像的任何一点使用此算子,将会产生该点对应的梯度矢量或是其法矢量。
Sobel 算子有两个,一个是检测水平边缘的 ;另一个是检测垂直边缘的 。所以该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。公式如下:
这里写图片描述

Sobel测试效果的图像(摘自wikipedia,本文使用TPG产生的动态视频进行测试的,效果没那么明显)
这里写图片描述
这里写图片描述

建立HLS工程

建好之后,在新建头文件

top.h源码

#ifndef _TOP_H_
#define _TOP_H_
#include"hls_video.h" //这里调用可以综合的视频库
// maximum image size
#define MAX_WIDTH 1920</
  • 9
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值