相机:Gemini 3D双目结构光深度相机
环境:Android7.1
软件:SDK中的java demo下的depthforopenni2
问题:
在Android样例depthforopenni2的OpenGLView中,读取深度数据后,转为点云并保存为文件,用点云工具查看点云效果,总是有很多噪点,而且这些噪点都是从相机向外延伸状;但用SDK的PC样例运行同样的过程,点云效果就很干净;手动编译c++样例到linux环境下,点云效果也很干净;
噪点效果类似下图:

“锥型”图底部是正确的点云效果,其他都是噪点。

深度转点云的过程如下:
ByteBuffer byteBuffer = frame.getData();//深度数据

NativeUtil.test(byteBuffer);//JNI方法,把深度数据转为点云,并保存为文件

JNI方法代码如下:

extern “C”
JNIEXPORT void JNICALL Java_PclNativeUtils_test(JNIEnv env,jclass clazz,jobject depBuff)
{
pcl::PointCloud::Ptr cloud(new pcl::PointCloud);
int error_count = 0;
char buff = (char)malloc(500 1024 1024);
short srcBuf = (short )env->GetDirectBufferAddress(depBuff);
unsigned int depth;
int cum=0;
int filteredCnt = 0;
for (int v = 0; v < height; ++v)//240
{
for (int u = 0; u < width; ++u)//320
{
depth = srcBuf[vwidth+u];
if (depth <= 0 || depth < min_depth || depth > max_depth)
{continue;}
   //分辨率缩放,这里假设标定时的分辨率分RESOULTION_X,RESOULTION_Yfloat fdx = f_x * ((float)(width) / RESOULTION_X);float fdy = f_y * ((float)(height) / RESOULTION_Y);float u0 = c_x * ((float)(width) / RESOULTION_X);float v0 = c_y * ((float)(height) / RESOULTION_Y);float tx = (u - u0) / fdx;float ty = (v - v0) / fdy;cloud->points[cum].x = depth * tx;cloud->points[cum].y = depth * ty;cloud->points[cum].z = depth;cum+=1;}
}
cloud->resize(cum+1);
char oriName[64]  = "";
sprintf(oriName,"storage/emulated/0/pcd/yuanshi.pcd");
pcl::io::savePCDFile(oriName, *cloud);

}

也就是把深度数据转为点云后,保存为文件。

同样的JNI代码,移植到AstraSDKJavaDemo样例中,效果一样,深度数据转点云后,非常多噪点。但用windows样例获取深度数据,调用同样的方法转换为点云,则没有任何噪点。

想请教:这种情况是相机的AndroidSDK驱动不兼容有问题?还是我们使用方法有问题?因为我们一定要在Android平台上使用深度相机,但现在噪点问题无法解决,已经无法往前推进了。希望能得到及时的技术帮助。谢谢

备注:
点击下面链接,进入奥比中光开发者社区,了解更多3D视觉技术信息:https://developer.orbbec.com.cn/
或扫描下方二维码,进入奥比中光开发者社区:

奥比中光Gemini 3D双目结构光深度相机在Android平台上深度数据噪点非常多的问题相关推荐

  1. Gemini 3D双目结构光深度相机在Android平台上深度数据噪点非常多的问题

    相机:Gemini 3D双目结构光深度相机 环境:Android7.1 软件:SDK中的java demo下的depthforopenni2 问题: 在Android样例depthforopenni2 ...

  2. AI深度 | 3D人脸识别和双目结构光惯导

    文/纽豪斯 发布/AI智道 一文看尽双目摄像.结构光.ToF和激光雷达技术:一文深入了解小觅智能.奥比中光.华捷艾米.的卢深视.Pico和镭神智能:AI赋能2大趋势.4大核心技术. 前言 纽豪斯刚刚完 ...

  3. 3D相机技术调研(飞行时间TOF+双目+结构光)

    1. 深度估计3D相机方案 目前市面上常有的 3D 相机方案主要有3种: 飞行时间(Time of flight,TOF),代表公司微软Kinect2,PMD,SoftKinect, 联想 Phab, ...

  4. 显扬科技3D视觉 | 线激光vs双目结构光

    线激光测量装置需要移动,占用的工作空间较大,且设备复杂,分辨率和景深影响拍摄节拍,通常拍摄一次需要几秒钟不等.针对不同被测物体需要重新进行真个装置的调试,因此通用性(柔性)较差. 而双目结构光,其实就 ...

  5. Orbbec Inside | 奥比中光真3D刷脸门锁方案

    作者丨奥比中光 编辑丨3D视觉开发者社区 文章目录 3D刷脸门锁大势所趋,结构光技术获品牌首选 第三代结构光方案重磅升级,刷新用户极致体验 覆盖城市安防全应用场景,全面提升城市安全 3D刷脸门锁大势所 ...

  6. 双目结构光系统论文阅读总结

    双目结构光系统总结 1.一般的立体匹配的方法是基于左右两幅图像各像素的灰度相似性进行同名点判断的,哈尔滨工业大学的赵焕谦2017年的硕士毕业论文<基于结构光和双目视觉的三维重建系统研究>中 ...

  7. 深度相机 物体三维重建_基于深度相机的实时物体三维重建方法与流程

    本发明涉及三维成像领域,特别是一种能够实时地对物体或人体进行三维重建的方法. 背景技术: 三维重建技术一直是计算机图形学和计算机视觉领域的热点课题.三维重建就是从输入数据中建立3D模型.随着各种面向普 ...

  8. 双目结构光 实现高度测量

    这里使用了两个大恒金星相机,一个投影仪. 相机镜头以及投影仪的架设: 相机镜头以及投影仪的架设: 注意相对位置的摆放,投影仪的光源照亮范围要超过相机的视野. 相机与光源调整好位置后,调整成像效果.两个 ...

  9. 结构光逆相机法重建详解+代码

    代码地址:在公众号「计算机视觉工坊」,后台回复「逆相机法」,即可直接下载. 注:本文的理论主要来自于参考文献1.2,代码来源于南京理工大学左超老师课题组发表的参考文献2中,笔者在其基础上稍作修改,便于 ...

最新文章

  1. 解决Layui数据表格无数据最后列被顶出去的问题
  2. python类定义的讲解_python类定义的讲解
  3. Leetcode 112. 路径总和 (每日一题 20210910)
  4. HashMap实现中文分词器
  5. 被认为最具影响力的4种编程语言!
  6. 天梯赛 喊山 bfs
  7. OpenStack Glance简介
  8. linux之我常用的20条命令(之一)
  9. 51单片机多种方式点亮LED
  10. Python在数学建模中的简单运用
  11. Android多开/分身检测
  12. day_05 运算符 if和while的使用
  13. Python爬虫入门【6】:蜂鸟网图片爬取之一
  14. 关于微信的几个小技能(存起来,您会用得上)
  15. java 统计数字个数_JAVA统计数字个数
  16. 二级计算机密码怎么设置,如何设置电脑密码
  17. PCB实用设计3 | 二极管大全·尖刺·滤波·有意义的降压
  18. IAR Error[Pe020]: identifier 'FILE' is undefined 解决方法
  19. AngularJS第三课:MVW与控制器
  20. 电商系统哪部分会用到接口测试_电商网站测试点 还需要整理

热门文章

  1. hdu 2141 Can you find it?
  2. JQuery使用方法总结
  3. Oracle系统表查询
  4. 再学 GDI+[7]: DrawLines - 绘制一组直线
  5. 作为项目经理,如何处理好与不同类型客户之间的关系?
  6. JVM:StringTable
  7. Java内存模型(Java Memory Model,JMM)
  8. 某大厂女程序员哀叹:还不到三十岁,父母竟让自己和一个离异有娃的男人相亲!
  9. 架构师成长计划”牵手百度,聚焦未来数据中心基础架构|Science x Intel
  10. Angel:深度学习在腾讯广告推荐系统中的实践