Creating 3D image model from 2D image using AR in Android - java

I'm new to Augment Reality and not having a compatible device to run examples provided for ARCore. I am having a few questions and want them to clear before going further as I'm getting clear about those through any mean. The app I'm working over is gonna perform the following task.
Detect a logo from a product
Create a 3D model of it using AR
display the generated 3D model at the exact same surface
Here is a sample image captured from a box. I want to display the text and logo in the 3D model.
My Questions
is it possible to display both logo and text as a 3D model or AR
supports images only?
Should I use ARCore or OpenCV or any other to do the task? which one is efficient regarding time and memory to implement?
Maybe it would be a discussion-based question but I am literally unable to find a solution for it.
Thanks everyone!

If you do not have ARCore supported device, you can try Vuforia + Unity instead. Vuforia also supports image recognition and overlay with AR. Check out this tutorial for your use case.
If you still want to use ARCore, you should check out Augmented Images feature. The challenge here if your logo has a good score to be able to work nicely for tracking and overlaying AR.
You can check image quality/score with this tool.

Related

Real time emotion detection with OpenCV and Tensorflow in Android Studio

I am trying to build an Android app with Android Studio(Java), that based on a tensorflow model(pretrained in python) is able to classify the emotion of the person standing in front of the device's camera. My app needs to take the frame, apply some opencv operations like facedetection, grayscale, resize, crop, and histogram equlisation, and after that, giving the result to the model, it will predict the emotion. I have an activity that is showing the camera, but i dont know how to do all this frame manipulation and prediction in the background, when on the phone's screen the preview of the camera and the tags of the predictions, are the only things showing.
I managed to do this on PC very easly, running on the max FPS of the webcam, so i think it should be possible on the phone too.
Is there any similar project that i can get inspiration from? or does anyone know a bit of documentation or a way to do something like this ?
I would suggest checking out the Google ML Vision API's, they can easily be integrated into an Android App and are very accurate. There are many API's like the image labeller and facial labeller. Just check them out here:
https://developers.google.com/ml-kit/vision/face-detection/android
Hope I could help!

How to display 3D models in android?

I want to display some 3D models (.obj files) in an android app using android studio.
The user enters some data and the models have to be placed relative to each other according to the user input.
So all I need is to display some 3D models placed relative to each other according to the data entered before, and the user will be able to see the models from any direction when swiping the screen.
I don't know how to achieve this. I tried to use OpenGL-ES, but without avail as I can't find enough tutorials and the documentation is hard to be understood.
Any help or suggestion is welcome.
Thanks in advance.
Found this 3D Viewer on GitHub (supports OBJ, GLTF)
Also, I believe it is possible to find some converters OBJ ~> GLTF (by Khronos). You can write Android App with embedded Web View in which you can show GLTF.
If someone will work on Android app using some HTML / JS framework like Phonegap or VueJS + Quasar, then GLTF could be good way to go (if OBJ ~> GLTF is not a problem).
You can use for this job SceneForm. In a nutshell SceneForm is used as a middleware between ARCore and Filament to create awesome Augmented Reality Apps, but you can also use SceneForm just to visualize GLTF-Models

How to detect image feature with java opencv?

i like to make feature detections using java android studio and in these past few day, i had been stuck on how to detect this kind of image using opencv.
Cause its my first time using openCV and the only document i can read is not really helpfull. I've already convert it to grayscale. The big questions mark is how can i make my apps to recognize the feature of this image.
so,for example i can make the label of this image as "abstractimage", so when i foto some of another image with the same pattern it will be detected as "abstractimage", but the detected image will be using on t-shirt, and random object with the same image based on this feature image. Can anyone help me?

Face Recognition using java with images or pictures

I am working on a Face recognition Project based on java.
These are the pre-processing steps I use:
I was done with the face detection using openCV in java.
The Link I used for face detection is: https://www.tutorialspoint.com/opencv/opencv_face_detection_in_picture.htm
After Detecting the face of a particular person in an image or picture, I want to recognise the same face in another images or pictures. So that I can collect or grouped all the images of that particular person in an seperate folder.
For Face recognition I also checked the eigenface recogniser of opencv and it mainly has the implementation for the real time face detection and recognistion using web cam.
To do so I googled and found CognitiveJ - Image Analysis in Java from GitHub.
Link for that is :https://github.com/CognitiveJ/cognitivej
also go through the videos : https://www.youtube.com/watch?v=WmzrKXWfa2o
But its chargeable, so doesn't work for me.
I also tried FAINT but it would not met my expectation as it has many plugins which specifically worked on windows OS and I am using Ubuntu.
https://faint.sourceforge.io/
So please suggest, how to group the images of particular person into a seperate folder from the folder in which many images are present along with the images of that particular person using java. So that I implement that code into my application.

Image Recognition BlackBerry?

I'm trying to develop a sort of AR for BlackBerry devices. Trying to achieve the best compatibility for old devices, if it's possible I would like to make it for BlackBerry OS 5 / 6.
Due to lack of hardware performance, I'm not trying to show a real-time solution on screen. Right now I just want to recognize some symbol that the camera see, at the moment the symbol is recognized I want to capture a photo of the current view.
After that, I want to crop part of the captured photo and compare it with a imagery and determine if it matches some image.
I'm quite advanced on researching the alternatives, for the image comparing step, I know there are two common techniques histogram and keypoints. I'm almost decided to use histogram method, but I'm worried about the colors captured by the camera could be a little different from which ones I got in the database (due to light sources, colors, etc.)
Any ideas of which is the best method to achieve what I'm trying to do?
Thanks!

Categories

Resources