I am an iOS developer, newbie to Android App Development. I am currently developing an App in Android where I have to open the camera preview and show a marker right in front. As the user pans through the camera, the marker should be fixed at one point and should be visible only when camera is pointed at that region.
I know this can be very easily done in iOS using the ARKit. (https://www.raywenderlich.com/172543/augmented-reality-and-arkit-tutorial)
I need some reference on how to implement this on Android. Should I be using ARCore or is it possible just using the Camera API and SurfaceView?
Thanks!
Related
I am trying to build a data logger with machine vision camera function. The most important part from camera2 api is the ability to set focus to infinite to me.
I recently got a Lenovo Phab 2 pro and have been exploring Tango's motion tracking and depth map functions. I would like to record the pose estimation and depth map from Tango alongside my original camera image. Although Tango seems to use only the fisheye camera and time of flight camera for those tasks, I am not able to get any reading for pose and depth map whenever I open the main back facing camera using camera2. I have been doing some research on Tango to see if it allows manual focus control. Unfortunately,I couldn't find anything useful.
My questions are:
Is there a way to get Tango to work while having the back camera controlled by camera2?
If not, is there a way to manually control the main camera's focus using Tango api?
Thank you all very much!
I'm using Vuforia in Unity to track 2 AR markers (without a fixed spatial relationship), and 1 marker is always out of focus (when moving it). Therefore, I think the Vuforia multi-targets case doesn't apply to it well?
I'm thinking maybe to touch a screen and set the focus manually to the moving marker, but not quite sure if the fixed marker will still tracking well. I couldn't find a way in Unity to set focus area, but I found it's possible to do it by Android camera directly.
Is it possible to sill use Vuforia AR camera tracking 2 markers(without a fixed spatial relationship) and can manually set the focus of the camera to one marker? Or Metaio provide a solution? Thanks.
I have been struggling with creating a camera preview with a custom layout/overlay that mimics the functionality of the native camera app.
Is there any way I can simply constrain the size of the native camera preview and possibly overlay a grid image on top of it without having to fully rewrite all of the camera's functionality?
No. You cannot hack the UI of another app, any more than another app can hack your UI.
Also, bear in mind that there is no single "native camera app". There are dozens, perhaps hundreds, across the thousands of Android device models.
we are developing an Android App to be used on 1 of 2 Android cameras. Specifically the Nikon S800C.
We are able to use digital zoom but as yet we have not found a way of handling the hardware zoom which is the whole point of using a camera rather than a basic smart phone.
We cannot use the internal camera app as we have to make a custom camera overlay and preview screen. As such we have had to compose our own camera app.
It seems from what I have been advised it is not technically possible to control the camera hardware zoom from within our own app.
So my question is: Is this really the case? Is there absolutely no way of building a custom camera app that has a custom camera capture experience and also a camera HARDWARE zoom?
If this is the case, is there a way of creating a custom preview and camera overlay screen for the existing internal camera app on our device? Which would negate the need to build our own.
Thanks.
I have implemented Augmented Reality application for android using Adobe Air for Android, FLARManager, Away3DLite.
The program works fine on flash, However when i publish it on my mobile phone (HTC Nexus One) or run it on the emulator my camera doesn’t activate and all i can see is the colour of my background and the framerate display.
I think that the problem is the Camera3D that i have used which is the FLARCamera_Away3DLite from FLARManager.
This is how I set my camera
import com.transmote.flar.camera.FLARCamera_Away3DLite;
private var camera3D:FLARCamera_Away3DLite;
this.camera3D = new FLARCamera_Away3DLite(this.flarManager, new Rectangle(0, 0, this.stage.stageWidth, this.stage.stageHeight));
I will really appreciate any advice i can get from you.
Thank you George
I think that you think wrong of the camera class. The camera class you use is the camera in your "virtual" 3d world and it is filming your 3d world. The "film" it then makes goes to the View class which can show your 3d world to 2d. Your screen is a 2d screen and is not capable of showing 3d. The camera class in combination with the view converts your 3D scene to a 2D image what is shows on your screen.
But since you want to make an AR app you mean the camera of the phone. You cant use the Away 3d camera class for this. This tutorial shows how to use the camera of your andriod phone in flash.
The steps you want to take is that you get your phonecamera feed, and past this on the screen. Then use the FLARtoolkit to determine the position of your marker. And then adjust the 3D model to the position of the marker. And last but not least show the 3d model on the screen (using the away3d/papervision camera and view). So basically you got 2 layers in you flash app. 1 background layer which is the feed of your phonecamera and the other layer (on top of it) is your view from away3d or papervision.
I think if you combine those tutorials you can make your application:
Use your phone camera
Augmented Reality with FLARManager
AR basics