diff --git a/android/android-opencv/AndroidManifest.xml b/android/android-opencv/AndroidManifest.xml
deleted file mode 100644
index 8d3efb0fd7..0000000000
--- a/android/android-opencv/AndroidManifest.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/android/android-opencv/AndroidOpenCVConfig.cmake.in b/android/android-opencv/AndroidOpenCVConfig.cmake.in
deleted file mode 100644
index 53cdfc2cc3..0000000000
--- a/android/android-opencv/AndroidOpenCVConfig.cmake.in
+++ /dev/null
@@ -1,44 +0,0 @@
-# ============================================================================
-# The AndroidOpenCV CMake configuration file
-#
-# ** File generated automatically, do not modify **
-#
-# Usage from an external project:
-# In your CMakeLists.txt, add these lines:
-#
-# FIND_PACKAGE(AndroidOpenCV REQUIRED )
-# TARGET_LINK_LIBRARIES(MY_TARGET_NAME ${AndroidOpenCV_LIBS})
-#
-# This file will define the following variables:
-# - AndroidOpenCV_LIBS : The list of libraries to links against.
-# - AndroidOpenCV_LIB_DIR : The directory where lib files are.
-# Calling LINK_DIRECTORIES with this path
-# is NOT needed.
-# - AndroidOpenCV_INCLUDE_DIRS : The AndroidOpenCV include directories.
-# - AndroidOpenCV_SWIG_DIR : The swig path
-#
-# ===========================================================================
-
-
-# ======================================================
-# Include directories to add to the user project:
-# ======================================================
-
-# Provide the include directories to the caller
-SET(AndroidOpenCV_INCLUDE_DIRS @CMAKE_INCLUDE_DIRS_CONFIGCMAKE@)
-INCLUDE_DIRECTORIES(${AndroidOpenCV_INCLUDE_DIRS})
-
-# ======================================================
-# Link directories to add to the user project:
-# ======================================================
-
-# Provide the libs directory anyway, it may be needed in some cases.
-SET(AndroidOpenCV_LIB_DIR @CMAKE_LIB_DIRS_CONFIGCMAKE@)
-LINK_DIRECTORIES(${AndroidOpenCV_LIB_DIR})
-
-# ======================================================
-# Libraries to add to the user project:
-# ======================================================
-SET(AndroidOpenCV_LIBS @CMAKE_LIBS_CONFIGCMAKE@)
-
-SET(AndroidOpenCV_SWIG_DIR @CMAKE_SWIG_DIR_CONFIGCMAKE@)
diff --git a/android/android-opencv/CMakeLists.txt b/android/android-opencv/CMakeLists.txt
deleted file mode 100644
index 27377666e2..0000000000
--- a/android/android-opencv/CMakeLists.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-
-project(android-jni)
-
-add_subdirectory(jni)
diff --git a/android/android-opencv/README.txt b/android/android-opencv/README.txt
deleted file mode 100644
index 8082add891..0000000000
--- a/android/android-opencv/README.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-=========================================
-CMake Build
-=========================================
-#path to the android build of opencv
-opencv_dir=`pwd`/../build
-mkdir build
-cd build
-cmake -DOpenCV_DIR=$opencv_dir -DCMAKE_TOOLCHAIN_FILE=$ANDTOOLCHAIN ..
-
-=========================================
-Android Build
-=========================================
-sh project_create.sh
-ant compile
-
diff --git a/android/android-opencv/cmake_android.cmd b/android/android-opencv/cmake_android.cmd
deleted file mode 100644
index fdb8e45969..0000000000
--- a/android/android-opencv/cmake_android.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@ECHO OFF
-SETLOCAL
-PUSHD %~dp0
-SET PROJECT_NAME=android-opencv
-CALL ..\scripts\build.cmd %*
-POPD
-ENDLOCAL
\ No newline at end of file
diff --git a/android/android-opencv/cmake_android.sh b/android/android-opencv/cmake_android.sh
deleted file mode 100644
index 3e90e33076..0000000000
--- a/android/android-opencv/cmake_android.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-cd `dirname $0`
-
-opencv_build_dir=`pwd`/../build
-mkdir -p build
-cd build
-
-cmake -DOpenCVDIR=$opencv_build_dir -DCMAKE_TOOLCHAIN_FILE=../../android.toolchain.cmake ..
-
diff --git a/android/android-opencv/cmake_android_neon.sh b/android/android-opencv/cmake_android_neon.sh
deleted file mode 100644
index 56c14923c6..0000000000
--- a/android/android-opencv/cmake_android_neon.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-cd `dirname $0`
-
-opencv_build_dir=`pwd`/../build_neon
-mkdir -p build_neon
-cd build_neon
-
-cmake -DOpenCVDIR=$opencv_build_dir -DARM_TARGET="armeabi-v7a with NEON" -DCMAKE_TOOLCHAIN_FILE=../../android.toolchain.cmake ..
diff --git a/android/android-opencv/default.properties b/android/android-opencv/default.properties
deleted file mode 100644
index 9d135cb85f..0000000000
--- a/android/android-opencv/default.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system use,
-# "build.properties", and override values to adapt the script to your
-# project structure.
-
-# Project target.
-target=android-7
diff --git a/android/android-opencv/jni/CMakeLists.txt b/android/android-opencv/jni/CMakeLists.txt
deleted file mode 100644
index 1f26f0de1a..0000000000
--- a/android/android-opencv/jni/CMakeLists.txt
+++ /dev/null
@@ -1,70 +0,0 @@
-#########################################################
-# Find opencv and android-opencv
-#########################################################
-
-set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/../build
- CACHE PATH "The path where you built opencv for android")
-find_package(OpenCV REQUIRED)
-
-#########################################################
-#c flags, included, and lib dependencies
-#########################################################
-#notice the "recycling" of CMAKE_C_FLAGS
-#this is necessary to pick up android flags
-set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -pedantic -fPIC" )
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-set( LIBRARY_DEPS ${OpenCV_LIBS} )
-if(ANDROID)
- set( LIBRARY_DEPS ${LIBRARY_DEPS} log dl GLESv2)
-endif(ANDROID)
-
-#########################################################
-#SWIG STUFF
-#########################################################
-#the java package to place swig generated java files in
-set(MY_PACKAGE com.opencv.jni)
-
-if(NOT ANDROID)
- #non android swig and jni
- #jni is available by default on android
- find_package(JNI REQUIRED)
- include_directories(${JNI_INCLUDE_DIRS})
- FIND_PACKAGE(SWIG)
-endif()
-
-INCLUDE(${SWIG_USE_FILE}) #on android this is found by the cmake toolchain
-
-if(ANDROID)
- #this will set the output path for the java package
- #and properly create the package declarations in generated java sources
- SET_SWIG_JAVA_PACKAGE( ${MY_PACKAGE} ) #defined in the android toolchain
-endif(ANDROID)
-
-SET_SOURCE_FILES_PROPERTIES(android-cv.i PROPERTIES CPLUSPLUS ON)
-
-SWIG_ADD_MODULE(android-opencv java
- android-cv.i
- Calibration.cpp
- gl_code.cpp
- image_pool.cpp
- yuv420sp2rgb.c
- #yuv420rgb888c.c
- #yuv420rgb888.s
- yuv2rgb16tab.c
- )
-
-target_link_libraries(android-opencv ${LIBRARY_DEPS} )
-
-###################################################################
-# Setup the configure file for other's to link against.
-###################################################################
-set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE ${CMAKE_CURRENT_SOURCE_DIR}/include)
-set(CMAKE_LIB_DIRS_CONFIGCMAKE ${LIBRARY_OUTPUT_PATH})
-set(CMAKE_LIBS_CONFIGCMAKE android-opencv)
-set(CMAKE_SWIG_DIR_CONFIGCMAKE ${CMAKE_CURRENT_SOURCE_DIR})
-configure_file( "${CMAKE_SOURCE_DIR}/AndroidOpenCVConfig.cmake.in"
- "${CMAKE_BINARY_DIR}/AndroidOpenCVConfig.cmake"
- IMMEDIATE @ONLY)
diff --git a/android/android-opencv/jni/Calibration.cpp b/android/android-opencv/jni/Calibration.cpp
deleted file mode 100644
index 9ba8fa8ac0..0000000000
--- a/android/android-opencv/jni/Calibration.cpp
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Processor.cpp
- *
- * Created on: Jun 13, 2010
- * Author: ethan
- */
-
-#include "Calibration.h"
-
-#include
-
-using namespace cv;
-
-Calibration::Calibration() :
- patternsize(6, 8)
-{
-
-}
-
-Calibration::~Calibration()
-{
-
-}
-
-namespace
-{
-double computeReprojectionErrors(const vector >& objectPoints,
- const vector >& imagePoints, const vector& rvecs, const vector<
- Mat>& tvecs, const Mat& cameraMatrix, const Mat& distCoeffs,
- vector& perViewErrors)
-{
- vector imagePoints2;
- int i, totalPoints = 0;
- double totalErr = 0, err;
- perViewErrors.resize(objectPoints.size());
-
- for (i = 0; i < (int)objectPoints.size(); i++)
- {
- projectPoints(Mat(objectPoints[i]), rvecs[i], tvecs[i], cameraMatrix, distCoeffs, imagePoints2);
- err = norm(Mat(imagePoints[i]), Mat(imagePoints2), CV_L1);
- int n = (int)objectPoints[i].size();
- perViewErrors[i] = err / n;
- totalErr += err;
- totalPoints += n;
- }
-
- return totalErr / totalPoints;
-}
-
-void calcChessboardCorners(Size boardSize, float squareSize, vector& corners)
-{
- corners.resize(0);
-
- for (int i = 0; i < boardSize.height; i++)
- for (int j = 0; j < boardSize.width; j++)
- corners.push_back(Point3f(float(j * squareSize), float(i * squareSize), 0));
-}
-
-/**from opencv/samples/cpp/calibration.cpp
- *
- */
-bool runCalibration(vector > imagePoints, Size imageSize, Size boardSize, float squareSize,
- float aspectRatio, int flags, Mat& cameraMatrix, Mat& distCoeffs, vector& rvecs,
- vector& tvecs, vector& reprojErrs, double& totalAvgErr)
-{
- cameraMatrix = Mat::eye(3, 3, CV_64F);
- if (flags & CV_CALIB_FIX_ASPECT_RATIO)
- cameraMatrix.at (0, 0) = aspectRatio;
-
- distCoeffs = Mat::zeros(4, 1, CV_64F);
-
- vector > objectPoints(1);
- calcChessboardCorners(boardSize, squareSize, objectPoints[0]);
- for (size_t i = 1; i < imagePoints.size(); i++)
- objectPoints.push_back(objectPoints[0]);
-
- calibrateCamera(objectPoints, imagePoints, imageSize, cameraMatrix, distCoeffs, rvecs, tvecs, flags);
-
- bool ok = checkRange(cameraMatrix, CV_CHECK_QUIET) && checkRange(distCoeffs, CV_CHECK_QUIET);
-
- totalAvgErr
- = computeReprojectionErrors(objectPoints, imagePoints, rvecs, tvecs, cameraMatrix, distCoeffs, reprojErrs);
-
- return ok;
-}
-void saveCameraParams(const string& filename, Size imageSize, Size boardSize, float squareSize, float aspectRatio,
- int flags, const Mat& cameraMatrix, const Mat& distCoeffs, const vector& rvecs,
- const vector& tvecs, const vector& reprojErrs,
- const vector >& imagePoints, double totalAvgErr)
-{
- FileStorage fs(filename, FileStorage::WRITE);
-
- time_t t;
- time(&t);
- struct tm *t2 = localtime(&t);
- char buf[1024];
- strftime(buf, sizeof(buf) - 1, "%c", t2);
-
- fs << "calibration_time" << buf;
-
- if (!rvecs.empty() || !reprojErrs.empty())
- fs << "nframes" << (int)std::max(rvecs.size(), reprojErrs.size());
- fs << "image_width" << imageSize.width;
- fs << "image_height" << imageSize.height;
- fs << "board_width" << boardSize.width;
- fs << "board_height" << boardSize.height;
- fs << "squareSize" << squareSize;
-
- if (flags & CV_CALIB_FIX_ASPECT_RATIO)
- fs << "aspectRatio" << aspectRatio;
-
- if (flags != 0)
- {
- sprintf(buf, "flags: %s%s%s%s", flags & CV_CALIB_USE_INTRINSIC_GUESS ? "+use_intrinsic_guess" : "", flags
- & CV_CALIB_FIX_ASPECT_RATIO ? "+fix_aspectRatio" : "", flags & CV_CALIB_FIX_PRINCIPAL_POINT
- ? "+fix_principal_point" : "", flags & CV_CALIB_ZERO_TANGENT_DIST ? "+zero_tangent_dist" : "");
- cvWriteComment(*fs, buf, 0);
- }
-
- fs << "flags" << flags;
-
- fs << "camera_matrix" << cameraMatrix;
- fs << "distortion_coefficients" << distCoeffs;
-
- fs << "avg_reprojection_error" << totalAvgErr;
- if (!reprojErrs.empty())
- fs << "per_view_reprojection_errors" << Mat(reprojErrs);
-
- if (!rvecs.empty() && !tvecs.empty())
- {
- Mat bigmat(rvecs.size(), 6, CV_32F);
- for (size_t i = 0; i < rvecs.size(); i++)
- {
- Mat r = bigmat(Range(i, i + 1), Range(0, 3));
- Mat t = bigmat(Range(i, i + 1), Range(3, 6));
- rvecs[i].copyTo(r);
- tvecs[i].copyTo(t);
- }
- cvWriteComment(*fs, "a set of 6-tuples (rotation vector + translation vector) for each view", 0);
- fs << "extrinsic_parameters" << bigmat;
- }
-
- if (!imagePoints.empty())
- {
- Mat imagePtMat(imagePoints.size(), imagePoints[0].size(), CV_32FC2);
- for (size_t i = 0; i < imagePoints.size(); i++)
- {
- Mat r = imagePtMat.row(i).reshape(2, imagePtMat.cols);
- Mat(imagePoints[i]).copyTo(r);
- }
- fs << "image_points" << imagePtMat;
- }
-}
-}//anon namespace
-bool Calibration::detectAndDrawChessboard(int idx, image_pool* pool)
-{
-
- bool patternfound = false;
- Mat grey = pool->getGrey(idx);
- if (grey.empty())
- return false;
- vector corners;
-
- patternfound = findChessboardCorners(grey, patternsize, corners,CALIB_CB_FILTER_QUADS + CALIB_CB_ADAPTIVE_THRESH + CALIB_CB_NORMALIZE_IMAGE
- + CALIB_CB_FAST_CHECK);
- Mat img = pool->getImage(idx);
-
- if (corners.size() < 1)
- return false;
-
- if (patternfound)
- {
- cornerSubPix(grey, corners, Size(11, 11), Size(-1, -1), TermCriteria(CV_TERMCRIT_EPS + CV_TERMCRIT_ITER, 30, 0.1));
- imagepoints.push_back(corners);
- }
-
- drawChessboardCorners(img, patternsize, Mat(corners), patternfound);
-
- imgsize = grey.size();
-
- return patternfound;
-
-}
-
-void Calibration::drawText(int i, image_pool* pool, const char* ctext)
-{
- // Use "y" to show that the baseLine is about
- string text = ctext;
- int fontFace = FONT_HERSHEY_COMPLEX_SMALL;
- double fontScale = .8;
- int thickness = .5;
-
- Mat img = pool->getImage(i);
-
- int baseline = 0;
- Size textSize = getTextSize(text, fontFace, fontScale, thickness, &baseline);
- baseline += thickness;
-
- // center the text
- Point textOrg((img.cols - textSize.width) / 2, (img.rows - textSize.height * 2));
-
- // draw the box
- rectangle(img, textOrg + Point(0, baseline), textOrg + Point(textSize.width, -textSize.height), Scalar(0, 0, 255),
- CV_FILLED);
- // ... and the baseline first
- line(img, textOrg + Point(0, thickness), textOrg + Point(textSize.width, thickness), Scalar(0, 0, 255));
-
- // then put the text itself
- putText(img, text, textOrg, fontFace, fontScale, Scalar::all(255), thickness, 8);
-}
-
-void Calibration::resetChess()
-{
-
- imagepoints.clear();
-}
-
-void Calibration::calibrate(const char* filename)
-{
-
- vector rvecs, tvecs;
- vector reprojErrs;
- double totalAvgErr = 0;
- int flags = 0;
- flags |= CV_CALIB_FIX_PRINCIPAL_POINT | CV_CALIB_FIX_ASPECT_RATIO;
- bool writeExtrinsics = true;
- bool writePoints = true;
-
- bool ok = runCalibration(imagepoints, imgsize, patternsize, 1.f, 1.f, flags, K, distortion, rvecs, tvecs, reprojErrs,
- totalAvgErr);
-
- if (ok)
- {
-
- saveCameraParams(filename, imgsize, patternsize, 1.f, 1.f, flags, K, distortion, writeExtrinsics ? rvecs : vector<
- Mat> (), writeExtrinsics ? tvecs : vector (), writeExtrinsics ? reprojErrs : vector (), writePoints
- ? imagepoints : vector > (), totalAvgErr);
- }
-
-}
-
-int Calibration::getNumberDetectedChessboards()
-{
- return imagepoints.size();
-}
diff --git a/android/android-opencv/jni/Calibration.i b/android/android-opencv/jni/Calibration.i
deleted file mode 100644
index ba6154b3c7..0000000000
--- a/android/android-opencv/jni/Calibration.i
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * include the headers required by the generated cpp code
- */
-%{
-#include "Calibration.h"
-#include "image_pool.h"
-using namespace cv;
-%}
-
-
-class Calibration {
-public:
-
- Size patternsize;
-
- Calibration();
- virtual ~Calibration();
-
- bool detectAndDrawChessboard(int idx, image_pool* pool);
-
- void resetChess();
-
- int getNumberDetectedChessboards();
-
- void calibrate(const char* filename);
-
- void drawText(int idx, image_pool* pool, const char* text);
-};
diff --git a/android/android-opencv/jni/android-cv-typemaps.i b/android/android-opencv/jni/android-cv-typemaps.i
deleted file mode 100644
index cae2d6b63b..0000000000
--- a/android/android-opencv/jni/android-cv-typemaps.i
+++ /dev/null
@@ -1,6 +0,0 @@
-%feature("director") Mat;
-%feature("director") glcamera;
-%feature("director") image_pool;
-%typemap("javapackage") Mat, Mat *, Mat & "com.opencv.jni";
-%typemap("javapackage") glcamera, glcamera *, glcamera & "com.opencv.jni";
-%typemap("javapackage") image_pool, image_pool *, image_pool & "com.opencv.jni";
\ No newline at end of file
diff --git a/android/android-opencv/jni/android-cv.i b/android/android-opencv/jni/android-cv.i
deleted file mode 100644
index f6661aa698..0000000000
--- a/android/android-opencv/jni/android-cv.i
+++ /dev/null
@@ -1,58 +0,0 @@
-/* File : android-cv.i
-
-import this file, and make sure to add the System.loadlibrary("android-opencv")
-before loading any lib that depends on this.
- */
-
-%module opencv
-%{
-#include "image_pool.h"
-#include "glcamera.h"
-using namespace cv;
-%}
-#ifndef SWIGIMPORTED
-%include "various.i"
-%include "typemaps.i"
-%include "arrays_java.i"
-#endif
-
-/**
- * Make all the swig pointers public, so that
- * external libraries can refer to these, otherwise they default to
- * protected...
- */
-%typemap(javabody) SWIGTYPE %{
- private long swigCPtr;
- protected boolean swigCMemOwn;
- public $javaclassname(long cPtr, boolean cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = cPtr;
- }
- public static long getCPtr($javaclassname obj) {
- return (obj == null) ? 0 : obj.swigCPtr;
- }
-%}
-
-
-%pragma(java) jniclasscode=%{
- static {
- try {
- //load the library, make sure that libandroid-opencv.so is in your /libs/armeabi directory
- //so that android sdk automatically installs it along with the app.
- System.loadLibrary("android-opencv");
- } catch (UnsatisfiedLinkError e) {
- //badness
- throw e;
-
- }
- }
-%}
-
-
-%include "cv.i"
-
-%include "glcamera.i"
-
-%include "image_pool.i"
-
-%include "Calibration.i"
diff --git a/android/android-opencv/jni/buffers.i b/android/android-opencv/jni/buffers.i
deleted file mode 100644
index 42cca9cecf..0000000000
--- a/android/android-opencv/jni/buffers.i
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * These typemaps provide support for sharing data between JNI and JVM code
- * using NIO direct buffers. It is the responsibility of the JVM code to
- * allocate a direct buffer of the appropriate size.
- *
- * Example use:
-
- * Wrapping:
- * %include "buffers.i"
- * %apply int* BUFF {int* buffer}
- * int read_foo_int(int* buffer);
- *
- * Java:
- * IntBuffer buffer = IntBuffer.allocateDirect(nInts*4).order(ByteOrder.nativeOrder()).asIntBuffer();
- * Example.read_foo_int(buffer);
- *
-
- * The following typemaps are defined:
- * void* BUFF <--> javax.nio.Buffer
- * char* BUFF <--> javax.nio.ByteBuffer
- * char* CBUFF <--> javax.nio.CharBuffer
- * unsigned char* INBUFF/OUTBUFF <--> javax.nio.ShortBuffer
- * short* BUFF <--> javax.nio.ShortBuffer
- * unsigned short* INBUFF/OUTBUFF <--> javax.nio.IntBuffer
- * int* BUFF <--> javax.nio.IntBuffer
- * unsigned int* INBUFF/OUTBUFF <--> javax.nio.LongBuffer
- * long* BUFF <--> javax.nio.IntBuffer
- * unsigned long* INBUFF/OUTBUF <--> javax.nio.LongBuffer
- * long long* BUFF <--> javax.nio.LongBuffer
- * float* BUFF <--> javax.nio.FloatBuffer
- * double* BUFF <--> javax.nio.DoubleBuffer
- *
- * Note the potential for data loss in the conversion from
- * the C type 'unsigned long' to the signed Java long type.
- * Hopefully, I can implement a workaround with BigNumber in the future.
- *
- * The use of ByteBuffer vs CharBuffer for the char* type should
- * depend on the type of data. In general you'll probably
- * want to use CharBuffer for actual text data.
- */
-/*
- * This macro is used to define the nio buffers for primitive types.
- */
-%define NIO_BUFFER_TYPEMAP(CTYPE, LABEL, BUFFERTYPE)
-%typemap(jni) CTYPE* LABEL "jobject"
-%typemap(jtype) CTYPE* LABEL "BUFFERTYPE"
-%typemap(jstype) CTYPE* LABEL "BUFFERTYPE"
-%typemap(javain,
- pre=" assert $javainput.isDirect() : \"Buffer must be allocated direct.\";") CTYPE* LABEL "$javainput"
-%typemap(javaout) CTYPE* LABEL {
- return $jnicall;
-}
-%typemap(in) CTYPE* LABEL {
- $1 = (CTYPE*)(jenv)->GetDirectBufferAddress( $input);
- if ($1 == NULL) {
- SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
- }
-}
-%typemap(memberin) CTYPE* LABEL {
- if ($input) {
- $1 = $input;
- } else {
- $1 = 0;
- }
-}
-%typemap(freearg) CTYPE* LABEL ""
-%enddef
-
-NIO_BUFFER_TYPEMAP(void, BUFF, java.nio.Buffer);
-NIO_BUFFER_TYPEMAP(char, BUFF, java.nio.ByteBuffer);
-NIO_BUFFER_TYPEMAP(char, CBUFF, java.nio.CharBuffer);
-/*NIO_BUFFER_TYPEMAP(unsigned char, BUFF, java.nio.ShortBuffer);*/
-NIO_BUFFER_TYPEMAP(short, BUFF, java.nio.ShortBuffer);
-NIO_BUFFER_TYPEMAP(unsigned short, BUFF, java.nio.IntBuffer);
-NIO_BUFFER_TYPEMAP(int, BUFF, java.nio.IntBuffer);
-NIO_BUFFER_TYPEMAP(unsigned int, BUFF, java.nio.LongBuffer);
-NIO_BUFFER_TYPEMAP(long, BUFF, java.nio.IntBuffer);
-NIO_BUFFER_TYPEMAP(unsigned long, BUFF, java.nio.LongBuffer);
-NIO_BUFFER_TYPEMAP(long long, BUFF, java.nio.LongBuffer);
-NIO_BUFFER_TYPEMAP(float, BUFF, java.nio.FloatBuffer);
-NIO_BUFFER_TYPEMAP(double, BUFF, java.nio.DoubleBuffer);
-#undef NIO_BUFFER_TYPEMAP
-
-
-%define UNSIGNED_NIO_BUFFER_TYPEMAP(CTYPE, BSIZE, BUFFERTYPE, PACKFCN, UNPACKFCN)
-%typemap(jni) CTYPE* INBUFF "jobject"
-%typemap(jtype) CTYPE* INBUFF "java.nio.ByteBuffer"
-%typemap(jstype) CTYPE* INBUFF "BUFFERTYPE"
-%typemap(javain,
- pre=" java.nio.ByteBuffer tmp$javainput = PACKFCN($javainput, true);") CTYPE* INBUFF "tmp$javainput"
-%typemap(javaout) CTYPE* INBUFF {
- return $jnicall;
-}
-%typemap(in) CTYPE* INBUFF {
- $1 = (jenv)->GetDirectBufferAddress($input);
- if ($1 == NULL) {
- SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
- }
-}
-%typemap(memberin) CTYPE* INBUFF {
- if ($input) {
- $1 = $input;
- } else {
- $1 = 0;
- }
-}
-%typemap(freearg) CTYPE* INBUFF ""
-
-%typemap(jni) CTYPE* OUTBUFF "jobject"
-%typemap(jtype) CTYPE* OUTBUFF "java.nio.ByteBuffer"
-%typemap(jstype) CTYPE* OUTBUFF "BUFFERTYPE"
-%typemap(javain,
- pre=" java.nio.ByteBuffer tmp$javainput = java.nio.ByteBuffer.allocateDirect($javainput.capacity()*BSIZE).order($javainput.order());",
- post=" UNPACKFCN(tmp$javainput, $javainput);") CTYPE* OUTBUFF "tmp$javainput"
-%typemap(javaout) CTYPE* OUTBUFF {
- return $jnicall;
-}
-%typemap(in) CTYPE* OUTBUFF {
- $1 = (jenv)->GetDirectBufferAddress( $input);
- if ($1 == NULL) {
- SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
- }
-}
-%typemap(memberin) CTYPE* OUTBUFF {
- if ($input) {
- $1 = $input;
- } else {
- $1 = 0;
- }
-}
-%typemap(freearg) CTYPE* OUTBUFF ""
-%enddef
-
-UNSIGNED_NIO_BUFFER_TYPEMAP(unsigned char, 1, java.nio.ShortBuffer, permafrost.hdf.libhdf.BufferUtils.packUChar, permafrost.hdf.libhdf.BufferUtils.unpackUChar);
-UNSIGNED_NIO_BUFFER_TYPEMAP(unsigned short, 2, java.nio.IntBuffer, permafrost.hdf.libhdf.BufferUtils.packUShort, permafrost.hdf.libhdf.BufferUtils.unpackUShort);
-UNSIGNED_NIO_BUFFER_TYPEMAP(unsigned int, 4, java.nio.LongBuffer, permafrost.hdf.libhdf.BufferUtils.packUInt, permafrost.hdf.libhdf.BufferUtils.unpackUInt);
-UNSIGNED_NIO_BUFFER_TYPEMAP(unsigned long, 4, java.nio.LongBuffer, permafrost.hdf.libhdf.BufferUtils.packUInt, permafrost.hdf.libhdf.BufferUtils.unpackUInt);
-
-/*
-%typemap(jni) unsigned char* BUFF "jobject"
-%typemap(jtype) unsigned char* BUFF "java.nio.ByteBuffer"
-%typemap(jstype) unsigned char* BUFF "java.nio.ShortBuffer"
-%typemap(javain,
- pre=" java.nio.ByteBuffer tmp$javainput = permafrost.hdf.libhdf.BufferUtils.packUChar($javainput, true);",
- post=" permafrost.hdf.libhdf.BufferUtils.unpackUChar(tmp$javainput, $javainput);") unsigned char* BUFF "tmp$javainput"
-%typemap(javaout) unsigned char* BUFF {
- return $jnicall;
-}
-%typemap(in) unsigned char* BUFF {
- $1 = (const char*)(jenv)->GetDirectBufferAddress( $input);
- if ($1 == NULL) {
- SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
- }
-}
-%typemap(memberin) unsigned char* BUFF {
- if ($input) {
- $1 = $input;
- } else {
- $1 = 0;
- }
-}
-%typemap(freearg) unsigned char* BUFF ""
-*/
-
-#undef UNSIGNED_NIO_BUFFER_TYPEMAP
\ No newline at end of file
diff --git a/android/android-opencv/jni/cv.i b/android/android-opencv/jni/cv.i
deleted file mode 100644
index 167d55d137..0000000000
--- a/android/android-opencv/jni/cv.i
+++ /dev/null
@@ -1,156 +0,0 @@
-%typemap(javaimports) Mat "
-/** Wrapper for the OpenCV Mat object. Good for passing around as a pointer to a Mat.
-*/"
-
-%typemap(javaimports) Size "
-/** Wrapper for the OpenCV Size object. Good for setting dimensions of cv::Mat...
-*/"
-
-
-class Size{
-public:
- Size();
- Size(int width,int height);
- ~Size();
- int width;
- int height;
-};
-
-#define CV_CN_MAX 512
-#define CV_CN_SHIFT 3
-#define CV_DEPTH_MAX (1 << CV_CN_SHIFT)
-
-#define CV_8U 0
-#define CV_8S 1
-#define CV_16U 2
-#define CV_16S 3
-#define CV_32S 4
-#define CV_32F 5
-#define CV_64F 6
-#define CV_USRTYPE1 7
-
-#define CV_MAT_DEPTH_MASK (CV_DEPTH_MAX - 1)
-#define CV_MAT_DEPTH(flags) ((flags) & CV_MAT_DEPTH_MASK)
-
-#define CV_MAKETYPE(depth,cn) (CV_MAT_DEPTH(depth) + (((cn)-1) << CV_CN_SHIFT))
-#define CV_MAKE_TYPE CV_MAKETYPE
-
-#define CV_8UC1 CV_MAKETYPE(CV_8U,1)
-#define CV_8UC2 CV_MAKETYPE(CV_8U,2)
-#define CV_8UC3 CV_MAKETYPE(CV_8U,3)
-#define CV_8UC4 CV_MAKETYPE(CV_8U,4)
-#define CV_8UC(n) CV_MAKETYPE(CV_8U,(n))
-
-#define CV_8SC1 CV_MAKETYPE(CV_8S,1)
-#define CV_8SC2 CV_MAKETYPE(CV_8S,2)
-#define CV_8SC3 CV_MAKETYPE(CV_8S,3)
-#define CV_8SC4 CV_MAKETYPE(CV_8S,4)
-#define CV_8SC(n) CV_MAKETYPE(CV_8S,(n))
-
-#define CV_16UC1 CV_MAKETYPE(CV_16U,1)
-#define CV_16UC2 CV_MAKETYPE(CV_16U,2)
-#define CV_16UC3 CV_MAKETYPE(CV_16U,3)
-#define CV_16UC4 CV_MAKETYPE(CV_16U,4)
-#define CV_16UC(n) CV_MAKETYPE(CV_16U,(n))
-
-#define CV_16SC1 CV_MAKETYPE(CV_16S,1)
-#define CV_16SC2 CV_MAKETYPE(CV_16S,2)
-#define CV_16SC3 CV_MAKETYPE(CV_16S,3)
-#define CV_16SC4 CV_MAKETYPE(CV_16S,4)
-#define CV_16SC(n) CV_MAKETYPE(CV_16S,(n))
-
-#define CV_32SC1 CV_MAKETYPE(CV_32S,1)
-#define CV_32SC2 CV_MAKETYPE(CV_32S,2)
-#define CV_32SC3 CV_MAKETYPE(CV_32S,3)
-#define CV_32SC4 CV_MAKETYPE(CV_32S,4)
-#define CV_32SC(n) CV_MAKETYPE(CV_32S,(n))
-
-#define CV_32FC1 CV_MAKETYPE(CV_32F,1)
-#define CV_32FC2 CV_MAKETYPE(CV_32F,2)
-#define CV_32FC3 CV_MAKETYPE(CV_32F,3)
-#define CV_32FC4 CV_MAKETYPE(CV_32F,4)
-#define CV_32FC(n) CV_MAKETYPE(CV_32F,(n))
-
-#define CV_64FC1 CV_MAKETYPE(CV_64F,1)
-#define CV_64FC2 CV_MAKETYPE(CV_64F,2)
-#define CV_64FC3 CV_MAKETYPE(CV_64F,3)
-#define CV_64FC4 CV_MAKETYPE(CV_64F,4)
-#define CV_64FC(n) CV_MAKETYPE(CV_64F,(n))
-
-#define CV_AUTO_STEP 0x7fffffff
-#define CV_WHOLE_ARR cvSlice( 0, 0x3fffffff )
-
-#define CV_MAT_CN_MASK ((CV_CN_MAX - 1) << CV_CN_SHIFT)
-#define CV_MAT_CN(flags) ((((flags) & CV_MAT_CN_MASK) >> CV_CN_SHIFT) + 1)
-#define CV_MAT_TYPE_MASK (CV_DEPTH_MAX*CV_CN_MAX - 1)
-#define CV_MAT_TYPE(flags) ((flags) & CV_MAT_TYPE_MASK)
-#define CV_MAT_CONT_FLAG_SHIFT 14
-#define CV_MAT_CONT_FLAG (1 << CV_MAT_CONT_FLAG_SHIFT)
-#define CV_IS_MAT_CONT(flags) ((flags) & CV_MAT_CONT_FLAG)
-#define CV_IS_CONT_MAT CV_IS_MAT_CONT
-#define CV_SUBMAT_FLAG_SHIFT 15
-#define CV_SUBMAT_FLAG (1 << CV_SUBMAT_FLAG_SHIFT)
-#define CV_IS_SUBMAT(flags) ((flags) & CV_MAT_SUBMAT_FLAG)
-
-#define CV_MAGIC_MASK 0xFFFF0000
-#define CV_MAT_MAGIC_VAL 0x42420000
-#define CV_TYPE_NAME_MAT "opencv-matrix"
-
-class Mat {
-public:
- Mat();
- ~Mat();
- void create(Size size, int type);
- int channels() const;
- %immutable;
- int rows;
- int cols;
-};
-
-template class Ptr
-{
-public:
- //! empty constructor
- Ptr();
- //! take ownership of the pointer. The associated reference counter is allocated and set to 1
- Ptr(_Tp* _obj);
- //! calls release()
- ~Ptr();
- //! copy constructor. Copies the members and calls addref()
- Ptr(const Ptr& ptr);
- //! copy operator. Calls ptr.addref() and release() before copying the members
- // Ptr& operator = (const Ptr& ptr);
- //! increments the reference counter
- void addref();
- //! decrements the reference counter. If it reaches 0, delete_obj() is called
- void release();
- //! deletes the object. Override if needed
- void delete_obj();
- //! returns true iff obj==NULL
- bool empty() const;
-
-
- //! helper operators making "Ptr ptr" use very similar to "T* ptr".
- _Tp* operator -> ();
- // const _Tp* operator -> () const;
-
- // operator _Tp* ();
- // operator const _Tp*() const;
-
-protected:
- _Tp* obj; //< the object pointer.
- int* refcount; //< the associated reference counter
-};
-
-
-
-%template(PtrMat) Ptr;
-
-void imwrite(const char* image_name, const Mat& image);
-Mat imread(const char* image_name);
-
- %include "buffers.i"
- %apply char* BUFF {const char* buffer}
- %apply char* BUFF {char* buffer}
-void copyMatToBuffer(char* buffer, const Mat& mat);
-void copyBufferToMat(Mat& mat, const char* buffer);
\ No newline at end of file
diff --git a/android/android-opencv/jni/gl_code.cpp b/android/android-opencv/jni/gl_code.cpp
deleted file mode 100644
index 358b4483cb..0000000000
--- a/android/android-opencv/jni/gl_code.cpp
+++ /dev/null
@@ -1,352 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// OpenGL ES 2.0 code
-
-#include
-#if __ANDROID__
-#include
-#include
-#else
-#include
-#endif
-
-#include "android_logger.h"
-
-#include
-#include
-
-#include
-#include
-#include
-#include
-
-#include "glcamera.h"
-#include "image_pool.h"
-using namespace cv;
-
-static void printGLString(const char *name, GLenum s)
-{
- const char *v = (const char *)glGetString(s);
- LOGI("GL %s = %s\n", name, v);
-}
-
-static void checkGlError(const char* op)
-{
- for (GLint error = glGetError(); error; error = glGetError())
- {
- LOGI("after %s() glError (0x%x)\n", op, error);
- }
-}
-
-static const char gVertexShader[] = "attribute vec4 a_position; \n"
- "attribute vec2 a_texCoord; \n"
- "varying vec2 v_texCoord; \n"
- "void main() \n"
- "{ \n"
- " gl_Position = a_position; \n"
- " v_texCoord = a_texCoord; \n"
- "} \n";
-
-static const char gFragmentShader[] = "precision mediump float; \n"
- "varying vec2 v_texCoord; \n"
- "uniform sampler2D s_texture; \n"
- "void main() \n"
- "{ \n"
- " gl_FragColor = texture2D( s_texture, v_texCoord );\n"
- "} \n";
-
-
-GLuint glcamera::createSimpleTexture2D(GLuint _textureid, GLubyte* pixels, int width, int height, int channels)
-{
-
- // Bind the texture
- glActiveTexture(GL_TEXTURE0);
- checkGlError("glActiveTexture");
- // Bind the texture object
- glBindTexture(GL_TEXTURE_2D, _textureid);
- checkGlError("glBindTexture");
-
- GLenum format;
- switch (channels)
- {
- case 3:
-#if ANDROID
- format = GL_RGB;
-#else
- format = GL_BGR;
-#endif
- break;
- case 1:
- format = GL_LUMINANCE;
- break;
- case 4:
- format = GL_RGBA;
- break;
- }
- // Load the texture
- glTexImage2D(GL_TEXTURE_2D, 0, format, width, height, 0, format, GL_UNSIGNED_BYTE, pixels);
-
- checkGlError("glTexImage2D");
-#if ANDROID
- // Set the filtering mode
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-#else
- /* Linear Filtering */
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-#endif
-
- return _textureid;
-
-}
-
-GLuint glcamera::loadShader(GLenum shaderType, const char* pSource)
-{
- GLuint shader = 0;
-#if __ANDROID__
- shader = glCreateShader(shaderType);
- if (shader)
- {
- glShaderSource(shader, 1, &pSource, NULL);
- glCompileShader(shader);
- GLint compiled = 0;
- glGetShaderiv(shader, GL_COMPILE_STATUS, &compiled);
- if (!compiled)
- {
- GLint infoLen = 0;
- glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLen);
- if (infoLen)
- {
- char* buf = (char*)malloc(infoLen);
- if (buf)
- {
- glGetShaderInfoLog(shader, infoLen, NULL, buf);
- LOGE("Could not compile shader %d:\n%s\n",
- shaderType, buf);
- free(buf);
- }
- glDeleteShader(shader);
- shader = 0;
- }
- }
- }
-#endif
- return shader;
-}
-
-GLuint glcamera::createProgram(const char* pVertexSource, const char* pFragmentSource)
-{
-#if __ANDROID__
- GLuint vertexShader = loadShader(GL_VERTEX_SHADER, pVertexSource);
- if (!vertexShader)
- {
- return 0;
- }
-
- GLuint pixelShader = loadShader(GL_FRAGMENT_SHADER, pFragmentSource);
- if (!pixelShader)
- {
- return 0;
- }
-
- GLuint program = glCreateProgram();
- if (program)
- {
- glAttachShader(program, vertexShader);
- checkGlError("glAttachShader");
- glAttachShader(program, pixelShader);
- checkGlError("glAttachShader");
- glLinkProgram(program);
- GLint linkStatus = GL_FALSE;
- glGetProgramiv(program, GL_LINK_STATUS, &linkStatus);
- if (linkStatus != GL_TRUE)
- {
- GLint bufLength = 0;
- glGetProgramiv(program, GL_INFO_LOG_LENGTH, &bufLength);
- if (bufLength)
- {
- char* buf = (char*)malloc(bufLength);
- if (buf)
- {
- glGetProgramInfoLog(program, bufLength, NULL, buf);
- LOGE("Could not link program:\n%s\n", buf);
- free(buf);
- }
- }
- glDeleteProgram(program);
- program = 0;
- }
- }
- return program;
-#else
- return 0;
-#endif
-}
-void glcamera::clear(){
- nimg = Mat();
-}
-//GLuint textureID;
-
-bool glcamera::setupGraphics(int w, int h)
-{
-// printGLString("Version", GL_VERSION);
-// printGLString("Vendor", GL_VENDOR);
-// printGLString("Renderer", GL_RENDERER);
-// printGLString("Extensions", GL_EXTENSIONS);
-
-#if __ANDROID__
- gProgram = createProgram(gVertexShader, gFragmentShader);
- if (!gProgram)
- {
- LOGE("Could not create program.");
- return false;
- }
-
- gvPositionHandle = glGetAttribLocation(gProgram, "a_position");
- gvTexCoordHandle = glGetAttribLocation(gProgram, "a_texCoord");
- gvSamplerHandle = glGetAttribLocation(gProgram, "s_texture");
-
- // Use tightly packed data
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
-
- // Generate a texture object
- glGenTextures(1, &textureID);
-
- glViewport(0, 0, w, h);
-#endif
- return true;
-}
-
-void glcamera::renderFrame()
-{
-
-#if __ANDROID__
- GLfloat vVertices[] = {-1.0f, 1.0f, 0.0f, // Position 0
- 0.0f, 0.0f, // TexCoord 0
- -1.0f, -1.0f, 0.0f, // Position 1
- 0.0f, img_h, // TexCoord 1
- 1.0f, -1.0f, 0.0f, // Position 2
- img_w, img_h, // TexCoord 2
- 1.0f, 1.0f, 0.0f, // Position 3
- img_w, 0.0f // TexCoord 3
- };
- GLushort indices[] = {0, 1, 2, 0, 2, 3};
- GLsizei stride = 5 * sizeof(GLfloat); // 3 for position, 2 for texture
-
- glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
- checkGlError("glClearColor");
-
- glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
- checkGlError("glClear");
-
- if(nimg.empty())return;
-
- glUseProgram(gProgram);
- checkGlError("glUseProgram");
-
- // Load the vertex position
- glVertexAttribPointer(gvPositionHandle, 3, GL_FLOAT, GL_FALSE, stride, vVertices);
- // Load the texture coordinate
- glVertexAttribPointer(gvTexCoordHandle, 2, GL_FLOAT, GL_FALSE, stride, &vVertices[3]);
-
- glEnableVertexAttribArray(gvPositionHandle);
- glEnableVertexAttribArray(gvTexCoordHandle);
-
- // Bind the texture
- glActiveTexture(GL_TEXTURE0);
- glBindTexture(GL_TEXTURE_2D, textureID);
-
- // Set the sampler texture unit to 0
- glUniform1i(gvSamplerHandle, 0);
-
- glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices);
-#endif
- //checkGlError("glVertexAttribPointer");
- //glEnableVertexAttribArray(gvPositionHandle);
- //checkGlError("glEnableVertexAttribArray");
- //glDrawArrays(GL_TRIANGLES, 0, 3);
- //checkGlError("glDrawArrays");
-}
-
-void glcamera::init(int width, int height)
-{
- newimage = false;
- nimg = Mat();
- setupGraphics(width, height);
-
-}
-
-void glcamera::step()
-{
- if (newimage && !nimg.empty())
- {
-
- textureID = createSimpleTexture2D(textureID, nimg.ptr (0), nimg.cols, nimg.rows, nimg.channels());
- newimage = false;
- }
- renderFrame();
-
-}
-#define NEAREST_POW2(x)( std::ceil(std::log(x)/0.69315) )
-void glcamera::setTextureImage(const Mat& img)
-{
- int p = NEAREST_POW2(img.cols/2); //subsample by 2
- //int sz = std::pow(2, p);
-
- // Size size(sz, sz);
- Size size(256, 256);
- img_w = 1;
- img_h = 1;
- if (nimg.cols != size.width)
- LOGI_STREAM( "using texture of size: (" << size.width << " , " << size.height << ") image size is: (" << img.cols << " , " << img.rows << ")");
- nimg.create(size, img.type());
-#if SUBREGION_NPO2
- cv::Rect roi(0, 0, img.cols/2, img.rows/2);
- cv::Mat nimg_sub = nimg(roi);
- //img.copyTo(nimg_sub);
- img_w = (img.cols/2)/float(sz);
- img_h = (img.rows/2)/float(sz);
- cv::resize(img,nimg_sub,nimg_sub.size(),0,0,CV_INTER_NN);
-#else
- cv::resize(img, nimg, nimg.size(), 0, 0, CV_INTER_NN);
-#endif
- newimage = true;
-}
-
-void glcamera::drawMatToGL(int idx, image_pool* pool)
-{
-
- Mat img = pool->getImage(idx);
-
- if (img.empty())
- return; //no image at input_idx!
-
- setTextureImage(img);
-
-}
-
-glcamera::glcamera() :
- newimage(false)
-{
- LOGI("glcamera constructor");
-}
-glcamera::~glcamera()
-{
- LOGI("glcamera destructor");
-}
-
diff --git a/android/android-opencv/jni/glcamera.i b/android/android-opencv/jni/glcamera.i
deleted file mode 100644
index 2fd2a53ff6..0000000000
--- a/android/android-opencv/jni/glcamera.i
+++ /dev/null
@@ -1,44 +0,0 @@
-
-%typemap(javaimports) glcamera "
-/** a class for doing the native rendering of images
-this class renders using GL2 es, the native ndk version
-This class is used by the GL2CameraViewer to do the rendering,
-and is inspired by the gl2 example in the ndk samples
-*/"
-
-
-
-%javamethodmodifiers glcamera::init"
- /** should be called onSurfaceChanged by the GLSurfaceView that is using this
- * as the drawing engine
- * @param width the width of the surface view that this will be drawing to
- * @param width the height of the surface view that this will be drawing to
- *
- */
- public";
-
-%javamethodmodifiers glcamera::step"
- /** should be called by GLSurfaceView.Renderer in the onDrawFrame method, as it
- handles the rendering of the opengl scene, and requires that the opengl context be
- valid.
-
- *
- */
- public";
-%javamethodmodifiers glcamera::drawMatToGL"
- /** copies an image from a pool and queues it for drawing in opengl.
- * this does transformation into power of two texture sizes
- * @param idx the image index to copy
- * @param pool the image_pool to look up the image from
- *
- */
- public";
-
-class glcamera {
-public:
- void init(int width, int height);
- void step();
- void drawMatToGL(int idx, image_pool* pool);
- void clear();
-};
-
diff --git a/android/android-opencv/jni/image_pool.cpp b/android/android-opencv/jni/image_pool.cpp
deleted file mode 100644
index c7a6720905..0000000000
--- a/android/android-opencv/jni/image_pool.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-#include "image_pool.h"
-
-#include "yuv420sp2rgb.h"
-
-#include "android_logger.h"
-
-#include
-
-#include
-#include
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved);
-//
-//JNIEXPORT jobject JNICALL Java_com_opencv_jni_opencvJNI_getBitmapBuffer(
-// JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_);
-
-
-JNIEXPORT void JNICALL Java_com_opencv_jni_opencvJNI_addYUVtoPool(JNIEnv *, jclass, jlong, jobject, jbyteArray, jint,
- jint, jint, jboolean);
-
-#ifdef __cplusplus
-}
-#endif
-
-using namespace cv;
-
-JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved)
-{
- JNIEnv *env;
- LOGI("JNI_OnLoad called for opencv");
- return JNI_VERSION_1_4;
-}
-
-JNIEXPORT void JNICALL Java_com_opencv_jni_opencvJNI_addYUVtoPool(JNIEnv * env, jclass thiz, jlong ppool,
- jobject _jpool, jbyteArray jbuffer, jint jidx,
- jint jwidth, jint jheight, jboolean jgrey)
-{
- int buff_height = jheight + (jheight / 2);
- Size buff_size(jwidth, buff_height);
- image_pool *pool = (image_pool *)ppool;
-
- Mat mat = pool->getYUV(jidx);
- //create is smart and only copies if the buffer size is different
- mat.create(buff_size, CV_8UC1);
- {
- uchar* buff = mat.ptr (0);
- jsize sz = env->GetArrayLength(jbuffer);
- //http://elliotth.blogspot.com/2007/03/optimizing-jni-array-access.html
- env->GetByteArrayRegion(jbuffer, 0, sz, (jbyte*)buff);
- }
- pool->addYUVMat(jidx, mat);
-
- Mat color;
- if (jgrey)
- {
- Mat grey = pool->getGrey(jidx);
- color = grey;
- }
- else
- {
- color = pool->getImage(jidx);
- pool->convertYUVtoColor(jidx, color);
- }
- pool->addImage(jidx, color);
-}
-
-image_pool::image_pool()
-{
-
-}
-
-image_pool::~image_pool()
-{
-
-}
-
-Mat image_pool::getImage(int i)
-{
- return imagesmap[i];
-}
-Mat image_pool::getGrey(int i)
-{
- Mat tm = yuvImagesMap[i];
- if (tm.empty())
- return tm;
- return tm(Range(0, tm.rows * (2.0f / 3)), Range::all());
-}
-Mat image_pool::getYUV(int i)
-{
- return yuvImagesMap[i];
-}
-void image_pool::addYUVMat(int i, Mat mat)
-{
- yuvImagesMap[i] = mat;
-}
-void image_pool::addImage(int i, Mat mat)
-{
- imagesmap[i] = mat;
-}
-
-void image_pool::convertYUVtoColor(int i, cv::Mat& out)
-{
- Mat yuv = getYUV(i);
- if (yuv.empty())
- return;
- int width = yuv.cols;
- int height = yuv.rows * (2.0f / 3);
- out.create(height, width, CV_8UC3);
- const unsigned char* buff = yuv.ptr (0);
- unsigned char* out_buff = out.ptr (0);
- color_convert_common(buff, buff + width * height, width, height, out_buff, false);
-}
-
-void copyMatToBuffer(char* buffer, const cv::Mat& mat)
-{
- memcpy(buffer, mat.data, mat.rows * mat.cols * mat.step1());
-}
-void copyBufferToMat(cv::Mat& mat, const char* buffer)
-{
- memcpy(mat.data, buffer, mat.rows * mat.cols * mat.step1());
-}
-
-void RGB2BGR(const Mat& in, Mat& out)
-{
- cvtColor(in, out, CV_RGB2BGR);
-}
diff --git a/android/android-opencv/jni/image_pool.i b/android/android-opencv/jni/image_pool.i
deleted file mode 100644
index b81e64a958..0000000000
--- a/android/android-opencv/jni/image_pool.i
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-%typemap(javaimports) image_pool "
-/** image_pool is used for keeping track of a pool of native images. It stores images as cv::Mat's and
-references them by an index. It allows one to get a pointer to an underlying mat, and handles memory deletion.*/"
-
-
-%javamethodmodifiers image_pool::getImage"
- /** gets a pointer to a stored image, by an index. If the index is new, returns a null pointer
- * @param idx the index in the pool that is associated with a cv::Mat
- * @return the pointer to a cv::Mat, null pointer if the given idx is novel
- */
- public";
-
-
-%javamethodmodifiers image_pool::deleteImage"
- /** deletes the image from the pool
- * @param idx the index in the pool that is associated with a cv::Mat
- */
- public";
-
-
-
-%javamethodmodifiers addYUVtoPool"
- /** adds a yuv
- * @param idx the index in the pool that is associated with a cv::Mat
- */
- public";
-
-%include "various.i"
-
-
-%apply (char* BYTE) { (char *data)}; //byte[] to char*
-
-
-%native (addYUVtoPool) void addYUVtoPool(image_pool* pool, char* data,int idx, int width, int height, bool grey);
-
-
-
-
-%feature("director") image_pool;
-class image_pool {
-public:
- Mat getGrey(int i);
- Mat getImage(int i);
- void addImage(int i, Mat mat);
- void convertYUVtoColor(int i, Mat& out);
-};
-
-void RGB2BGR(const Mat& in, Mat& out);
-
diff --git a/android/android-opencv/jni/include/Calibration.h b/android/android-opencv/jni/include/Calibration.h
deleted file mode 100644
index 6e0eef3bc4..0000000000
--- a/android/android-opencv/jni/include/Calibration.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Processor.h
- *
- * Created on: Jun 13, 2010
- * Author: ethan
- */
-
-#ifndef PROCESSOR_H_
-#define PROCESSOR_H_
-
-#include
-#include
-#include
-#include
-#include
-
-#include
-
-#include "image_pool.h"
-
-#define DETECT_FAST 0
-#define DETECT_STAR 1
-#define DETECT_SURF 2
-
-class Calibration
-{
-public:
-
- Calibration();
- virtual ~Calibration();
-
- bool detectAndDrawChessboard(int idx, image_pool* pool);
-
- void resetChess();
-
- int getNumberDetectedChessboards();
-
- void calibrate(const char* filename);
-
- void drawText(int idx, image_pool* pool, const char* text);
-
- cv::Size patternsize;
-private:
- std::vector keypoints;
-
- std::vector > imagepoints;
-
- cv::Mat K;
- cv::Mat distortion;
- cv::Size imgsize;
-
-};
-
-#endif /* PROCESSOR_H_ */
diff --git a/android/android-opencv/jni/include/android_logger.h b/android/android-opencv/jni/include/android_logger.h
deleted file mode 100644
index 09f8dc3512..0000000000
--- a/android/android-opencv/jni/include/android_logger.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#pragma once
-#include
-#include
-
-#define LOG_TAG "libopencv"
-#if ANDROID
-#include
-#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
-#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)
-#else
-#include
-#define LOGI(...) printf("info:");printf("%s:",LOG_TAG); fprintf(stdout,__VA_ARGS__);printf("\n");
-#define LOGE(...) printf("error:");printf("%s:",LOG_TAG); fprintf(stderr,__VA_ARGS__);printf("\n");
-#endif
-
-#ifndef LOGI_STREAM
-#define LOGI_STREAM(x) {std::stringstream ss; ss << x; LOGI("%s",ss.str().c_str());}
-#endif
-#define LOGE_STREAM(x) {std::stringstream ss; ss << x; LOGE("%s",ss.str().c_str());}
diff --git a/android/android-opencv/jni/include/glcamera.h b/android/android-opencv/jni/include/glcamera.h
deleted file mode 100644
index e7c021a429..0000000000
--- a/android/android-opencv/jni/include/glcamera.h
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef GLCAMERA_H_
-#define GLCAMERA_H_
-#include
-
-#ifdef __ANDROID__
-#include
-#include
-#else
-#include
-#include
-#endif
-
-#include "image_pool.h"
-
-class glcamera
-{
-public:
-
- glcamera();
- ~glcamera();
- void init(int width, int height);
- void step();
-
- void drawMatToGL(int idx, image_pool* pool);
- void drawMatToGL(const cv::Mat& img);
- void setTextureImage(const cv::Mat& img);
-
- void clear();
-
-private:
- GLuint createSimpleTexture2D(GLuint _textureid, GLubyte* pixels, int width, int height, int channels);
- GLuint loadShader(GLenum shaderType, const char* pSource);
- GLuint
- createProgram(const char* pVertexSource, const char* pFragmentSource);
- bool setupGraphics(int w, int h);
- void renderFrame();
- cv::Mat nimg;
- bool newimage;
- GLuint textureID;
-
- GLuint gProgram;
- GLuint gvPositionHandle;
-
- GLuint gvTexCoordHandle;
- GLuint gvSamplerHandle;
- float img_w, img_h;
-};
-#endif
diff --git a/android/android-opencv/jni/include/image_pool.h b/android/android-opencv/jni/include/image_pool.h
deleted file mode 100644
index d32eb479c9..0000000000
--- a/android/android-opencv/jni/include/image_pool.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef IMAGE_POOL_H_ANDROID_KDJFKJ
-#define IMAGE_POOL_H_ANDROID_KDJFKJ
-#include
-#include