├── BlogNativeCamera
├── .classpath
├── .cproject
├── .project
├── AndroidManifest.xml
├── bin
│ ├── AndroidManifest.xml
│ ├── BlogNativeCamera.apk
│ ├── R.txt
│ ├── classes.dex
│ ├── classes
│ │ ├── com
│ │ │ └── blogspot
│ │ │ │ └── mesai0
│ │ │ │ ├── BuildConfig.class
│ │ │ │ ├── CameraPreviewer$1.class
│ │ │ │ ├── CameraPreviewer.class
│ │ │ │ ├── CameraRenderer.class
│ │ │ │ ├── Native.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R$style.class
│ │ │ │ ├── R$styleable.class
│ │ │ │ └── R.class
│ │ └── org
│ │ │ └── opencv
│ │ │ ├── R$attr.class
│ │ │ ├── R$id.class
│ │ │ ├── R$styleable.class
│ │ │ └── R.class
│ ├── dexedLibs
│ │ ├── android-support-v4-f2766a44aa401c7da60297936a44a205.jar
│ │ ├── annotations-ff3f38afbbd54f43e0dafa76d924280d.jar
│ │ └── opencv library - 2.4.3-9eaebcf1019a9c79c99ea2d35711c2bd.jar
│ ├── res
│ │ ├── drawable-hdpi
│ │ │ └── ic_launcher.png
│ │ ├── drawable-mdpi
│ │ │ └── ic_launcher.png
│ │ └── drawable-xhdpi
│ │ │ └── ic_launcher.png
│ └── resources.ap_
├── gen
│ ├── com
│ │ └── blogspot
│ │ │ └── mesai0
│ │ │ ├── BuildConfig.java
│ │ │ └── R.java
│ └── org
│ │ └── opencv
│ │ └── R.java
├── jni
│ ├── Android.mk
│ ├── Application.mk
│ └── CameraRenderer.cpp
├── libs
│ └── android-support-v4.jar
├── obj
│ └── local
│ │ └── armeabi-v7a
│ │ ├── libNativeCamera.so
│ │ ├── libgnustl_static.a
│ │ ├── libnative_camera_r2.2.0.so
│ │ ├── libnative_camera_r2.3.3.so
│ │ ├── libnative_camera_r3.0.1.so
│ │ ├── libnative_camera_r4.0.0.so
│ │ ├── libnative_camera_r4.0.3.so
│ │ ├── libnative_camera_r4.1.1.so
│ │ ├── libnative_camera_r4.2.0.so
│ │ ├── libopencv_java.so
│ │ └── objs
│ │ └── NativeCamera
│ │ ├── CameraRenderer.o
│ │ └── CameraRenderer.o.d
├── proguard-project.txt
├── project.properties
├── res
│ ├── drawable-hdpi
│ │ └── ic_launcher.png
│ ├── drawable-mdpi
│ │ └── ic_launcher.png
│ ├── drawable-xhdpi
│ │ └── ic_launcher.png
│ └── values
│ │ ├── strings.xml
│ │ └── styles.xml
└── src
│ └── com
│ └── blogspot
│ └── mesai0
│ ├── CameraPreviewer.java
│ ├── CameraRenderer.java
│ └── Native.java
└── README.md
/BlogNativeCamera/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/BlogNativeCamera/.cproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/BlogNativeCamera/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | BlogNativeCamera
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
10 |
11 |
12 | ?children?
13 | ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|?name?=entry\\\\\\\|\\\|\||
14 |
15 |
16 | ?name?
17 |
18 |
19 |
20 | org.eclipse.cdt.make.core.append_environment
21 | true
22 |
23 |
24 | org.eclipse.cdt.make.core.autoBuildTarget
25 |
26 |
27 |
28 | org.eclipse.cdt.make.core.buildArguments
29 |
30 |
31 |
32 | org.eclipse.cdt.make.core.buildCommand
33 | ndk-build
34 |
35 |
36 | org.eclipse.cdt.make.core.cleanBuildTarget
37 | clean
38 |
39 |
40 | org.eclipse.cdt.make.core.contents
41 | org.eclipse.cdt.make.core.activeConfigSettings
42 |
43 |
44 | org.eclipse.cdt.make.core.enableAutoBuild
45 | true
46 |
47 |
48 | org.eclipse.cdt.make.core.enableCleanBuild
49 | true
50 |
51 |
52 | org.eclipse.cdt.make.core.enableFullBuild
53 | true
54 |
55 |
56 | org.eclipse.cdt.make.core.fullBuildTarget
57 |
58 |
59 |
60 | org.eclipse.cdt.make.core.stopOnError
61 | true
62 |
63 |
64 | org.eclipse.cdt.make.core.useDefaultBuildCmd
65 | true
66 |
67 |
68 |
69 |
70 | com.android.ide.eclipse.adt.ResourceManagerBuilder
71 |
72 |
73 |
74 |
75 | com.android.ide.eclipse.adt.PreCompilerBuilder
76 |
77 |
78 |
79 |
80 | org.eclipse.jdt.core.javabuilder
81 |
82 |
83 |
84 |
85 | com.android.ide.eclipse.adt.ApkBuilder
86 |
87 |
88 |
89 |
90 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
91 | full,incremental,
92 |
93 |
94 |
95 |
96 |
97 | com.android.ide.eclipse.adt.AndroidNature
98 | org.eclipse.jdt.core.javanature
99 | org.eclipse.cdt.core.cnature
100 | org.eclipse.cdt.core.ccnature
101 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
102 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
103 |
104 |
105 |
--------------------------------------------------------------------------------
/BlogNativeCamera/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
9 |
10 |
11 |
12 |
17 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
9 |
10 |
11 |
12 |
17 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/BlogNativeCamera.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/BlogNativeCamera.apk
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/R.txt:
--------------------------------------------------------------------------------
1 | int attr camera_id 0x7f010001
2 | int attr show_fps 0x7f010000
3 | int drawable ic_launcher 0x7f020000
4 | int id any 0x7f030000
5 | int id back 0x7f030001
6 | int id front 0x7f030002
7 | int string app_name 0x7f040000
8 | int style AppBaseTheme 0x7f050000
9 | int style AppTheme 0x7f050001
10 | int[] styleable CameraBridgeViewBase { 0x7f010000, 0x7f010001 }
11 | int styleable CameraBridgeViewBase_camera_id 1
12 | int styleable CameraBridgeViewBase_show_fps 0
13 |
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes.dex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes.dex
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/com/blogspot/mesai0/BuildConfig.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/com/blogspot/mesai0/BuildConfig.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/com/blogspot/mesai0/CameraPreviewer$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/com/blogspot/mesai0/CameraPreviewer$1.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/com/blogspot/mesai0/CameraPreviewer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/com/blogspot/mesai0/CameraPreviewer.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/com/blogspot/mesai0/CameraRenderer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/com/blogspot/mesai0/CameraRenderer.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/com/blogspot/mesai0/Native.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/com/blogspot/mesai0/Native.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/com/blogspot/mesai0/R$attr.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/com/blogspot/mesai0/R$attr.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/com/blogspot/mesai0/R$drawable.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/com/blogspot/mesai0/R$drawable.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/com/blogspot/mesai0/R$id.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/com/blogspot/mesai0/R$id.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/com/blogspot/mesai0/R$string.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/com/blogspot/mesai0/R$string.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/com/blogspot/mesai0/R$style.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/com/blogspot/mesai0/R$style.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/com/blogspot/mesai0/R$styleable.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/com/blogspot/mesai0/R$styleable.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/com/blogspot/mesai0/R.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/com/blogspot/mesai0/R.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/org/opencv/R$attr.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/org/opencv/R$attr.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/org/opencv/R$id.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/org/opencv/R$id.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/org/opencv/R$styleable.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/org/opencv/R$styleable.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/classes/org/opencv/R.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/classes/org/opencv/R.class
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/dexedLibs/android-support-v4-f2766a44aa401c7da60297936a44a205.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/dexedLibs/android-support-v4-f2766a44aa401c7da60297936a44a205.jar
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/dexedLibs/annotations-ff3f38afbbd54f43e0dafa76d924280d.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/dexedLibs/annotations-ff3f38afbbd54f43e0dafa76d924280d.jar
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/dexedLibs/opencv library - 2.4.3-9eaebcf1019a9c79c99ea2d35711c2bd.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/dexedLibs/opencv library - 2.4.3-9eaebcf1019a9c79c99ea2d35711c2bd.jar
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/BlogNativeCamera/bin/resources.ap_:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/bin/resources.ap_
--------------------------------------------------------------------------------
/BlogNativeCamera/gen/com/blogspot/mesai0/BuildConfig.java:
--------------------------------------------------------------------------------
1 | /** Automatically generated file. DO NOT MODIFY */
2 | package com.blogspot.mesai0;
3 |
4 | public final class BuildConfig {
5 | public final static boolean DEBUG = true;
6 | }
--------------------------------------------------------------------------------
/BlogNativeCamera/gen/com/blogspot/mesai0/R.java:
--------------------------------------------------------------------------------
1 | /* AUTO-GENERATED FILE. DO NOT MODIFY.
2 | *
3 | * This class was automatically generated by the
4 | * aapt tool from the resource data it found. It
5 | * should not be modified by hand.
6 | */
7 |
8 | package com.blogspot.mesai0;
9 |
10 | public final class R {
11 | public static final class attr {
12 | /**
May be an integer value, such as "100
".
13 |
This may also be a reference to a resource (in the form
14 | "@[package:]type:name
") or
15 | theme attribute (in the form
16 | "?[package:][type:]name
")
17 | containing a value of this type.
18 |
May be one of the following constant values.
19 |
20 |
21 |
22 |
23 | Constant | Value | Description |
24 | any | -1 | |
25 | back | 0 | |
26 | front | 1 | |
27 |
28 | */
29 | public static final int camera_id=0x7f010001;
30 | /** Must be a boolean value, either "true
" or "false
".
31 |
This may also be a reference to a resource (in the form
32 | "@[package:]type:name
") or
33 | theme attribute (in the form
34 | "?[package:][type:]name
")
35 | containing a value of this type.
36 | */
37 | public static final int show_fps=0x7f010000;
38 | }
39 | public static final class drawable {
40 | public static final int ic_launcher=0x7f020000;
41 | }
42 | public static final class id {
43 | public static final int any=0x7f030000;
44 | public static final int back=0x7f030001;
45 | public static final int front=0x7f030002;
46 | }
47 | public static final class string {
48 | public static final int app_name=0x7f040000;
49 | }
50 | public static final class style {
51 | /**
52 | Base application theme, dependent on API level. This theme is replaced
53 | by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
54 |
55 |
56 | Theme customizations available in newer API levels can go in
57 | res/values-vXX/styles.xml, while customizations related to
58 | backward-compatibility can go here.
59 |
60 | */
61 | public static final int AppBaseTheme=0x7f050000;
62 | /** Application theme.
63 | All customizations that are NOT specific to a particular API-level can go here.
64 | */
65 | public static final int AppTheme=0x7f050001;
66 | }
67 | public static final class styleable {
68 | /** Attributes that can be used with a CameraBridgeViewBase.
69 |
Includes the following attributes:
70 |
71 |
72 |
73 | Attribute | Description |
74 | {@link #CameraBridgeViewBase_camera_id com.blogspot.mesai0:camera_id} | |
75 | {@link #CameraBridgeViewBase_show_fps com.blogspot.mesai0:show_fps} | |
76 |
77 | @see #CameraBridgeViewBase_camera_id
78 | @see #CameraBridgeViewBase_show_fps
79 | */
80 | public static final int[] CameraBridgeViewBase = {
81 | 0x7f010000, 0x7f010001
82 | };
83 | /**
84 | This symbol is the offset where the {@link com.blogspot.mesai0.R.attr#camera_id}
85 | attribute's value can be found in the {@link #CameraBridgeViewBase} array.
86 |
87 |
88 |
May be an integer value, such as "100
".
89 |
This may also be a reference to a resource (in the form
90 | "@[package:]type:name
") or
91 | theme attribute (in the form
92 | "?[package:][type:]name
")
93 | containing a value of this type.
94 |
May be one of the following constant values.
95 |
96 |
97 |
98 |
99 | Constant | Value | Description |
100 | any | -1 | |
101 | back | 0 | |
102 | front | 1 | |
103 |
104 | @attr name com.blogspot.mesai0:camera_id
105 | */
106 | public static final int CameraBridgeViewBase_camera_id = 1;
107 | /**
108 | This symbol is the offset where the {@link com.blogspot.mesai0.R.attr#show_fps}
109 | attribute's value can be found in the {@link #CameraBridgeViewBase} array.
110 |
111 |
112 |
Must be a boolean value, either "true
" or "false
".
113 |
This may also be a reference to a resource (in the form
114 | "@[package:]type:name
") or
115 | theme attribute (in the form
116 | "?[package:][type:]name
")
117 | containing a value of this type.
118 | @attr name com.blogspot.mesai0:show_fps
119 | */
120 | public static final int CameraBridgeViewBase_show_fps = 0;
121 | };
122 | }
123 |
--------------------------------------------------------------------------------
/BlogNativeCamera/gen/org/opencv/R.java:
--------------------------------------------------------------------------------
1 | /* AUTO-GENERATED FILE. DO NOT MODIFY.
2 | *
3 | * This class was automatically generated by the
4 | * aapt tool from the resource data it found. It
5 | * should not be modified by hand.
6 | */
7 | package org.opencv;
8 |
9 | public final class R {
10 | public static final class attr {
11 | public static final int camera_id = 0x7f010001;
12 | public static final int show_fps = 0x7f010000;
13 | }
14 | public static final class id {
15 | public static final int any = 0x7f030000;
16 | public static final int back = 0x7f030001;
17 | public static final int front = 0x7f030002;
18 | }
19 | public static final class styleable {
20 | public static final int[] CameraBridgeViewBase = { 0x7f010000, 0x7f010001 };
21 | public static final int CameraBridgeViewBase_camera_id = 1;
22 | public static final int CameraBridgeViewBase_show_fps = 0;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/BlogNativeCamera/jni/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 |
3 |
4 |
5 |
6 | include $(CLEAR_VARS)
7 | LOCAL_MODULE := opencv-prebuilt
8 | LOCAL_SRC_FILES = build/libs/$(TARGET_ARCH_ABI)/libopencv_java.so
9 | LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/build/include
10 | include $(PREBUILT_SHARED_LIBRARY)
11 |
12 | include $(CLEAR_VARS)
13 | LOCAL_MODULE := camera1-prebuilt
14 | LOCAL_SRC_FILES = build/libs/$(TARGET_ARCH_ABI)/libnative_camera_r4.2.0.so
15 | LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/build/include
16 | include $(PREBUILT_SHARED_LIBRARY)
17 |
18 | include $(CLEAR_VARS)
19 | LOCAL_MODULE := camera2-prebuilt
20 | LOCAL_SRC_FILES = build/libs/$(TARGET_ARCH_ABI)/libnative_camera_r4.1.1.so
21 | LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/build/include
22 | include $(PREBUILT_SHARED_LIBRARY)
23 |
24 | include $(CLEAR_VARS)
25 | LOCAL_MODULE := camera3-prebuilt
26 | LOCAL_SRC_FILES = build/libs/$(TARGET_ARCH_ABI)/libnative_camera_r4.0.3.so
27 | LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/build/include
28 | include $(PREBUILT_SHARED_LIBRARY)
29 |
30 | include $(CLEAR_VARS)
31 | LOCAL_MODULE := camera4-prebuilt
32 | LOCAL_SRC_FILES = build/libs/$(TARGET_ARCH_ABI)/libnative_camera_r4.0.0.so
33 | LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/build/include
34 | include $(PREBUILT_SHARED_LIBRARY)
35 |
36 | include $(CLEAR_VARS)
37 | LOCAL_MODULE := camera5-prebuilt
38 | LOCAL_SRC_FILES = build/libs/$(TARGET_ARCH_ABI)/libnative_camera_r3.0.1.so
39 | LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/build/include
40 | include $(PREBUILT_SHARED_LIBRARY)
41 |
42 | include $(CLEAR_VARS)
43 | LOCAL_MODULE := camera6-prebuilt
44 | LOCAL_SRC_FILES = build/libs/$(TARGET_ARCH_ABI)/libnative_camera_r2.3.3.so
45 | LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/build/include
46 | include $(PREBUILT_SHARED_LIBRARY)
47 |
48 | include $(CLEAR_VARS)
49 | LOCAL_MODULE := camera7-prebuilt
50 | LOCAL_SRC_FILES = build/libs/$(TARGET_ARCH_ABI)/libnative_camera_r2.2.0.so
51 | LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/build/include
52 | include $(PREBUILT_SHARED_LIBRARY)
53 |
54 | include $(CLEAR_VARS)
55 | OPENGLES_LIB := -lGLESv1_CM
56 | OPENGLES_DEF := -DUSE_OPENGL_ES_1_1
57 | LOCAL_MODULE := NativeCamera
58 | LOCAL_SHARED_LIBRARIES := opencv-prebuilt
59 | LOCAL_SRC_FILES := CameraRenderer.cpp
60 | LOCAL_LDLIBS += $(OPENGLES_LIB) -llog -ldl
61 |
62 | include $(BUILD_SHARED_LIBRARY)
--------------------------------------------------------------------------------
/BlogNativeCamera/jni/Application.mk:
--------------------------------------------------------------------------------
1 | APP_STL := gnustl_static
2 | APP_CPPFLAGS := -frtti -fexceptions
3 | APP_ABI := armeabi-v7a
4 | APP_PLATFORM := android-8
5 |
--------------------------------------------------------------------------------
/BlogNativeCamera/jni/CameraRenderer.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include "opencv2/highgui/highgui.hpp"
10 |
11 | // Utility for logging:
12 | #define LOG_TAG "CAMERA_RENDERER"
13 | #define LOG(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
14 |
15 | GLuint texture;
16 | cv::VideoCapture capture;
17 | cv::Mat buffer[30];
18 | cv::Mat rgbFrame;
19 | cv::Mat inframe;
20 | cv::Mat outframe;
21 | int bufferIndex;
22 | int rgbIndex;
23 | int frameWidth;
24 | int frameHeight;
25 | int screenWidth;
26 | int screenHeight;
27 | int orientation;
28 | pthread_mutex_t FGmutex;
29 | pthread_t frameGrabber;
30 | pthread_attr_t attr;
31 | struct sched_param param;
32 |
33 | GLfloat vertices[] = {
34 | -1.0f, -1.0f, 0.0f, // V1 - bottom left
35 | -1.0f, 1.0f, 0.0f, // V2 - top left
36 | 1.0f, -1.0f, 0.0f, // V3 - bottom right
37 | 1.0f, 1.0f, 0.0f // V4 - top right
38 | };
39 |
40 | GLfloat textures[8];
41 |
42 | extern "C" {
43 |
44 | void drawBackground();
45 | void createTexture();
46 | void destroyTexture();
47 | void *frameRetriever(void*);
48 |
49 | JNIEXPORT void JNICALL Java_com_blogspot_mesai0_Native_initCamera(JNIEnv*, jobject,jint width,jint height)
50 | {
51 | LOG("Camera Created");
52 | capture.open(CV_CAP_ANDROID + 0);
53 | capture.set(CV_CAP_PROP_FRAME_WIDTH, width);
54 | capture.set(CV_CAP_PROP_FRAME_HEIGHT, height);
55 | frameWidth =width;
56 | frameHeight = height;
57 | LOG("frameWidth = %d",frameWidth);
58 | LOG("frameHeight = %d",frameHeight);
59 | glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
60 | glShadeModel(GL_SMOOTH);
61 | glClearDepthf(1.0f);
62 | glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
63 | pthread_attr_t attr;
64 | pthread_attr_init(&attr);
65 | pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
66 | pthread_attr_setschedpolicy(&attr, SCHED_FIFO);
67 | memset(¶m, 0, sizeof(param));
68 | param.sched_priority = 100;
69 | pthread_attr_setschedparam(&attr, ¶m);
70 | pthread_create(&frameGrabber, &attr, frameRetriever, NULL);
71 | pthread_attr_destroy(&attr);
72 |
73 | }
74 |
75 | JNIEXPORT void JNICALL Java_com_blogspot_mesai0_Native_surfaceChanged(JNIEnv*, jobject,jint width,jint height,jint orien)
76 | {
77 | LOG("Surface Changed");
78 | glViewport(0, 0, width,height);
79 | if(orien==1) {
80 | screenWidth = width;
81 | screenHeight = height;
82 | orientation = 1;
83 | } else {
84 | screenWidth = height;
85 | screenHeight = width;
86 | orientation = 2;
87 | }
88 |
89 |
90 | LOG("screenWidth = %d",screenWidth);
91 | LOG("screenHeight = %d",screenHeight);
92 | glMatrixMode(GL_PROJECTION);
93 | glLoadIdentity();
94 | float aspect = screenWidth / screenHeight;
95 | float bt = (float) tan(45 / 2);
96 | float lr = bt * aspect;
97 | glFrustumf(-lr * 0.1f, lr * 0.1f, -bt * 0.1f, bt * 0.1f, 0.1f,
98 | 100.0f);
99 | glMatrixMode(GL_MODELVIEW);
100 | glLoadIdentity();
101 | glEnable(GL_TEXTURE_2D);
102 | glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
103 | glClearDepthf(1.0f);
104 | glEnable(GL_DEPTH_TEST);
105 | glDepthFunc(GL_LEQUAL);
106 | createTexture();
107 | }
108 |
109 | JNIEXPORT void JNICALL Java_com_blogspot_mesai0_Native_releaseCamera(JNIEnv*, jobject)
110 | {
111 | LOG("Camera Released");
112 | capture.release();
113 | destroyTexture();
114 |
115 | }
116 |
117 | void createTexture() {
118 | textures[0] = ((1024.0f-frameWidth*1.0f)/2.0f)/1024.0f;
119 | textures[1] = ((1024.0f-frameHeight*1.0f)/2.0f)/1024.0f + (frameHeight*1.0f/1024.0f);
120 | textures[2] = ((1024.0f-frameWidth*1.0f)/2.0f)/1024.0f + (frameWidth*1.0f/1024.0f);
121 | textures[3] = ((1024.0f-frameHeight*1.0f)/2.0f)/1024.0f + (frameHeight*1.0f/1024.0f);
122 | textures[4] = ((1024.0f-frameWidth*1.0f)/2.0f)/1024.0f;
123 | textures[5] = ((1024.0f-frameHeight*1.0f)/2.0f)/1024.0f;
124 | textures[6] = ((1024.0f-frameWidth*1.0f)/2.0f)/1024.0f + (frameWidth*1.0f/1024.0f);
125 | textures[7] = ((1024.0f-frameHeight*1.0f)/2.0f)/1024.0f;
126 | LOG("Texture Created");
127 | glGenTextures(1, &texture);
128 | glBindTexture(GL_TEXTURE_2D, texture);
129 | glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
130 | glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
131 | glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 1024,1024, 0, GL_RGB,
132 | GL_UNSIGNED_SHORT_5_6_5, NULL);
133 | glBindTexture(GL_TEXTURE_2D, 0);
134 | }
135 |
136 | void destroyTexture() {
137 | LOG("Texture destroyed");
138 | glDeleteTextures(1, &texture);
139 | }
140 |
141 | JNIEXPORT void JNICALL Java_com_blogspot_mesai0_Native_renderBackground(
142 | JNIEnv*, jobject) {
143 | drawBackground();
144 | }
145 |
146 | void drawBackground() {
147 | glClear (GL_COLOR_BUFFER_BIT);
148 | glBindTexture(GL_TEXTURE_2D, texture);
149 | if(bufferIndex>0){
150 | pthread_mutex_lock(&FGmutex);
151 | cvtColor(buffer[(bufferIndex - 1) % 30], outframe, CV_BGR2BGR565);
152 | pthread_mutex_unlock(&FGmutex);
153 | cv::flip(outframe, rgbFrame, 1);
154 | if (texture != 0)
155 | glTexSubImage2D(GL_TEXTURE_2D, 0, (1024-frameWidth)/2, (1024-frameHeight)/2, frameWidth, frameHeight,
156 | GL_RGB, GL_UNSIGNED_SHORT_5_6_5, rgbFrame.ptr());
157 | }
158 | glEnableClientState (GL_VERTEX_ARRAY);
159 | glEnableClientState (GL_TEXTURE_COORD_ARRAY);
160 | glLoadIdentity();
161 | if(orientation!=1){
162 | glRotatef( 90,0,0,1);
163 | }
164 | // Set the face rotation
165 | glFrontFace (GL_CW);
166 | // Point to our vertex buffer
167 | glVertexPointer(3, GL_FLOAT, 0, vertices);
168 | glTexCoordPointer(2, GL_FLOAT, 0, textures);
169 | // Draw the vertices as triangle strip
170 | glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
171 | //Disable the client state before leaving
172 | glDisableClientState(GL_VERTEX_ARRAY);
173 | glDisableClientState(GL_TEXTURE_COORD_ARRAY);
174 | }
175 |
176 | void *frameRetriever(void*) {
177 | while (capture.isOpened()) {
178 | capture.read(inframe);
179 | if (!inframe.empty()) {
180 | pthread_mutex_lock(&FGmutex);
181 | inframe.copyTo(buffer[(bufferIndex++) % 30]);
182 | pthread_mutex_unlock(&FGmutex);
183 | }
184 | }
185 | LOG("Camera Closed");
186 | pthread_exit (NULL);
187 | }
188 |
189 |
190 | }
191 |
--------------------------------------------------------------------------------
/BlogNativeCamera/libs/android-support-v4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/libs/android-support-v4.jar
--------------------------------------------------------------------------------
/BlogNativeCamera/obj/local/armeabi-v7a/libNativeCamera.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/obj/local/armeabi-v7a/libNativeCamera.so
--------------------------------------------------------------------------------
/BlogNativeCamera/obj/local/armeabi-v7a/libgnustl_static.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/obj/local/armeabi-v7a/libgnustl_static.a
--------------------------------------------------------------------------------
/BlogNativeCamera/obj/local/armeabi-v7a/libnative_camera_r2.2.0.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/obj/local/armeabi-v7a/libnative_camera_r2.2.0.so
--------------------------------------------------------------------------------
/BlogNativeCamera/obj/local/armeabi-v7a/libnative_camera_r2.3.3.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/obj/local/armeabi-v7a/libnative_camera_r2.3.3.so
--------------------------------------------------------------------------------
/BlogNativeCamera/obj/local/armeabi-v7a/libnative_camera_r3.0.1.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/obj/local/armeabi-v7a/libnative_camera_r3.0.1.so
--------------------------------------------------------------------------------
/BlogNativeCamera/obj/local/armeabi-v7a/libnative_camera_r4.0.0.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/obj/local/armeabi-v7a/libnative_camera_r4.0.0.so
--------------------------------------------------------------------------------
/BlogNativeCamera/obj/local/armeabi-v7a/libnative_camera_r4.0.3.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/obj/local/armeabi-v7a/libnative_camera_r4.0.3.so
--------------------------------------------------------------------------------
/BlogNativeCamera/obj/local/armeabi-v7a/libnative_camera_r4.1.1.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/obj/local/armeabi-v7a/libnative_camera_r4.1.1.so
--------------------------------------------------------------------------------
/BlogNativeCamera/obj/local/armeabi-v7a/libnative_camera_r4.2.0.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/obj/local/armeabi-v7a/libnative_camera_r4.2.0.so
--------------------------------------------------------------------------------
/BlogNativeCamera/obj/local/armeabi-v7a/libopencv_java.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/obj/local/armeabi-v7a/libopencv_java.so
--------------------------------------------------------------------------------
/BlogNativeCamera/obj/local/armeabi-v7a/objs/NativeCamera/CameraRenderer.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/obj/local/armeabi-v7a/objs/NativeCamera/CameraRenderer.o
--------------------------------------------------------------------------------
/BlogNativeCamera/obj/local/armeabi-v7a/objs/NativeCamera/CameraRenderer.o.d:
--------------------------------------------------------------------------------
1 | obj/local/armeabi-v7a/objs/NativeCamera/CameraRenderer.o: \
2 | jni/CameraRenderer.cpp \
3 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/jni.h \
4 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/GLES/gl.h \
5 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/GLES/glplatform.h \
6 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/KHR/khrplatform.h \
7 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/stdint.h \
8 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/_types.h \
9 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/machine/_types.h \
10 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/GLES/glext.h \
11 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/android/log.h \
12 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/pthread.h \
13 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/time.h \
14 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/cdefs.h \
15 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/cdefs_elf.h \
16 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/android/api-level.h \
17 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/time.h \
18 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/types.h \
19 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/linux/posix_types.h \
20 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/linux/stddef.h \
21 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/linux/compiler.h \
22 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/asm/posix_types.h \
23 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/asm/types.h \
24 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/linux/types.h \
25 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/machine/kernel.h \
26 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/sysmacros.h \
27 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/linux/time.h \
28 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/asm/siginfo.h \
29 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/asm-generic/siginfo.h \
30 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/signal.h \
31 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/limits.h \
32 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/limits.h \
33 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/linux/limits.h \
34 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/machine/internal_types.h \
35 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/machine/limits.h \
36 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/syslimits.h \
37 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/string.h \
38 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/malloc.h \
39 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/asm/signal.h \
40 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/asm-generic/signal.h \
41 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/asm/sigcontext.h \
42 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sched.h \
43 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/Math.h \
44 | jni/build/include/opencv/cv.h jni/build/include/opencv2/core/core_c.h \
45 | jni/build/include/opencv2/core/types_c.h \
46 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/assert.h \
47 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/stdlib.h \
48 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/alloca.h \
49 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/strings.h \
50 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/memory.h \
51 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/math.h \
52 | jni/build/include/opencv2/core/core.hpp \
53 | jni/build/include/opencv2/core/version.hpp \
54 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/algorithm \
55 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/cmath \
56 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/cstddef \
57 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/complex \
58 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/map \
59 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/vector \
60 | jni/build/include/opencv2/core/operations.hpp \
61 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/limits \
62 | jni/build/include/opencv2/core/mat.hpp \
63 | jni/build/include/opencv2/imgproc/imgproc_c.h \
64 | jni/build/include/opencv2/imgproc/types_c.h \
65 | jni/build/include/opencv2/imgproc/imgproc.hpp \
66 | jni/build/include/opencv2/video/tracking.hpp \
67 | jni/build/include/opencv2/features2d/features2d.hpp \
68 | jni/build/include/opencv2/flann/miniflann.hpp \
69 | jni/build/include/opencv2/flann/defines.h \
70 | jni/build/include/opencv2/flann/config.h \
71 | jni/build/include/opencv2/flann/flann.hpp \
72 | jni/build/include/opencv2/flann/flann_base.hpp \
73 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/cassert \
74 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/cstdio \
75 | jni/build/include/opencv2/flann/general.h \
76 | jni/build/include/opencv2/flann/defines.h \
77 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/stdexcept \
78 | jni/build/include/opencv2/flann/matrix.h \
79 | jni/build/include/opencv2/flann/params.h \
80 | jni/build/include/opencv2/flann/any.h \
81 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/typeinfo \
82 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/iostream \
83 | jni/build/include/opencv2/flann/saving.h \
84 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/cstring \
85 | jni/build/include/opencv2/flann/nn_index.h \
86 | jni/build/include/opencv2/flann/result_set.h \
87 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/set \
88 | jni/build/include/opencv2/flann/all_indices.h \
89 | jni/build/include/opencv2/flann/kdtree_index.h \
90 | jni/build/include/opencv2/flann/dynamic_bitset.h \
91 | jni/build/include/opencv2/flann/dist.h \
92 | jni/build/include/opencv2/flann/heap.h \
93 | jni/build/include/opencv2/flann/allocator.h \
94 | jni/build/include/opencv2/flann/random.h \
95 | jni/build/include/opencv2/flann/kdtree_single_index.h \
96 | jni/build/include/opencv2/flann/kmeans_index.h \
97 | jni/build/include/opencv2/flann/logger.h \
98 | jni/build/include/opencv2/flann/composite_index.h \
99 | jni/build/include/opencv2/flann/linear_index.h \
100 | jni/build/include/opencv2/flann/hierarchical_clustering_index.h \
101 | jni/build/include/opencv2/flann/lsh_index.h \
102 | jni/build/include/opencv2/flann/lsh_table.h \
103 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/iomanip \
104 | jni/build/include/opencv2/flann/autotuned_index.h \
105 | jni/build/include/opencv2/flann/ground_truth.h \
106 | jni/build/include/opencv2/flann/index_testing.h \
107 | jni/build/include/opencv2/flann/timer.h \
108 | jni/build/include/opencv2/flann/sampling.h \
109 | jni/build/include/opencv2/calib3d/calib3d.hpp \
110 | jni/build/include/opencv2/objdetect/objdetect.hpp \
111 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/deque \
112 | jni/build/include/opencv2/legacy/compat.hpp \
113 | jni/build/include/opencv2/core/internal.hpp \
114 | jni/build/include/opencv2/highgui/highgui.hpp \
115 | jni/build/include/opencv2/highgui/highgui_c.h
116 |
117 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/jni.h:
118 |
119 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/GLES/gl.h:
120 |
121 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/GLES/glplatform.h:
122 |
123 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/KHR/khrplatform.h:
124 |
125 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/stdint.h:
126 |
127 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/_types.h:
128 |
129 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/machine/_types.h:
130 |
131 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/GLES/glext.h:
132 |
133 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/android/log.h:
134 |
135 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/pthread.h:
136 |
137 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/time.h:
138 |
139 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/cdefs.h:
140 |
141 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/cdefs_elf.h:
142 |
143 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/android/api-level.h:
144 |
145 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/time.h:
146 |
147 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/types.h:
148 |
149 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/linux/posix_types.h:
150 |
151 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/linux/stddef.h:
152 |
153 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/linux/compiler.h:
154 |
155 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/asm/posix_types.h:
156 |
157 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/asm/types.h:
158 |
159 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/linux/types.h:
160 |
161 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/machine/kernel.h:
162 |
163 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/sysmacros.h:
164 |
165 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/linux/time.h:
166 |
167 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/asm/siginfo.h:
168 |
169 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/asm-generic/siginfo.h:
170 |
171 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/signal.h:
172 |
173 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/limits.h:
174 |
175 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/limits.h:
176 |
177 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/linux/limits.h:
178 |
179 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/machine/internal_types.h:
180 |
181 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/machine/limits.h:
182 |
183 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sys/syslimits.h:
184 |
185 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/string.h:
186 |
187 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/malloc.h:
188 |
189 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/asm/signal.h:
190 |
191 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/asm-generic/signal.h:
192 |
193 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/asm/sigcontext.h:
194 |
195 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/sched.h:
196 |
197 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/Math.h:
198 |
199 | jni/build/include/opencv/cv.h:
200 |
201 | jni/build/include/opencv2/core/core_c.h:
202 |
203 | jni/build/include/opencv2/core/types_c.h:
204 |
205 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/assert.h:
206 |
207 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/stdlib.h:
208 |
209 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/alloca.h:
210 |
211 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/strings.h:
212 |
213 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/memory.h:
214 |
215 | /Users/MESAI/Development/Android/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/math.h:
216 |
217 | jni/build/include/opencv2/core/core.hpp:
218 |
219 | jni/build/include/opencv2/core/version.hpp:
220 |
221 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/algorithm:
222 |
223 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/cmath:
224 |
225 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/cstddef:
226 |
227 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/complex:
228 |
229 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/map:
230 |
231 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/vector:
232 |
233 | jni/build/include/opencv2/core/operations.hpp:
234 |
235 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/limits:
236 |
237 | jni/build/include/opencv2/core/mat.hpp:
238 |
239 | jni/build/include/opencv2/imgproc/imgproc_c.h:
240 |
241 | jni/build/include/opencv2/imgproc/types_c.h:
242 |
243 | jni/build/include/opencv2/imgproc/imgproc.hpp:
244 |
245 | jni/build/include/opencv2/video/tracking.hpp:
246 |
247 | jni/build/include/opencv2/features2d/features2d.hpp:
248 |
249 | jni/build/include/opencv2/flann/miniflann.hpp:
250 |
251 | jni/build/include/opencv2/flann/defines.h:
252 |
253 | jni/build/include/opencv2/flann/config.h:
254 |
255 | jni/build/include/opencv2/flann/flann.hpp:
256 |
257 | jni/build/include/opencv2/flann/flann_base.hpp:
258 |
259 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/cassert:
260 |
261 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/cstdio:
262 |
263 | jni/build/include/opencv2/flann/general.h:
264 |
265 | jni/build/include/opencv2/flann/defines.h:
266 |
267 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/stdexcept:
268 |
269 | jni/build/include/opencv2/flann/matrix.h:
270 |
271 | jni/build/include/opencv2/flann/params.h:
272 |
273 | jni/build/include/opencv2/flann/any.h:
274 |
275 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/typeinfo:
276 |
277 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/iostream:
278 |
279 | jni/build/include/opencv2/flann/saving.h:
280 |
281 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/cstring:
282 |
283 | jni/build/include/opencv2/flann/nn_index.h:
284 |
285 | jni/build/include/opencv2/flann/result_set.h:
286 |
287 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/set:
288 |
289 | jni/build/include/opencv2/flann/all_indices.h:
290 |
291 | jni/build/include/opencv2/flann/kdtree_index.h:
292 |
293 | jni/build/include/opencv2/flann/dynamic_bitset.h:
294 |
295 | jni/build/include/opencv2/flann/dist.h:
296 |
297 | jni/build/include/opencv2/flann/heap.h:
298 |
299 | jni/build/include/opencv2/flann/allocator.h:
300 |
301 | jni/build/include/opencv2/flann/random.h:
302 |
303 | jni/build/include/opencv2/flann/kdtree_single_index.h:
304 |
305 | jni/build/include/opencv2/flann/kmeans_index.h:
306 |
307 | jni/build/include/opencv2/flann/logger.h:
308 |
309 | jni/build/include/opencv2/flann/composite_index.h:
310 |
311 | jni/build/include/opencv2/flann/linear_index.h:
312 |
313 | jni/build/include/opencv2/flann/hierarchical_clustering_index.h:
314 |
315 | jni/build/include/opencv2/flann/lsh_index.h:
316 |
317 | jni/build/include/opencv2/flann/lsh_table.h:
318 |
319 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/iomanip:
320 |
321 | jni/build/include/opencv2/flann/autotuned_index.h:
322 |
323 | jni/build/include/opencv2/flann/ground_truth.h:
324 |
325 | jni/build/include/opencv2/flann/index_testing.h:
326 |
327 | jni/build/include/opencv2/flann/timer.h:
328 |
329 | jni/build/include/opencv2/flann/sampling.h:
330 |
331 | jni/build/include/opencv2/calib3d/calib3d.hpp:
332 |
333 | jni/build/include/opencv2/objdetect/objdetect.hpp:
334 |
335 | /Users/MESAI/Development/Android/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include/deque:
336 |
337 | jni/build/include/opencv2/legacy/compat.hpp:
338 |
339 | jni/build/include/opencv2/core/internal.hpp:
340 |
341 | jni/build/include/opencv2/highgui/highgui.hpp:
342 |
343 | jni/build/include/opencv2/highgui/highgui_c.h:
344 |
--------------------------------------------------------------------------------
/BlogNativeCamera/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/BlogNativeCamera/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-8
15 | android.library.reference.1=../OpenCV Library - 2.4.3
16 |
--------------------------------------------------------------------------------
/BlogNativeCamera/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/BlogNativeCamera/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/BlogNativeCamera/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MESAI/NativeCamera/76eb7c53e490bd66f5fa56f3a59137ef82baa94c/BlogNativeCamera/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/BlogNativeCamera/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | BlogNativeCamera
4 |
5 |
6 |
--------------------------------------------------------------------------------
/BlogNativeCamera/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/BlogNativeCamera/src/com/blogspot/mesai0/CameraPreviewer.java:
--------------------------------------------------------------------------------
1 | package com.blogspot.mesai0;
2 |
3 | import java.util.List;
4 |
5 | import org.opencv.android.CameraBridgeViewBase.ListItemAccessor;
6 | import org.opencv.android.NativeCameraView.OpenCvSizeAccessor;
7 | import org.opencv.core.Size;
8 | import org.opencv.highgui.Highgui;
9 | import org.opencv.highgui.VideoCapture;
10 |
11 | import android.app.Activity;
12 | import android.opengl.GLSurfaceView;
13 | import android.os.Bundle;
14 | import android.view.Display;
15 |
16 | public class CameraPreviewer extends Activity {
17 |
18 | GLSurfaceView mView;
19 |
20 | @Override protected void onCreate(Bundle icicle) {
21 | super.onCreate(icicle);
22 | Native.loadlibs();
23 | VideoCapture mCamera = new VideoCapture(Highgui.CV_CAP_ANDROID);
24 | java.util.List sizes = mCamera.getSupportedPreviewSizes();
25 | mCamera.release();
26 |
27 | mView = new GLSurfaceView(getApplication()){
28 | @Override
29 | public void onPause() {
30 | // TODO Auto-generated method stub
31 | super.onPause();
32 | Native.releaseCamera();
33 | }
34 | };
35 | Size size = calculateCameraFrameSize(sizes,new OpenCvSizeAccessor());
36 | mView.setRenderer(new CameraRenderer(this,size));
37 | setContentView(mView);
38 | }
39 |
40 | protected Size calculateCameraFrameSize(List supportedSizes,
41 | ListItemAccessor accessor) {
42 | int calcWidth = Integer.MAX_VALUE;
43 | int calcHeight = Integer.MAX_VALUE;
44 |
45 | Display display = getWindowManager().getDefaultDisplay();
46 |
47 | int maxAllowedWidth = 1024;
48 | int maxAllowedHeight = 1024;
49 |
50 | for (Object size : supportedSizes) {
51 | int width = accessor.getWidth(size);
52 | int height = accessor.getHeight(size);
53 |
54 | if (width <= maxAllowedWidth && height <= maxAllowedHeight) {
55 | if ( width <= calcWidth
56 | && width>=(maxAllowedWidth/2)
57 | &&(display.getWidth()%width==0||display.getHeight()%height==0)) {
58 | calcWidth = (int) width;
59 | calcHeight = (int) height;
60 | }
61 | }
62 | }
63 |
64 | return new Size(calcWidth, calcHeight);
65 | }
66 | @Override protected void onPause() {
67 | super.onPause();
68 | mView.onPause();
69 |
70 | }
71 |
72 | @Override protected void onResume() {
73 | super.onResume();
74 | mView.onResume();
75 |
76 | }
77 | }
--------------------------------------------------------------------------------
/BlogNativeCamera/src/com/blogspot/mesai0/CameraRenderer.java:
--------------------------------------------------------------------------------
1 | package com.blogspot.mesai0;
2 |
3 |
4 | import javax.microedition.khronos.egl.EGLConfig;
5 | import javax.microedition.khronos.opengles.GL10;
6 |
7 | import org.opencv.core.Size;
8 |
9 | import android.content.Context;
10 | import android.opengl.GLSurfaceView.Renderer;
11 |
12 |
13 | public class CameraRenderer implements Renderer {
14 |
15 | private Size size;
16 | private Context context;
17 | public CameraRenderer(Context c,Size size) {
18 | super();
19 | context = c;
20 | this.size = size;
21 | }
22 |
23 | public void onSurfaceCreated(GL10 gl, EGLConfig config) {
24 | Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
25 | Native.initCamera((int)size.width,(int)size.height);
26 | }
27 |
28 | public void onDrawFrame(GL10 gl) {
29 | // long startTime = System.currentTimeMillis();
30 | Native.renderBackground();
31 | // long endTime = System.currentTimeMillis();
32 | // if(30-(endTime-startTime)>0){
33 | // try {
34 | // Thread.sleep(30-(endTime-startTime));
35 | // } catch (InterruptedException e) {}
36 | // }
37 | // endTime = System.currentTimeMillis();
38 | //System.out.println(endTime-startTime+" ms");
39 | }
40 |
41 | public void onSurfaceChanged(GL10 gl, int width, int height) {
42 | Native.surfaceChanged(width,height,context.getResources().getConfiguration().orientation);
43 | }
44 | }
--------------------------------------------------------------------------------
/BlogNativeCamera/src/com/blogspot/mesai0/Native.java:
--------------------------------------------------------------------------------
1 | package com.blogspot.mesai0;
2 |
3 | public class Native {
4 | public static void loadlibs() {
5 | System.loadLibrary("opencv_java");
6 | System.loadLibrary("NativeCamera");
7 | }
8 |
9 | public static native void initCamera(int width, int height);
10 |
11 | public static native void releaseCamera();
12 |
13 | public static native void renderBackground();
14 |
15 | public static native void surfaceChanged(int width, int height,
16 | int orientation);
17 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | MESAI0
2 | ======
3 | A Sample app to use opencv for getting camera frames natively.
4 |
5 | http://mesai0.blogspot.com/
6 |
7 | Add the shared library of openCV java.
8 |
9 | Add jni/build/
10 |
11 | Add the openCV include folder and libs folder in jni/build/ as described in the blog.
12 |
13 | then ndk-build
14 |
--------------------------------------------------------------------------------