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,一经查实,立即删除!

相关文章

python查找公共前缀_Python实现查找字符串数组最长公共前缀示例

本文实例讲述了Python实现查找字符串数组最长公共前缀。分享给大家供大家参考,具体如下:编写一个函数来查找字符串数组中的最长公共前缀。 class Solution:def longestCommonPrefix(self, strs):""":type strs: List[str]:rtype: str&quo…

博客搬家了

新博客:http://lindawhite.gq转载于:https://www.cnblogs.com/linda586586/p/4682027.html

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

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

mysql查询库表变更信息_PythonMySQL进行数据库表变更和查询

这篇文章主要介绍了Python MySQL进行数据库表变更和查询的相关资料,需要的朋友可以参考下Python连接MySQL,进行数据库表变更和查询:python mysql insert delete query:#!/usr/bin/pythonimport MySQLdbdef doInsert(cursor,db):#insert# Prep…

CSS实现不固定宽度和高度的自动居中

有时候我们需要实现下面这种效果:嘎嘎,撑大高度不让你剧中嘎嘎,撑大高度不让你剧中嘎嘎,撑大高度不让你剧中嘎嘎,撑大高度不让你剧中嘎嘎,撑大高度不让你剧中嘎嘎,撑大高度不让你剧中嘎嘎&#…

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

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

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

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

Hbase Interface HConnection

HTablePool 在Hbase 0.94、0.95、0.97被废弃,在0.98中被清除( HTablePool 对比HConnection.getTable),hbase0.98 HTablePool会被逐渐废弃,直到0.98的发行版本中会被清楚。使用新的API,HConnection.getTable…

让一个动画一直执行的属性是_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。。。异常尴尬,所以今天…

JS 判断滚动底部并加载更多效果。。。。。。。。。

JS 判断滚动底部并加载更多效果。。。。。。。。。 <html lang"zh-cn"> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <title>js网页滚动条滚动事件 </title> <style type"…

mysql 格林时间转换_oracle中将格林威治时间转化为一般时间

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家&#xff0c;也给大家做个参考。to_char(trunc(b.starttime/1000/60/60/24)TO_DATE(1970-01-01 00:00:00,yyyy-MM-dd hh24:mi:ss),yyyy-mm-dd)|| ||lpad(mod(trunc(b.starttime/1000/60/60),24)…

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

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

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

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

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

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

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

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