标签: augmented-reality

适用于Android的计算机视觉和AR库?

我最初是一名Android开发人员,我想知道Android SDK是否有任何计算机视觉库或增强现实库,因为我打算将这些库用于移动应用程序.

我已经读过,如果我下载NDK,我可以"导入/使用"C openCV和ARtoolkit库,但我想知道这是否可行,或者是否有更好更简单的方法来使用这些工具.

Android应用程序使用Java编程,但OpenCV和ARtoolkit使用C/C++.有没有办法使用这些库?

android opencv computer-vision augmented-reality google-vision

21
推荐指数
3
解决办法
1万
查看次数

JavaScript QR Code Reader - 可以做到吗?或者,远程服务?

我正在对即将开展的项目进行一些初步研究,我有一个简短的问题,我想我会在其他地方看到这里,以防万一有任何经验.

问题很简单:是否可以使用JavaScript读取QR码?是否有一个远程服务,我可以从相机传递一个位图对象,并这样做?目前是否有任何图书馆允许这样做?

该项目将部署到各种移动设备,我们想尝试使用Appcelerator使其工作.我知道Appcelerator确实在其主机设备上公开了Camera API,但无论我们用它做什么都必须能够解析QR码.这是可以做到的吗?

提前致谢!MYK

javascript php qr-code augmented-reality appcelerator

20
推荐指数
2
解决办法
2万
查看次数

增强现实的SURF和SIFT替代目标跟踪算法

在询问这里并尝试SURF和SIFT之后,它们都没有足够高效地产生足够快的兴趣点来跟踪来自摄像机的流.

例如,SURF需要大约3秒的时间来生成图像的兴趣点,这对于跟踪来自网络摄像头的视频来说太慢了,而且在手机上使用它时情况会更糟.

我只需要一个跟踪某个区域,它的比例,倾斜等的算法.我可以在此基础上构建.

谢谢

algorithm surf sift augmented-reality

19
推荐指数
3
解决办法
2万
查看次数

使用Core Motion获取加速度计数据的位移

我正在开发一种增强现实应用程序(目前)想要在表面上显示一个简单的立方体,并且能够在空间中移动(旋转和移位)以在所有不同角度观察立方体.校准相机的问题在这里不适用,因为我要求用户将iPhone放在他想要放置立方体的表面上,然后按下按钮以重置姿势.使用陀螺仪和核心运动来查找相机旋转非常简单.我是这样做的:

if (referenceAttitude != nil) {
    [attitude multiplyByInverseOfAttitude:referenceAttitude];
}

CMRotationMatrix mat = attitude.rotationMatrix;

GLfloat rotMat[] = {
    mat.m11, mat.m21, mat.m31, 0,
    mat.m12, mat.m22, mat.m32, 0,
    mat.m13, mat.m23, mat.m33, 0,
    0, 0, 0, 1
};

glMultMatrixf(rotMat);
Run Code Online (Sandbox Code Playgroud)

这非常有效.当我试图在加速期间找到空间位移时,无论如何都会出现更多问题.带有Core Motion的Apple Teapot示例只是将加速度矢量的x,y和z值添加到位置矢量.这(除了没有多大意义)具有在加速之后将对象返回到原始位置的结果.(因为加速度从正到负,反之亦然).他们这样做了:

translation.x += userAcceleration.x;
translation.y += userAcceleration.y;
translation.z += userAcceleration.z;
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能找出某些加速度的加速度位移?(已知时差).看一些其他的答案,似乎我必须整合两次以从加速度获得速度,然后从速度获得位置.但是代码中没有任何例子,我认为这不是必要的.此外,还有一个问题是,当iPhone仍在飞机上时,加速度计值不为空(我认为有一些噪音).我应该过滤多少这些值?我应该过滤掉它们吗?

iphone accelerometer augmented-reality ios4 gyroscope

19
推荐指数
3
解决办法
2万
查看次数

将图像映射到3D面部网格上

我正在使用iPhone X并ARFaceKit捕捉用户的脸部.目标是使用用户的图像纹理面部网格.

我只是ARFrameAR会话中看一帧(一).从ARFaceGeometry,我有一组描述脸部的顶点.我制作了当前帧的jpeg表示capturedImage.

然后我想找到将创建的jpeg映射到网格顶点的纹理坐标.我想:1.将顶点从模型空间映射到世界空间; 2.将顶点从世界空间映射到摄像机空间; 3.除以图像尺寸以获得纹理的像素坐标.

let geometry: ARFaceGeometry = contentUpdater.faceGeometry!
let theCamera = session.currentFrame?.camera

let theFaceAnchor:SCNNode = contentUpdater.faceNode
let anchorTransform = float4x4((theFaceAnchor?.transform)!)

for index in 0..<totalVertices {
    let vertex = geometry.vertices[index]

    // Step 1: Model space to world space, using the anchor's transform
    let vertex4 = float4(vertex.x, vertex.y, vertex.z, 1.0)
    let worldSpace = anchorTransform * vertex4

    // Step 2: World space to camera space
    let world3 = float3(worldSpace.x, worldSpace.y, …
Run Code Online (Sandbox Code Playgroud)

3d augmented-reality ios arkit iphone-x

19
推荐指数
2
解决办法
1066
查看次数

在Android中使用metaio在openCV中进行3D对象渲染

我正在开发一个应用程序,我正在使用opencv来检测相机图像中的形状,并希望在这些形状上显示由metaio呈现的3D对象.怎么能实现这一目标?我尝试过自定义渲染,但是没有调用'onNewCameraFrame'方法.

我必须将'onNewCameraFrame()'方法中的每个相机帧转换为Mat对象以进行形状检测逻辑.但它没有被召集.我甚至添加了对metaio sdk的'requestCameraImage()'方法的调用.

3d android opencv augmented-reality metaio

18
推荐指数
1
解决办法
1098
查看次数

基于位置的增强现实Android SDK

我正在为我正在开发的基于位置的AR应用程序寻找Android SDK.

这些是我正在寻找的功能:

  1. 首选开源框架(Wikitude API需要外部安装,这是不方便的).
  2. 我的应用程序应该可以轻松打开/关闭相机视图.具体来说,我想在用户直接拿起手机时打开相机视图,并在平坦时切换到地图视图.如果SDK已经支持这将是很好的:)
  3. 我可以从我的应用程序中添加POI(不是从远程POI服务加载)到摄像机视图,然后SDK会在离我当前位置一定距离内显示标记.

我希望我的描述足够清楚.谢谢你的任何建议!

sdk android location augmented-reality

17
推荐指数
1
解决办法
2万
查看次数

计算两个位置之间的方位(纬度,长度)

我正在尝试开发自己的增强现实引擎.

在互联网上搜索,我发现了这个有用的教程.阅读它我发现重要的是在用户位置,点位置和北方之间.

以下图片来自该教程.

在此输入图像描述

接下来,我写了一个Objective-C方法来获得beta:

+ (float) calculateBetaFrom:(CLLocationCoordinate2D)user to:(CLLocationCoordinate2D)destination
{
    double beta = 0;
    double a, b = 0;

    a = destination.latitude - user.latitude;
    b = destination.longitude - user.longitude;

    beta = atan2(a, b) * 180.0 / M_PI;
    if (beta < 0.0)
        beta += 360.0;
    else if (beta > 360.0)
        beta -= 360;

    return beta;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试它时,它不能很好地工作.

所以,我检查了iPhone AR Toolkit,看它是如何工作的(我一直在使用这个工具包,但它对我来说太大了).

而且,在ARGeoCoordinate.m中,还有另一种如何获得beta的实现:

- (float)angleFromCoordinate:(CLLocationCoordinate2D)first toCoordinate:(CLLocationCoordinate2D)second {

    float longitudinalDifference    = second.longitude - first.longitude;
    float latitudinalDifference     = second.latitude  - first.latitude;
    float …
Run Code Online (Sandbox Code Playgroud)

iphone android geolocation augmented-reality

17
推荐指数
4
解决办法
3万
查看次数

Google Cardboard VR传感器

我正在使用Google Cardboard(它的HeadTracker类)来检测AR应用程序中有关设备旋转的某些事情.它工作得很好.

但是,在某些设备上,它不起作用(没有任何反应).我认为这是因为他们没有必要的传感器.我的问题:

1)我想在运行时检测当前设备是否支持HeadTracker,即它是否具有必要的传感器.为此,我需要知道HeadTracker使用哪些传感器,以便我可以查询这些传感器是否存在.这些传感器是什么?

2)有没有办法在AndroidManifest中指定必要的传感器?据我所知,没有办法.因此,如果用户下载我的应用程序,则应用程序必须在运行时通知用户他的设备不受支持.这不好.有什么想法吗?

java android augmented-reality google-cardboard

17
推荐指数
2
解决办法
6828
查看次数

Scenekit snapshot()不包括相机曝光设置

我正在为我的AR应用程序提供屏幕截图功能,我注意到我拍摄的截图(通过sceneView.snapshot())比我从相机看到的更暗.我正在使用Apple的ARKit示例代码,似乎这会影响它:

camera.wantsHDR = true
camera.wantsExposureAdaptation = true
camera.exposureOffset = -1
camera.minimumExposure = -1
camera.maximumExposure = 3
Run Code Online (Sandbox Code Playgroud)

当我删除曝光设置时,快照工作正常.有什么方法可以确保快照考虑那些曝光设置?

augmented-reality scenekit swift arkit

17
推荐指数
1
解决办法
468
查看次数