Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

take a picture with android ndk - camera api

Is there a standarized API for taking pictures using Android NDK?

Or is it really necessary to go through Java for that?

like image 466
qdot Avatar asked Sep 04 '11 05:09

qdot


3 Answers

Yes. It is necessary to go through Java. Since NDK access will be specific to particular hardware.

Inspite there are few realizations through NDK.

Check the following links for relevant details.

http://nhenze.net/?p=253

http://osdir.com/ml/android-ndk/2010-10/msg00518.html

like image 155
MduSenthil Avatar answered Nov 15 '22 17:11

MduSenthil


In Android 7 (API 24) Google has added support for native camera access (Camera2 API).

In ndk-r12:

  • Headers:

    1. $NDK_ROOT/android-24/$ARCH/usr/include/camera/Ndk*.h
    2. $NDK_ROOT/android-24/$ARCH/usr/include/media/Image*.h
  • Libs:

    1. libcamera2ndk.so
    2. libmediandk.so
like image 39
y30 Avatar answered Nov 15 '22 18:11

y30


1) There was an access to Camera.h in older releases like Froyo, 2.3.3.

Now, I see a Camera.h in KitKat, 4.4.4. It changed completely.

This is an unofficial API, so it's subject to change. Be ready to code and deploy different versions for different Android releases.

2) There is a Camera component in OpenMAX. People managed to create an OpenMAX recorder for Raspbery Pi. I yet have to find a working solution for Android.

These two questions are unanswered:

  • OpenMAX recorder on Android
  • Access camera via OpenMAX in Android

and I'm going to try OpenMAX.

3) We ran into an Android device where video4linux2 works (one can access /dev/video0).

like image 27
Victor Sergienko Avatar answered Nov 15 '22 17:11

Victor Sergienko