IndemindSDK数据采集程序
Indemind相机数据采集
最近做一些实验需要自己采集一些数据玩玩,打算用之前买的indemind双目模组,实际用的时候感觉官方提供的采集程序不太好用,于是打算自己用官方驱动写个简单小程序玩玩.
1. Why?
之所以不用官方的驱动程序,官方采集程序好像没有提供帧率等参数的设置选项,官方的ROS驱动不太好用,深度图信息有时候没有,并且完全封闭,所以打算自己直接处理原始数据,顺路复习复习OpenCV和C++.
2. 要处理的问题
唯一比较麻烦的问题就是当帧率比较高的时候,数据量会比较大,但是官方驱动的工作模式是,你提供自己实现的回调函数,它直接根据硬件频率进行触发,回调函数必须能够比较快地返回。如果把写入放在回调函数里,那么会造成回调函数延迟,导致一些数据的丢失.
3. 解决方案
简单的生产者消费者模型就能完事了,把回调函数获得的结果直接存入队列,再开多个写入线程进行写入磁盘操作,可以保证队列不会爆掉.要注意的一些问题就是多线程读写加锁的问题.
单线程回调,单线程写入:
Queue size: 166
Queue size: 167
Queue size: 167
Queue size: 168
Queue size: 169
Queue size: 169
结果队列会不断增长,显然不合适
单线程回调,多线程写入:
Queue size: 0
Queue size: 0
Queue size: 0
Queue size: 1
Queue size: 0
Queue size: 0
Queue size: 0
Queue size: 0
Queue size: 1
Queue size: 0
Queue size: 0
四线程写入的时候才能达到预期效果.
4. 总结
参数配置的确要找一个好用的库,不然太难受了!
PS:代码不写不知道,一写吓一跳,真的丑....
另外,对于这种类型的SDK接口,能不能想办法把代码接口封装地更好,现有的实现是定义全局函数,提供给SDK,直接给类成员函数貌似扑街了...后续有空把深度图生成和ROS相关的接口添加进去.
5. 完整实验代码
https://github.com/JiaoYanMoGu/indemind_data_collect
IndemindSDK数据采集程序的更多相关文章
- 大家都在用PDA条码扫描枪管理企业仓库 PDA无线数据采集程序
		PDA数据采集器又称之为手持终端,这些都是用于扫描货物条码统计数据用的,PDA扫描枪有效提高企业仓库管理,在仓库管理中引入条码技术,对仓库的到货检验.入库.出库.调拨.移库移位.库存盘点等各个作业环节 ... 
- Java网页数据采集器[上篇-数据采集]【转载】
		开篇 作为全球运用最广泛的语言,Java 凭借它的高效性,可移植性(跨平台),代码的健壮性以及强大的可扩展性,深受广大应用程序开发者的喜爱. 作为一门强大的开发语言,正则表达式在其中的应用当然是必不可 ... 
- 神级程序员:让你的爬虫就像人类的用户行为! 你敢封我IP吗?
		1 前言 近期,有些朋友问我一些关于如何应对反爬虫的问题.由于好多朋友都在问,因此决定写一篇此类的博客.把我知道的一些方法,分享给大家.博主属于小菜级别,玩爬虫也完全是处于兴趣爱好,如有不足之处,还望 ... 
- 【Ecshop】商品数据采集扩展
		一个自用的Ecshop商品数据采集程序 ->到此下载 
- Python网络数据采集PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书
		点击获取提取码:jrno 内容提要 本书采用简洁强大的 Python 语言,介绍了网络数据采集,并为采集新式网络中的各种数据类 型提供了全面的指导.第一部分重点介绍网络数据采集的基本原理:如何用 Py ... 
- 模拟discuz发帖的类实现
		一直想弄个discuz的数据采集程序,这2天研究了下discuz发帖涉及的几个数据库表,这里分享一下自己的处理方法. discuz发表主题设计的几个表:(这里列出了主要的几个相关的表) 1.主题表 p ... 
- C# 实现对网站数据的采集和抓取
		首先大家需要清楚一点的是:任何网站的页面,无论是php.jsp.aspx这些动态页面还是用后台程序生成的静态页面都是可以在浏览器中查看其HTML源文件的. 所以当你要开发数据采集程序的时候,你必须先对 ... 
- ODBC方式连接Informix数据库
		公司某个报表系统使用Informix数据库,在谋划使用Perl语言写数据采集程序后,花费了很多时间建立Perl访问Informix连接.恰巧Windows下ActivePerl的CPAN中又没有DBD ... 
- asp.net资料! (.NET) (ASP.NET)
		使用SqlBulkCopy类加载其他源数据到SQL表 在数据回发时,维护ASP.NET Tree控件的位置 vagerent的vs2005网站开发技巧 ASP.NET2.0小技巧--内部控件权限的实现 ... 
随机推荐
- vue-cli3 clone项目后如何安装插件及依赖模块启动项目
			一. 前提条件1.确保使用的是Node 8.11.0+和NPM 3+:2.确保已全局安装vue-clie3:npm install -g @vue/cli: 二.安装依赖 1.在安装依赖之前,先安装官 ... 
- rabbitmq可靠性
			本文翻译汇总自rabbitmq的官方文档. 翻译使用谷歌翻译后简单修改,部分内容读起来仍然比较晦涩,不过意思传达到了. 可靠性指南 本页介绍了如何使用AMQP和RabbitMQ的各种功能来实现可靠 ... 
- BZOJ 4029 [HEOI2015] 定价 ( 数位DP/贪心 )
			前言 最近学了数位DP,感觉挺简单又实用.这道题就比较水,可以用300B的贪心过掉-网上似乎大多是贪心的题解,我就写写DP的做法 题意 给出正整数区间[L,R][L,R][L,R],定义荒谬值为 (去 ... 
- ZrOJ #878. 小K与赞助 (网络流)
			傻逼最大费用流: . 两棵树分别流,最后汇合. CODE #include <bits/stdc++.h> using namespace std; #define pb push_bac ... 
- winfrom窗体自适应
			using System.Runtime.InteropServices; public class Win32 { public const Int32 AW_HOR_POSITIVE = 0x00 ... 
- idea快捷方式1
			Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如get,set方法,构造函数等) 或者右键(Generate) fori/sout/psvm + Tab Ctrl+Alt ... 
- AI 期刊会议
			本文目的为寻找以下方向最新的发展方向和资料,比如期刊会议. AI包括以下方向:计算机视觉(CV).语言(NLP)和语音 A:计算机视觉(CV) B:语言(NLP) 1. 会议 ACL.EMNLP.NA ... 
- 《剑指offer》数组中只出现一次的数字
			本题来自<剑指offer> 数组中只出现一次的数字 题目: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 思路: 思路一:在<剑指of ... 
- centos7 配置静态ip时出现双ip问题解决
			1.先用ifconfig,看看有几个网卡 2.执行vi /etc/sysconfig/network-scripts/ifcfg-eth0最后的网卡名字改为实际的 3.静态ip只需要设置着几个地方,B ... 
- 数据结构实验之二叉树五:层序遍历 (SDUT 3344)
			#include <bits/stdc++.h> using namespace std; struct node { char data; struct node *lc, *rc; } ... 
