0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA并行计算的图像处理案例

454398 来源:PYNQ开源社区 作者:PYNQ开源社区 2020-11-04 12:07 次阅读

图像处理算法在各种场景中都有广泛应用,借助于FPGA并行计算的优势可以将算法性能有效提升,但为了提升系统整体性能,仅仅提升某一部分的性能是不够的,一个好的方法是在FPGA内实现全部视频输入输出接口和图像算法的完整通路。本Overlay的视频输入来自OV5640摄像头,包含多个可任意切换的图像处理算法,并包含了一个HDMI输出接口显示处理结果。

图像处理算法在各种场景中都有广泛应用,借助于FPGA并行计算的优势可以将算法性能有效提升,但为了提升系统整体性能,仅仅提升某一部分的性能是不够的,一个好的方法是在FPGA内实现全部视频输入输出接口和图像算法的完整通路。本Overlay的视频输入来自OV5640摄像头,包含多个可任意切换的图像处理算法,并包含了一个HDMI输出接口显示处理结果。

设备清单
- PYNQ-Z2套件
- OV5640 Camera Board
(如Waveshare OV5640或者其它兼容版本)
- PMOD-Camera adapter
- HDMI monitor

系统架构

算法列表
Overlay中实现了多个图像处理算法,在HLS中实现并封装为IP后在Block Design中被调用,读者如有兴趣可以在Github的/boards/src/ip/目录获取源代码。

1) rgb2hsv
2) subsample
3) equalizehist
4) gaussianBlur
5) sobel
6) canny
7) dilation
8) erosion

快速开始
环境需求PYNQ v2.4,在PYNQ-Z2板卡联网并启动后在终端中运行如下代码安装Overlay到本地:
# (on PYNQ v2.4 only)

sudo pip3 install --upgrade git+https://github.com/xupsh/Pynq-CV-OV5640.git

案例演示

Notebook名称:pynq4cv.ipynb

在Overlay中例化了一个I2C接口来对OV5640进行配置,我们可以在Jupyter Notebook上通过Python对摄像头进行初始化,也可以通过改动ov5640_config.py文件的内容来修改配置。

接下来,我们对Overlay中实现的图像处理算法进行配置。

配置完成后,还需要选择使能Overlay中的某一个算法来对从OV5640获取的图像进行处理,默认不经过任何图像处理算法,从OV摄像头获取的图像直接在HDMI显示器上显示。

我们也可以抓取OV5640拍摄的图片并在Jupyter Notebook上显示。

接下来,我们可以使能不同的图像处理算法,通过观察HDMI显示器的输出,观察不同算法的处理结果。

在运行完毕后,记得关闭VDMA,以防止运行其它Overlay时报错。

总结与展望
本案例在PL内实现了一个完整的视频通路,对图像数据直接进行硬件加速处理。相比于USB摄像头减少了图像数据从PS到PL拷贝和回传的负载,提高了系统的性能同时极大降低了图像处理的延时
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1601

    文章

    21296

    浏览量

    593083
  • 图像处理
    +关注

    关注

    26

    文章

    1222

    浏览量

    55805
收藏 人收藏

    评论

    相关推荐

    FPGA图像处理之CLAHE算法

    FPGA图像处理--CLAHE算法(一)中介绍了为啥要用CLAHE算法来做图像增强。
    的头像 发表于 01-04 12:23 1466次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>图像</b><b class='flag-5'>处理</b>之CLAHE算法

    FPGA图像处理方法

    图像细节。 FPGA 图像处理方法 1、图像增强 两大方法:空间域方法和时间域方法(以后再详述) 2、
    的头像 发表于 12-02 13:15 588次阅读

    如何处理cache miss问题以提高加速器效率呢?

    带宽是影响FPGA加速器的重要因素,因为大量的并行计算对数据量要求很大。
    的头像 发表于 11-16 16:36 429次阅读
    如何<b class='flag-5'>处理</b>cache miss问题以提高加速器效率呢?

    基于ARM和FPGA设计高速图像数据采集传输系统

    的灵活性和FPGA并行性的特点,设计了一种基于ARM+FPGA的高速图像数据采集传输系统。所选用的ARM体系结构是32位嵌入式RISC微处理
    的头像 发表于 09-27 10:45 852次阅读

    无与伦比的并行处理FPGA加速的根本基石

    电子发烧友网站提供《无与伦比的并行处理FPGA加速的根本基石.pdf》资料免费下载
    发表于 09-15 14:57 0次下载
    无与伦比的<b class='flag-5'>并行</b><b class='flag-5'>处理</b>—<b class='flag-5'>FPGA</b>加速的根本基石

    请问如何将C语言算法移植到FPGA上?

    确定算法:首先,你需要确保要移植的C语言算法是合适的。FPGA适合并行计算和高度可定制的应用。因此,你需要选择一个适合FPGA实现的算法。
    发表于 09-12 17:20 1016次阅读

    FPGA数字图像处理的基础知识

    数字图像** (Digital Image),是计算机视觉与图像处理的基础,区别于模拟图像
    发表于 09-06 17:11 1013次阅读
    <b class='flag-5'>FPGA</b>数字<b class='flag-5'>图像</b><b class='flag-5'>处理</b>的基础知识

    基于FPGA搭建一个通用的图像处理平台

    本文介绍如何搭建一个通用的图像处理平台,采用HDMI接口进行输入、输出,可用于测试基于HLS的FPGA图像处理项目。
    的头像 发表于 09-04 18:20 1171次阅读
    基于<b class='flag-5'>FPGA</b>搭建一个通用的<b class='flag-5'>图像</b><b class='flag-5'>处理</b>平台

    怎么用FPGA做算法 如何在FPGA上实现最大公约数算法

    各种不同的计算处理任务,例如数字信号处理(DSP)、图像处理、机器学习、通信协议处理等。
    的头像 发表于 08-16 14:31 1825次阅读
    怎么用<b class='flag-5'>FPGA</b>做算法 如何在<b class='flag-5'>FPGA</b>上实现最大公约数算法

    #FPGA #图像处理 图像处理(概论)

    fpga图像处理
    奔跑的小鑫
    发布于 :2023年07月27日 10:15:04

    基于FPGA图像处理之直方图均衡

    最近一直在用FPGA图像处理相关的算法,主要是集中在图像增强和增晰方面。
    发表于 06-29 09:23 695次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>图像</b><b class='flag-5'>处理</b>之直方图均衡

    基于FPGA的实时图像边缘检测系统设计(附代码)

    设计(中)基于FPGA的实时图像边缘检测系统设计(下) 导读 随着科学技术的高速发展,FPGA在系统结构上为数字图像处理带来了新的契机
    发表于 06-21 18:47

    Raspberry Pi 4B+ IoT板上的并行计算变得简单

    电子发烧友网站提供《Raspberry Pi 4B+ IoT板上的并行计算变得简单.zip》资料免费下载
    发表于 06-16 15:23 0次下载
    Raspberry Pi 4B+ IoT板上的<b class='flag-5'>并行计算</b>变得简单

    基于FPGA图像实时处理系统设计

    ,系统实时性较差的问题。本文将FPGA的IP核内置缓存模块和乒乓读写结构相结合,实现了图像数据的缓存与提取,节省了存储芯片所占用的片上空间,并且利用图像处理重复率高,但算法相对简单的
    的头像 发表于 06-15 15:20 926次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>图像</b>实时<b class='flag-5'>处理</b>系统设计

    荐读:FPGA设计经验之图像处理

    系列:基于 FPGA图像边缘检测系统设计(sobel算法) FPGA设计中 Verilog HDL实现基本的图像滤波处理仿真 基于
    发表于 06-08 15:55