What is the difference of this two classes? I want to implement an Application which will track the face in real time preview and then analyse each frame. Can I use the FaceDetector class for this purpose? Or is it just for the photos that are stored in the gallery?
My Devices is using the version 4.4.2 . But it does not have any support for the FaceDetectionListener class. Maybe it has support for the FaceDetector so that I can implement my application with it.
Any Ideas?
FaceDetector class is very slow. In my experience detecting camera frame have been taking hundreds of ms.
If your device not support FaceDetectionListener you can try to use OpenCV library.
Related
I am in a situation where I need to use two cameras at a same time.
I have been looking up in internet for Camera2 api examples. Although not successful in developing my own camera app the way I want for android phone, I found some examples which open the camera.
Now I have a situation. I would like to know if I can access two cameras simultaneously in Android Things Odroid N2+ board. This is because I am working on the app that needs to open two cameras and display at the same time. For processing the image, I am planning to use OpenCV library.
Is this possible in Android/Odroid ?
I also recommend to use UVC Library to access two camera. Android Things is not fit to this problem. I think this example help you. https://github.com/saki4510t/UVCCamera
I want to built my own camera app in android including the following options pinch to zoom and autofocus without using camera intent. I already gone through some samples from Git hub but I couldn't make use of them.So, I decided to start learning Camera API from Google developers. Here I need a complete steps to develop my app and what to learn like camera, surface view and anything else.
Thanks in advance
I have done what you want to be done recently.
For android, there are 2 camera APIs
the camera api
and the camera2 api
camera api is deprecated on android api 21. starting from android api 21, you have to use camera2 api. so you have to learn both of them.
Camera api brother with SurfaceView.
Camera2 api brother with TextureView.
Camera2 api is quit alot different from Camera api, and also is much more complicated than Camera api.
You may want to take a look at my project SimpleCameraView, it is much clear than other projects. I just created this repository yesterday.
Things to Need to Learn to Build Custom Camera APP
Setting Camera,FlashLight and FILE_STORAGE Permissions in Manifest
SurfaceView and How to Use it.
Manual Control of Flash Light.
Lazy Loader for Displaying Images Taken without Memory Leaking.
And you can go through this for Sample : Build Custom Camera
I'm going to implement face recognition in my android application. Which one is best to use, JavaCV or FaceDetector? Please suggest one to me.
FaceDetector may be using a C++ implementation which would be faster. I would suggest using FaceDetector for that reason as well as limiting your application size. Including the JavaCV Jar will increase application size which will make people less likely to download it and more likely to uninstall it to free up space on the phone.
If FaceDetector doesn't work as well as you want it to, use JavaCV. FaceDetector uses eyes only to detect faces so it will not detect profiles, or faces that do not have both eyes visible.
FaceDetector Note: The width of the image must be even.
I want to know how I implement Android Face Detection using OpenCV/JavaCV. Any one have idea about that or have code please comment on this or put the code. I want get faces from the Phone Gallery and detect them..
For face detectiion you can use the built in FaceDetector in the Android SDK, It returns face positions and angles in BMPs. But it's not very fast.
You can Also use the javaCV face detection but before to start i recommend you to see this article to see advantages and constarint of some API that you can use and also compare Performance
For FaceDetector you can see these links
Link 1
Link 2
Here's a realtime face detection sample using FaceDetector and OpenGL (draws rectangles) which works in Android 2.2
You can also use OpenCV in Android
You'd better try this on Linux (I've tried it on Windows, but failed).
Finally JavaCV (strongly recommended)
There is a sample code of realtime face detection using the camera. See "javacv-src-*.zip" on the download page.
The timing figures on the screenshot from K_Anas are shockingly slow... my app on my HTC Desire S with the OpenCV library (here) does 4+ fps...
My demo app on Play Store (eurgh) is here. In the menu the first item takes you to my web page for the app with source code snippets. 1) install OpenCV, 2) get the supplied samples running, 3) edit "Tutorial 2 OpenCVSamples" and drop my code snippets into the frame processing loop.
I claim no credit for the app, it is just a slightly enlarged and adjusted version of the sample which comes with the OpenCV library.
Is it possible to control autofocus feature of Android camera, using OpenCV's libnative_camera*.so ?
Or maybe it's possible to manually set focus distance?
Is there alternative approach (May be, it's better to use Android API to control camera and then grab frame in onPreview events and pass it to native code)?
If your intention is to control the camera on your own, then Android Camera APIs suck. As such Android APIs suck when it comes to offering your hardware camera device number to JavaCV native camera library. Without a native device number, JavaCV would be clueless to connect to the appropriate camera (Front or Back).
If your intention is only to perform object detection and stuff, well Android Camera APIs coupled with JavaCV should work. Setup a callbackBuffer of sufficient size, setPreviewCallbackWithBuffer, setup sufficient preview frame-rate, and once you start getting preview-frames in ImageFormat.NV21 format (mind you!!, this is the only format supported for preview-frames even in ICS), pass them off to JavaCV for performing object detection.
AutoFocus on Android Camera APIs suck big time. I have been researching for over a month for feasible solutions.