什么是机器视觉

机器视觉是一项综合技术,包括图像处理、机械工程技术、控制、电光源照明、光学成像、传感器、模拟与数字视频技术、计算机软硬件技术(图像增强和分析算法、图像卡、I/O卡等)。一个典型的机器视觉应用系统包括图像捕捉、光源系统、图像数字化模块、数字图像处理模块、智能判断决策模块和机械控制执行模块。

机器视觉在工业市场的应用

用机器视觉技术取代人工,可以提供生产效率和产品质量,因此机器视觉技术广泛应用于工业检测(机械零部件的尺寸和位置测量)、机器人视觉、人脸识别、车牌识别、自动光学检查、无人驾驶汽车、追踪定位等领域。

如何实现机器视觉

工业机器视觉系统包括:光源、镜头(定焦镜头、变倍镜头、远心镜头、显微镜头)、相机(包括CCD相机和COMS相机)、图像处理单元(或图像采集卡)、图像处理软件、监视器、通讯/输入输出单元等。

其中图像处理单元,又可以称为图像采集卡,是完整的机器视觉系统的一个部件,但是它扮演一个非常重要的角色。图像采集卡直接决定了摄像头的接口(黑白、彩色、模拟、数字)、图像的处理、图像的输出形式等。

Tronlong推出的基于Xilinx Zynq-7000 SoC的TLZ7x-EasyEVM评估板能够很好的满足工业机器视觉的图像处理单元功能。

TLZ7x-EasyEVM评估板芯片选型XC7Z020,兼容XC7Z010,集成PS端单核/双核Cortex-A9 ARM + PL端Artix-7架构可编程逻辑资源,提供双目摄像头接口,可以灵活接入视频输出模块。

工业机器视觉-双目图像采集处理实例

一、实例功能

使用Video In to AXI4-Stream IP核,将2路摄像头(640*480@70)数据采集进来,并通过vdma缓存到PS端DDR,然后通过OSD IP核将2路图像叠加到1080P60的视频中,最后通过VGA输出显示。

二、原理框图:

三、实例说明:

本实例采用BlockDesign设计方式。

1)摄像头视频采集

视频的采集使用的是Video In to AXI4-Stream IP核,例程中将其配置为Mono/Sensor,1 pixels per clk,每个色彩数据位宽为8bits。例程使用2个IP核分别采集2路摄像头图像,具体配置如下图所示:

2)视频数据传输缓存

使用VDMA(AXI Video Direct Memory Access) IP核,S2MM将视频流传送到DDR中,MM2S再从DDR中把图像数据传输出去。例程2个VDMA IP核,每个IP核使用4个frambuffer,stream的数据宽度为8bits,如下图:

3)视频拼接控制

使用OSD(Video On Screen Display)IP核技术配置。OSD配置为带有AXI4-Lite接口,通过配置寄存器来设置OSD的输出分辨率、叠加的图层数以及各个图层的分辨率和显示位置。本工程配置成1080P分辨率,2个640*480的图层,不带AXI4-Lite接口。如下图:

4)视频显示输出(VGA)

使用AXI-Stream to video out IP核显示视频,将其视频格式配置为RGB,1 pixels per clk,每个色彩数据位宽为8bits。IP核具体配置如下图:

此实例详细用户手册、配套模块资料、案例源码等可点击本链接申请下载:http://site.tronlong.com/pfdownload

四、硬件连接:

五、运行效果:

六、案例视频:

用户可以在该框架中,根据自己的需要,对视频图像进行更加丰富的配置处理,如边沿检测,可应用于双目立体视觉、虚拟现实等场合。

基于ZYNQ的机器视觉应用实例相关推荐

  1. FPGA学习——基于zynq的图像视频采集处理

    图1:一个典型的基于zynq系统的图像处理框架 根据系统读取外界 视 频 数 据 信 息 的 数 据 流 向,从 软 硬件功能层面具体划分为: 1)采集 部 分:视 频 通 过 位 于PL 侧 的50 ...

  2. 基于ZYNQ的网页上传BMP图片至HDMI端口输出实例

    目录 Change Log 0 前言 0.1 系统实现 0.2 源码下载 0.3 项目信息 1 ZYNQ开发板HDMI输出BMP图片功能:FPGA相关 1.1 系统框图 1.2 RTL图 1.3 Bl ...

  3. php使用redis分布式锁,php基于redis的分布式锁实例详解

    在使用分布式锁进行互斥资源访问时候,我们很多方案是采用redis的实现. 固然,redis的单节点锁在极端情况也是有问题的,假设你的业务允许偶尔的失效,使用单节点的redis锁方案就足够了,简单而且效 ...

  4. java opengl_java基于OpenGL ES实现渲染实例

    这篇文章主要介绍了java基于OpenGL ES实现渲染,实例分析了OpenGL渲染操作的相关技巧,需要的朋友可以参考下 本文实例讲述了java基于OpenGL ES实现渲染的方法.分享给大家供大家参 ...

  5. java和ffmpeg使用内存转码_FFMPEG基于内存的转码实例

    我在6月份写了篇文章<FFMPEG基于内存的转码实例>,讲如何把视频转码后放到内存,然后通过网络发送出去.但该文章只完成了一半,即输入的数据依然是从磁盘文件中读取.在实际应用中,有很多数据 ...

  6. java tcp 编程实例_Java实现基于TCP的通讯程序实例解析

    Java中的TCP通信程序 TCP可以实现两台计算机之间的数据交互通信的两端,要严格区分客户端与服务端 两端通信时的步骤: 1.服务端程序,需要事先启动,等待客户端连接 2.客户端主动连接服务器端,才 ...

  7. pythonhelloworld实例_Python基于Tkinter的HelloWorld入门实例

    本文实例讲述了Python基于Tkinter的HelloWorld入门实例.分享给大家供大家参考.具体分析如下: 初学Python,打算做几个Tkinter的应用来提高. 刚学的HelloWorld, ...

  8. tcp网络通信教程 java_基于java TCP网络通信的实例详解

    JAVA中设计网络编程模式的主要有TCP和UDP两种,TCP是属于即时通信,UDP是通过数据包来进行通信,UDP当中就会牵扯到数据的解析和传送.在安全性能方面,TCP要略胜一筹,通信过程中不容易出现数 ...

  9. mysql yum多实例_mysql———基于yum源实现多实例

    基于yum源实现多实例 本实验实现三个实例,分别使用端口3306,3307,3308 1.yum安装mariadb-server#yum install mariadb-server 2.创建各个实例 ...

最新文章

  1. 微信小程序实现滑动tab切换和点击tab切换并显示相应的数据(附源代码)
  2. 双向非循环递增链表——插入,删除,清空
  3. 服务器mysql在哪里_mysql的服务器在哪里
  4. c/c++ 获取文件夹或目录下的文件
  5. 【FPGA实现GA】基于FPGA的GA优化算法的设计与实现
  6. sh: 0: getcwd() failed: No such file or directory解决
  7. 【车联网】一文了解5G在车联网中的应用
  8. python获取上个月最后一天_在Python中获取本月的最后一天
  9. HDU 5693:D Game(区间DP)
  10. 电大课程考核计算机应用基础,计算机应用基础课程考核说明-保定广播电视大学.doc...
  11. 将GridView数据导出到Excel实现
  12. 世界土壤数据库(HWSD)基本参数介绍
  13. 奥拉星插件flash下载手机版下载安装_flash插件
  14. 前端简历里面技术技能怎么写_技术简历软技能
  15. 【数学和算法】特征值、特征向量、特征空间,变换矩阵的行列式和特征值
  16. Pandas操作Excel,统计pass/fail的个数
  17. STM32学习之Keil5软件配置
  18. 【一 DE1-SOC】quartus II下载程序步骤
  19. STM32玩转物联网实战篇:01.网络通信前准备
  20. 第一次用gcc命令时报错:gcc: 未找到命令...

热门文章

  1. boost::typeindex::runtime_cast相关的测试程序
  2. boost::serialization相关的测试程序
  3. boost::proto::make_expr相关的测试程序
  4. boost::iostreams::filtering_ostream用法的测试程序
  5. boost::graph::distributed::mpi_process_groupboost::graph::用法的测试程序
  6. boost::fusion::traits::is_view用法的测试程序
  7. boost::json模块实现远程过程调用的测试程序
  8. ITK:两条曲线上所有点之间的平均距离
  9. OpenCV使用函数compareHist的实例(附完整代码)
  10. Qt Linguist手册