Doxygen tutorials: warnings cleared
This commit is contained in:
@@ -13,7 +13,7 @@ This tutorial assumes you have the following software installed and configured:
|
||||
- Eclipse IDE
|
||||
- ADT and CDT plugins for Eclipse
|
||||
|
||||
If you need help with anything of the above, you may refer to our @ref android_dev_intro guide.
|
||||
If you need help with anything of the above, you may refer to our @ref tutorial_android_dev_intro guide.
|
||||
|
||||
If you encounter any error after thoroughly following these steps, feel free to contact us via
|
||||
[OpenCV4Android](https://groups.google.com/group/android-opencv/) discussion group or OpenCV [Q&A
|
||||
@@ -27,9 +27,9 @@ Pack](http://developer.nvidia.com/tegra-android-development-pack) (**TADP**) rel
|
||||
for Android development environment setup.
|
||||
|
||||
Beside Android development tools the TADP 2.0 includes OpenCV4Android SDK, so it can be already
|
||||
installed in your system and you can skip to @ref Running_OpenCV_Samples section of this tutorial.
|
||||
installed in your system and you can skip to @ref tutorial_O4A_SDK_samples "samples" section of this tutorial.
|
||||
|
||||
More details regarding TADP can be found in the @ref android_dev_intro guide.
|
||||
More details regarding TADP can be found in the @ref tutorial_android_dev_intro guide.
|
||||
|
||||
General info
|
||||
------------
|
||||
@@ -71,20 +71,21 @@ The structure of package contents looks as follows:
|
||||
On production devices that have access to Google Play Market (and Internet) these packages will
|
||||
be installed from Market on the first start of an application using OpenCV Manager API. But
|
||||
devkits without Market or Internet connection require this packages to be installed manually.
|
||||
Install the Manager.apk and optional binary_pack.apk if it needed. See @ref manager_selection
|
||||
Install the Manager.apk and optional binary_pack.apk if it needed. See `Manager Selection`
|
||||
for details.
|
||||
|
||||
@note Installation from Internet is the preferable way since OpenCV team may publish updated
|
||||
versions of this packages on the Market. \* `samples` folder contains sample applications projects
|
||||
and their prebuilt packages (APK). Import them into Eclipse workspace (like described below) and
|
||||
browse the code to learn possible ways of OpenCV use on Android.
|
||||
@note Installation from Internet is the preferable way since OpenCV team may publish updated
|
||||
versions of this packages on the Market.
|
||||
|
||||
- `samples` folder contains sample applications projects
|
||||
and their prebuilt packages (APK). Import them into Eclipse workspace (like described below) and
|
||||
browse the code to learn possible ways of OpenCV use on Android.
|
||||
|
||||
- `doc` folder contains various OpenCV documentation in PDF format. It's also available online at
|
||||
<http://docs.opencv.org>.
|
||||
|
||||
@note The most recent docs (nightly build) are at <http://docs.opencv.org/2.4>. Generally, it's more
|
||||
up-to-date, but can refer to not-yet-released functionality. .. TODO: I'm not sure that this is the
|
||||
best place to talk about OpenCV Manager
|
||||
@note The most recent docs (nightly build) are at <http://docs.opencv.org/2.4>. Generally, it's more
|
||||
up-to-date, but can refer to not-yet-released functionality.
|
||||
@todo I'm not sure that this is the best place to talk about OpenCV Manager
|
||||
|
||||
Starting from version 2.4.3 OpenCV4Android SDK uses OpenCV Manager API for library initialization.
|
||||
OpenCV Manager is an Android service based solution providing the following benefits for OpenCV
|
||||
@@ -98,8 +99,8 @@ applications developers:
|
||||
|
||||
For additional information on OpenCV Manager see the:
|
||||
|
||||
- Slides_
|
||||
- Reference Manual_
|
||||
- [Slides](https://docs.google.com/a/itseez.com/presentation/d/1EO_1kijgBg_BsjNp2ymk-aarg-0K279_1VZRcPplSuk/present#slide=id.p)
|
||||
- [Reference Manual](http://docs.opencv.org/android/refman.html)
|
||||
|
||||
Manual OpenCV4Android SDK setup
|
||||
-------------------------------
|
||||
@@ -108,21 +109,23 @@ Manual OpenCV4Android SDK setup
|
||||
|
||||
1. Go to the [OpenCV download page on
|
||||
SourceForge](http://sourceforge.net/projects/opencvlibrary/files/opencv-android/) and download
|
||||
the latest available version. Currently it's `OpenCV-2.4.9-android-sdk.zip`_.
|
||||
the latest available version. Currently it's [OpenCV-2.4.9-android-sdk.zip](http://sourceforge.net/projects/opencvlibrary/files/opencv-android/2.4.9/OpenCV-2.4.9-android-sdk.zip/download).
|
||||
2. Create a new folder for Android with OpenCV development. For this tutorial we have unpacked
|
||||
OpenCV SDK to the `C:\\Work\\OpenCV4Android\\` directory.
|
||||
OpenCV SDK to the `C:\Work\OpenCV4Android\` directory.
|
||||
|
||||
@note Better to use a path without spaces in it. Otherwise you may have problems with ndk-build. \#.
|
||||
Unpack the SDK archive into the chosen directory.
|
||||
@note Better to use a path without spaces in it. Otherwise you may have problems with ndk-build.
|
||||
|
||||
You can unpack it using any popular archiver (e.g with 7-Zip_):
|
||||
3. Unpack the SDK archive into the chosen directory.
|
||||
|
||||

|
||||
You can unpack it using any popular archiver (e.g with 7-Zip_):
|
||||
|
||||

|
||||
|
||||
On Unix you can use the following command:
|
||||
@code{.bash}
|
||||
unzip ~/Downloads/OpenCV-2.4.9-android-sdk.zip
|
||||
@endcode
|
||||
|
||||
On Unix you can use the following command:
|
||||
@code{.bash}
|
||||
unzip ~/Downloads/OpenCV-2.4.9-android-sdk.zip
|
||||
@endcode
|
||||
### Import OpenCV library and samples to the Eclipse
|
||||
|
||||
1. Start Eclipse and choose your workspace location.
|
||||
@@ -143,23 +146,23 @@ unzip ~/Downloads/OpenCV-2.4.9-android-sdk.zip
|
||||
already references OpenCV library. Follow the steps below to import OpenCV and samples into the
|
||||
workspace:
|
||||
|
||||
@note OpenCV samples are indeed **dependent** on OpenCV library project so don't forget to import it to your workspace as well.
|
||||
- Right click on the Package Explorer window and choose Import... option from the context
|
||||
menu:
|
||||
@note OpenCV samples are indeed **dependent** on OpenCV library project so don't forget to import it to your workspace as well.
|
||||
- Right click on the Package Explorer window and choose Import... option from the context
|
||||
menu:
|
||||
|
||||

|
||||

|
||||
|
||||
- In the main panel select General --\> Existing Projects into Workspace and press Next
|
||||
button:
|
||||
- In the main panel select General --\> Existing Projects into Workspace and press Next
|
||||
button:
|
||||
|
||||

|
||||

|
||||
|
||||
- In the Select root directory field locate your OpenCV package folder. Eclipse should
|
||||
automatically locate OpenCV library and samples:
|
||||
- In the Select root directory field locate your OpenCV package folder. Eclipse should
|
||||
automatically locate OpenCV library and samples:
|
||||
|
||||

|
||||

|
||||
|
||||
- Click Finish button to complete the import operation.
|
||||
- Click Finish button to complete the import operation.
|
||||
|
||||
After clicking Finish button Eclipse will load all selected projects into workspace, and you
|
||||
have to wait some time while it is building OpenCV samples. Just give a minute to Eclipse to
|
||||
@@ -171,12 +174,13 @@ unzip ~/Downloads/OpenCV-2.4.9-android-sdk.zip
|
||||
|
||||

|
||||
|
||||
@anchor tutorial_O4A_SDK_samples
|
||||
### Running OpenCV Samples
|
||||
|
||||
At this point you should be able to build and run the samples. Keep in mind, that face-detection and
|
||||
Tutorial 2 - Mixed Processing include some native code and require Android NDK and NDK/CDT plugin
|
||||
for Eclipse to build working applications. If you haven't installed these tools, see the
|
||||
corresponding section of @ref Android_Dev_Intro.
|
||||
corresponding section of @ref tutorial_android_dev_intro.
|
||||
|
||||
**warning**
|
||||
|
||||
@@ -185,21 +189,23 @@ Please consider that some samples use Android Java Camera API, which is accessib
|
||||
emulator.
|
||||
|
||||
@note Recent *Android SDK tools, revision 19+* can run ARM v7a OS images but they available not for
|
||||
all Android versions. Well, running samples from Eclipse is very simple:
|
||||
all Android versions.
|
||||
|
||||
Well, running samples from Eclipse is very simple:
|
||||
|
||||
- Connect your device with adb tool from Android SDK or create an emulator with camera support.
|
||||
- See [Managing Virtual
|
||||
Devices](http://developer.android.com/guide/developing/devices/index.html) document for help
|
||||
- See [Managing Virtual Devices](http://developer.android.com/guide/developing/devices/index.html) document for help
|
||||
with Android Emulator.
|
||||
- See [Using Hardware Devices](http://developer.android.com/guide/developing/device.html) for
|
||||
help with real devices (not emulators).
|
||||
|
||||
- Select project you want to start in Package Explorer and just press Ctrl + F11 or select option
|
||||
Run --\> Run from the main menu, or click Run button on the toolbar.
|
||||
|
||||
@note Android Emulator can take several minutes to start. So, please, be patient. \* On the first
|
||||
run Eclipse will ask you about the running mode for your application:
|
||||
@note Android Emulator can take several minutes to start. So, please, be patient. \* On the first
|
||||
run Eclipse will ask you about the running mode for your application:
|
||||
|
||||

|
||||

|
||||
|
||||
- Select the Android Application option and click OK button. Eclipse will install and run the
|
||||
sample.
|
||||
@@ -215,18 +221,17 @@ run Eclipse will ask you about the running mode for your application:
|
||||
device/emulator. It will redirect you to the corresponding page on *Google Play Market*.
|
||||
|
||||
If you have no access to the *Market*, which is often the case with emulators - you will need to
|
||||
install the packages from OpenCV4Android SDK folder manually. See @ref manager_selection for
|
||||
install the packages from OpenCV4Android SDK folder manually. See `Manager Selection` for
|
||||
details.
|
||||
@code{.sh}
|
||||
<Android SDK path>/platform-tools/adb install <OpenCV4Android SDK path>/apk/OpenCV_2.4.9_Manager_2.18_armv7a-neon.apk
|
||||
@endcode
|
||||
@note armeabi, armv7a-neon, arm7a-neon-android8, mips and x86 stand for platform targets:
|
||||
- armeabi is for ARM v5 and ARM v6 architectures with Android API 8+,
|
||||
- armv7a-neon is for NEON-optimized ARM v7 with Android API 9+,
|
||||
- arm7a-neon-android8 is for NEON-optimized ARM v7 with Android API 8,
|
||||
- mips is for MIPS architecture with Android API 9+,
|
||||
- x86 is for Intel x86 CPUs with Android API 9+.
|
||||
|
||||
@note armeabi, armv7a-neon, arm7a-neon-android8, mips and x86 stand for platform targets:
|
||||
- armeabi is for ARM v5 and ARM v6 architectures with Android API 8+,
|
||||
- armv7a-neon is for NEON-optimized ARM v7 with Android API 9+,
|
||||
- arm7a-neon-android8 is for NEON-optimized ARM v7 with Android API 8,
|
||||
- mips is for MIPS architecture with Android API 9+,
|
||||
- x86 is for Intel x86 CPUs with Android API 9+.
|
||||
If using hardware device for testing/debugging, run the following command to learn its CPU
|
||||
architecture:
|
||||
@code{.sh}
|
||||
@@ -236,9 +241,9 @@ run Eclipse will ask you about the running mode for your application:
|
||||
Click Edit in the context menu of the selected device. In the window, which then pop-ups, find
|
||||
the CPU field.
|
||||
|
||||
You may also see section @ref manager_selection for details.
|
||||
You may also see section `Manager Selection` for details.
|
||||
|
||||
When done, you will be able to run OpenCV samples on your device/emulator seamlessly.
|
||||
When done, you will be able to run OpenCV samples on your device/emulator seamlessly.
|
||||
|
||||
- Here is Sample - image-manipulations sample, running on top of stock camera-preview of the
|
||||
emulator.
|
||||
@@ -249,6 +254,4 @@ What's next
|
||||
-----------
|
||||
|
||||
Now, when you have your instance of OpenCV4Adroid SDK set up and configured, you may want to proceed
|
||||
to using OpenCV in your own application. You can learn how to do that in a separate @ref
|
||||
dev_with_OCV_on_Android tutorial.
|
||||
|
||||
to using OpenCV in your own application. You can learn how to do that in a separate @ref tutorial_dev_with_OCV_on_Android tutorial.
|
||||
|
@@ -247,6 +247,7 @@ APP_ABI := all
|
||||
@note We recommend setting APP_ABI := all for all targets. If you want to specify the target
|
||||
explicitly, use armeabi for ARMv5/ARMv6, armeabi-v7a for ARMv7, x86 for Intel Atom or mips for MIPS.
|
||||
|
||||
@anchor tutorial_android_dev_intro_ndk
|
||||
Building application native part from command line
|
||||
--------------------------------------------------
|
||||
|
||||
@@ -284,6 +285,8 @@ build tool).
|
||||
@code{.bash}
|
||||
<path_where_NDK_is_placed>/ndk-build -B
|
||||
@endcode
|
||||
|
||||
@anchor tutorial_android_dev_intro_eclipse
|
||||
Building application native part from *Eclipse* (CDT Builder)
|
||||
-------------------------------------------------------------
|
||||
|
||||
@@ -331,9 +334,9 @@ to apply the changes.
|
||||
4. Open Project Properties -\> C/C++ Build, uncheck Use default build command, replace "Build
|
||||
command" text from "make" to
|
||||
|
||||
"\\f${NDKROOT}/ndk-build.cmd" on Windows,
|
||||
"${NDKROOT}/ndk-build.cmd" on Windows,
|
||||
|
||||
"\\f${NDKROOT}/ndk-build" on Linux and MacOS.
|
||||
"${NDKROOT}/ndk-build" on Linux and MacOS.
|
||||
|
||||

|
||||
|
||||
@@ -438,7 +441,7 @@ instructions](http://developer.android.com/tools/device.html) for more informati
|
||||

|
||||
|
||||
\` \`
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
@@ -514,5 +517,4 @@ What's next
|
||||
-----------
|
||||
|
||||
Now, when you have your development environment set up and configured, you may want to proceed to
|
||||
installing OpenCV4Android SDK. You can learn how to do that in a separate @ref O4A_SDK tutorial.
|
||||
|
||||
installing OpenCV4Android SDK. You can learn how to do that in a separate @ref tutorial_O4A_SDK tutorial.
|
||||
|
@@ -13,11 +13,11 @@ This tutorial assumes you have the following installed and configured:
|
||||
- Eclipse IDE
|
||||
- ADT and CDT plugins for Eclipse
|
||||
|
||||
If you need help with anything of the above, you may refer to our @ref android_dev_intro guide.
|
||||
If you need help with anything of the above, you may refer to our @ref tutorial_android_dev_intro guide.
|
||||
|
||||
This tutorial also assumes you have OpenCV4Android SDK already installed on your development machine
|
||||
and OpenCV Manager on your testing device correspondingly. If you need help with any of these, you
|
||||
may consult our @ref O4A_SDK tutorial.
|
||||
may consult our @ref tutorial_O4A_SDK tutorial.
|
||||
|
||||
If you encounter any error after thoroughly following these steps, feel free to contact us via
|
||||
[OpenCV4Android](https://groups.google.com/group/android-opencv/) discussion group or OpenCV [Q&A
|
||||
@@ -28,7 +28,7 @@ Using OpenCV Library Within Your Android Project
|
||||
|
||||
In this section we will explain how to make some existing project to use OpenCV. Starting with 2.4.2
|
||||
release for Android, *OpenCV Manager* is used to provide apps with the best available version of
|
||||
OpenCV. You can get more information here: @ref Android_OpenCV_Manager and in these
|
||||
OpenCV. You can get more information here: `Android OpenCV Manager` and in these
|
||||
[slides](https://docs.google.com/a/itseez.com/presentation/d/1EO_1kijgBg_BsjNp2ymk-aarg-0K279_1VZRcPplSuk/present#slide=id.p).
|
||||
|
||||
### Java
|
||||
@@ -52,7 +52,7 @@ Manager to access OpenCV libraries externally installed in the target system.
|
||||
|
||||
In most cases OpenCV Manager may be installed automatically from Google Play. For the case, when
|
||||
Google Play is not available, i.e. emulator, developer board, etc, you can install it manually using
|
||||
adb tool. See @ref manager_selection for details.
|
||||
adb tool. See `Manager Selection` for details.
|
||||
|
||||
There is a very base code snippet implementing the async initialization. It shows basic principles.
|
||||
See the "15-puzzle" OpenCV sample for details.
|
||||
@@ -118,7 +118,7 @@ described above.
|
||||
|
||||
In case of the application project **with a JNI part**, instead of manual libraries copying you
|
||||
need to modify your Android.mk file: add the following two code lines after the
|
||||
"include \\f$(CLEAR_VARS)" and before
|
||||
"include $(CLEAR_VARS)" and before
|
||||
"include path_to_OpenCV-2.4.9-android-sdk/sdk/native/jni/OpenCV.mk"
|
||||
@code{.make}
|
||||
OPENCV_CAMERA_MODULES:=on
|
||||
@@ -160,6 +160,7 @@ described above.
|
||||
}
|
||||
}
|
||||
@endcode
|
||||
|
||||
### Native/C++
|
||||
|
||||
To build your own Android application, using OpenCV as native part, the following steps should be
|
||||
@@ -184,12 +185,13 @@ taken:
|
||||
4. Several variables can be used to customize OpenCV stuff, but you **don't need** to use them when
|
||||
your application uses the async initialization via the OpenCV Manager API.
|
||||
|
||||
@note These variables should be set **before** the "include .../OpenCV.mk" line:
|
||||
@code{.make}
|
||||
@note These variables should be set **before** the "include .../OpenCV.mk" line:
|
||||
@code{.make}
|
||||
OPENCV_INSTALL_MODULES:=on
|
||||
@endcode
|
||||
Copies necessary OpenCV dynamic libs to the project libs folder in order to include them
|
||||
into the APK.
|
||||
|
||||
Copies necessary OpenCV dynamic libs to the project libs folder in order to include them
|
||||
into the APK.
|
||||
@code{.make}
|
||||
OPENCV_CAMERA_MODULES:=off
|
||||
@endcode
|
||||
@@ -200,7 +202,7 @@ Copies necessary OpenCV dynamic libs to the project libs folder in order to incl
|
||||
Perform static linking with OpenCV. By default dynamic link is used and the project JNI lib
|
||||
depends on libopencv_java.so.
|
||||
|
||||
1. The file `Application.mk` should exist and should contain lines:
|
||||
5. The file `Application.mk` should exist and should contain lines:
|
||||
@code{.make}
|
||||
APP_STL := gnustl_static
|
||||
APP_CPPFLAGS := -frtti -fexceptions
|
||||
@@ -218,8 +220,10 @@ Copies necessary OpenCV dynamic libs to the project libs folder in order to incl
|
||||
@code{.make}
|
||||
APP_PLATFORM := android-9
|
||||
@endcode
|
||||
2. Either use @ref manual \<NDK_build_cli\> ndk-build invocation or @ref setup Eclipse CDT
|
||||
Builder \<CDT_Builder\> to build native JNI lib before (re)building the Java part and creating
|
||||
|
||||
6. Either use @ref tutorial_android_dev_intro_ndk "manual" ndk-build invocation or
|
||||
@ref tutorial_android_dev_intro_eclipse "setup Eclipse CDT Builder" to build native JNI lib
|
||||
before (re)building the Java part and creating
|
||||
an APK.
|
||||
|
||||
Hello OpenCV Sample
|
||||
@@ -246,7 +250,7 @@ application. It will be capable of accessing camera output, processing it and di
|
||||
xmlns:opencv="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" >
|
||||
|
||||
|
||||
<org.opencv.android.JavaCameraView
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
@@ -254,7 +258,7 @@ application. It will be capable of accessing camera output, processing it and di
|
||||
android:id="@+id/HelloOpenCvView"
|
||||
opencv:show_fps="true"
|
||||
opencv:camera_id="any" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
@endcode
|
||||
8. Add the following permissions to the `AndroidManifest.xml` file:
|
||||
@@ -293,7 +297,7 @@ application. It will be capable of accessing camera output, processing it and di
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@Override
|
||||
public void onResume()
|
||||
{
|
||||
@@ -365,7 +369,8 @@ function and it is called on retrieving frame from camera. The callback input is
|
||||
CvCameraViewFrame class that represents frame from camera.
|
||||
|
||||
@note Do not save or use CvCameraViewFrame object out of onCameraFrame callback. This object does
|
||||
not have its own state and its behavior out of callback is unpredictable! It has rgba() and gray()
|
||||
not have its own state and its behavior out of callback is unpredictable!
|
||||
|
||||
It has rgba() and gray()
|
||||
methods that allows to get frame as RGBA and one channel gray scale Mat respectively. It expects
|
||||
that onCameraFrame function returns RGBA frame that will be drawn on the screen.
|
||||
|
||||
|
Reference in New Issue
Block a user