fpga摄像头模块_FPGA开源项目:双目测距(一)之双目图像采集显示以及图片保存...

1.简述

        这个项目是大三下学期暑假(也就是2019年8份)完成的,当时的视频效果已发布在bilibili上,这是我们的省级的科研立项,其实就我一个人负责完成。发布bilibili后很多人比较感兴趣,打算年初回学校完成毕设期间开源的,一直拖到现在,工作后时间也比少了,条件也没在学校实验室好,只能尽力做好吧。

2.准备

  • 摄像头模块:OV7725(以前是彩色MT9V034)

  • FPGA板卡:米联客ZYNQ7020

  • SD卡

  • 1080P的显示器

  • 正红色物体

3.双目硬件结构介绍

        我之前一直用的MT9V034摄像头,换成ov7725的后驱动不了,查了很久这个问题没找到原因,为了节省时间直接改米联的例程。包括ARM的硬件结构如图所示,两个摄像头分辨率为640x480的视频流通过VDMA缓存到DDR,然后将视频流输出到OSD IP合成为1080P的视频流,最后送到HDMI在显示上显示。OSD IP可以将多路视频合成到一路视频,实现同屏显示。但是这个IP需要申请license,申请需要注册xilinx账户绑定个人电脑MAC地址就可以免费使用了,这个申请可以参考我的另一篇文章:最新 Xilinx vivado IP许可申请。而摄像头的配置通过EMIO软件模拟IIC进行配置。80d8cf1d230b19c9f672beb2f8ed3d55.png

4.SDK软件

        如图所示先进行EMIO的配置,其次进行摄像头配置,然后配置VDMA,最后进行按键将图像保存为图片,存到SD卡中,后面导入MATLAB进行算法仿真,也方便进行modelsim功能仿真。其中4个EMIO作为IIC使用,还有2个作为按键使用,用来保存图片。详细可以看代码吧。d9f9f82d4c8416e090cbedcebb4b374d.png

5.效果

红色小球的距离大约为50CM,图像质量没有MT9V034的好,但是OV7725很便宜,比较亲民。

5f1feb6280480ed2322e99bc5a4cedd3.png14bcc034711d3cce64806b7e2afcc9ad.png

6.采集的图片

这个具体实现过程请参考:zynq SD卡写入摄像头图像(图片格式)。3e945fd79b97eedba653e46990c91a75.png

7.总结

现在完成第一步了,开源工程请关注我的公众号:芯王国 ,后台回复 双目测距 即可获取。下一步进行MATLAB双目测距算法的仿真,并将图片保存为TXT文件方便modelsim仿真使用,尽情期待!!!

欢迎关注我的公众号:芯王国,有更多的FPGA&数字IC的技术分享,还可以获取开源FPGA项目!

6dbd70f7ee0b74e8e691fe90631191eb.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

github ssh 配置_Github远程仓库克隆更新本机,SSH协议免密操作配置和注意事项

Github远程仓库-克隆远程仓库到本机 【重点】目标如何克隆远程仓库到本机呢?小结下载项目的命令:git clone https://gitee.com/kekesam/sassweb777.git注意:1:它会自动创建本地仓库;2:它也会自动和远程仓库…

golang中文文档_【译】Go 语言源码贡献官方指导文档

以前给 Go 语言项目源码提交过一些 commits,期间阅读他们的官方指导文档的时候觉得这篇指导文档可以作为绝佳的关于大型软件项目的规范管理的参考,因为最近又提交了几个 commits,就又把这篇文档再看了一遍,有感于 Go 团队在项目管…

mysql增加最大连接数_mysql最大连接数怎么设置

设置mysql最大连接数的方法:首先打开mysql的控制台;然后输入语句【set GLOBAL max_connections1000;】即可直接设置最大连接数。通常,mysql的最大连接数默认是100, 最大可以达到16384;如果我们想修改mysql的最大连接数&#xff0c…

让一个动画一直执行的属性是_iOS 动画 一

View AnimationsAnimatable properties• bounds: 改变 bounds 属性可以在当前 view 内改变子视图等的相对位置。• frame: 改变 frame 可以移动或者缩放 view 。• center: 当你想移动 view 到屏幕的新位置时,可以改变此属性。• backgroundColor: 背景颜色。• al…

阿里云java mysql环境_阿里云搭建centos java mysql nginx环境

1.上传下载yum install lrzszsz下载rz上传2.安装压缩命令yum install -y unzip zip;3.安装javarpm -ivh jdk-8u161-linux-x64.rpm4.安装mysqlyum install libaioyum -y remove mariadb-libs-5.5*rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpmrpm -ivh mysql-commun…

ide快捷键_一款好用的IDE怎么可以没有代码提示?

我在使用过IntelliJ IDEA(一款Java开发工具)之后,感觉Delphi的IDE在编写代码方面尤其是代码提示方面和IntelliJ IDEA相比真的天差地别,所以决定认真的研究一下Delphi的代码提示功能一般情况下我们使用Delphi的开发工具都会安装cnpack专家包,但…

IOS开发学习记录第4天之C语言学习

(一)、今天我们要学习的主要包括一下内容: 1、标示符概念及其命名原则 在C语言中,符号常量,变量,数组,函数等都需要一定的名称,我们把这种名称称之为标识符。 标识符划分&#xff1a…

mysql pmm 布署_给 mysql 安装 pmm 监控

PMM 说明PMM(Percona Monitoring and Management) 是一款监控和分析 MySQL 服务的一套工具,可以从图形化的方式看到 MySQL 服务的各种性能指标,慢查询分析、连接数、线程状态、查询信息、缓存信息等等,对分析 MySQL 运行时问题很有帮助。PMM …

java 自定义注解_Java注解

前言近日在阅读开源项目,发现项目里好多奇奇怪怪的注解(DataScope、Log...)看得我一脸懵,不知道大家是否也有过这样的经历,回想了一下,发现自己对于注解的知识,好像只停留在Override。。。异常尴尬,所以今天…

java开发和基于asp.net开发有什么优越性?_java语言的入门开始介绍

java编程语言是目前世界最流行的编程语言,它是在c的基础上开发出来的语言,它取其精华去其糟粕让java语言具有功能强大和简单易用的特征。java具有:面对对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。java可以编写…

响应性web设计实战总结(二)

响应性web设计实战总结(二) 阅读目录 背景知识:Gulp-less安装及配置如下对响应性web总结,之前总结过2篇文章;可以看如下: http://www.cnblogs.com/tugenhua0707/p/4147569.html http://www.cnblogs.com/tugenhua0707/p/4598657.h…

uploadify java 上传_jquery使用uploadify插件实现多文件的上传(java版)

2、安装,由于下载下来的例子是php版本的,所以我只留下了主要的几个文件。如图:4、使用前台页面:pageEncoding"UTF-8"%>html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR…

js 多个定时器_JS中的同步/异步编程

1. 进程(process)/线程(thread)进程process: 电脑端安装很多的应用软件,每当运行一个应用程序,相当于开辟一个进程(而对于浏览器来说,每新建一个页卡访问一个页面,都是新开辟一个进程)任务管理器…

Tomcat免安装版的环境变量配置以及Eclipse下的Tomcat配置和测试

Tomcat是目前比较流行的开源且免费的Web应用服务器,在我的电脑上第一次安装Tomcat,再经过网上教程和自己的摸索后,将这个过程 重新记录下来,以便以后如果忘记了可以随时查看。 注意:首先要明确一点,Tomcat与…

java开发和structs的关系_java---springMVC与strutsMVC的区别

项目刚刚换了web层框架,放弃了struts2改用spring3mvc当初还框架的时候目的比较单纯---springmvc支持rest,小生对restful url由衷的喜欢不用不知道 一用就发现开发效率确实比struts2高我们用struts2时采用的传统的配置文件的方式,并没有使用传…

【推荐】介绍两款Windows资源管理器,Q-Dir 与 FreeCommander XE(比TotalCommander更易用的免费资源管理器)...

你是否也像我一样,随着硬盘、文件数量的增加,而感到对于文件的管理越来越乏力。 于是我试用了传说中的各种软件,包括各种Explorer外壳,或者第三方资源管理器。 最后我确定下来经常使用,并推荐给您的是这两款软件&#…

java类加载器_java底层内功 第一章,类加载器的任性

java类是怎么加载的?类加载机制JVM主要包含三大核心部分:类加载器,运行时数据区和执行引擎。虚拟机将描述类的数据从class文件加载到内存,并对数据进行校验,准备,解析和初始化,最终就会形成可以…

java的requestmapping_SpringMVC RequestMapping 详解

SpringMVC RequestMapping 详解RequestMapping这个注解在SpringMVC扮演着非常重要的角色,可以说是随处可见。它的知识点很简单。今天我们就一起学习SpringMVC的RequestMapping这个注解。文章主要分为两个部分:RequestMapping 基础用法和RequestMapping 提…

redis查询所有key命令_想在生产搞事情?那试试这些 Redis 命令

作者:鸭血粉丝出自:Java极客技术原文:mp.weixin.qq.com/s/WeAamgYYGQfxlsppsn9_lg哎,最近阿粉又双叒叕犯事了。事情是这样的,前一段时间阿粉公司生产交易偶发报错,一番排查下来最终原因是因为 Redis 命令执…

mysql gui 分区_一文彻底搞懂MySQL分区

一.InnoDB逻辑存储结构首先要先介绍一下InnoDB逻辑存储结构和区的概念,它的所有数据都被逻辑地存放在表空间,表空间又由段,区,页组成。段段就是上图的segment区域,常见的段有数据段、索引段、回滚段等,在In…