Commit dfdb15be authored by Andrey Kamaev's avatar Andrey Kamaev

Added Java packages support to cmake

parent 070579d9
...@@ -16,6 +16,18 @@ SET(RST_PARSER "${CMAKE_CURRENT_SOURCE_DIR}/rst_parser.py") ...@@ -16,6 +16,18 @@ SET(RST_PARSER "${CMAKE_CURRENT_SOURCE_DIR}/rst_parser.py")
SET(additional_clean_files "") SET(additional_clean_files "")
macro(capitalize name outputvar)
string(SUBSTRING "${name}" 0 1 first_letter)
string(SUBSTRING "${name}" 1 -1 tail_letters)
string(TOUPPER "${first_letter}" first_letter)
SET(${outputvar} "${first_letter}${tail_letters}")
endmacro()
#cleanup
execute_process(COMMAND ${CMAKE_COMMAND} -E remove *.java *.cpp *.h *.txt
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
OUTPUT_QUIET ERROR_QUIET)
foreach(module ${OPENCV_JAVA_MODULES}) foreach(module ${OPENCV_JAVA_MODULES})
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/config/${module}.filelist") IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/config/${module}.filelist")
FILE(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/config/${module}.filelist" headers_to_parse) FILE(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/config/${module}.filelist" headers_to_parse)
...@@ -31,8 +43,16 @@ foreach(module ${OPENCV_JAVA_MODULES}) ...@@ -31,8 +43,16 @@ foreach(module ${OPENCV_JAVA_MODULES})
list(SORT module_cppheaders) list(SORT module_cppheaders)
ENDIF() ENDIF()
# first run =(
execute_process(COMMAND ${PYTHON_EXECUTABLE} "${GEN_JAVA}" "${HDR_PARSER}" ${module} ${module_cheaders} ${module_cppheaders}
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
OUTPUT_QUIET ERROR_QUIET)
FILE(GLOB ${module}_generated_java_sources "${CMAKE_CURRENT_BINARY_DIR}/${module}+*.java")
# second run =(
add_custom_command( add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${module}.java" OUTPUT ${${module}_generated_java_sources}
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${module}.cpp" OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${module}.cpp"
COMMAND ${PYTHON_EXECUTABLE} "${GEN_JAVA}" "${HDR_PARSER}" ${module} ${module_cheaders} ${module_cppheaders} COMMAND ${PYTHON_EXECUTABLE} "${GEN_JAVA}" "${HDR_PARSER}" ${module} ${module_cheaders} ${module_cppheaders}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
...@@ -52,7 +72,7 @@ SET (dependent_extra_libs "") ...@@ -52,7 +72,7 @@ SET (dependent_extra_libs "")
foreach(module ${OPENCV_JAVA_MODULES}) foreach(module ${OPENCV_JAVA_MODULES})
LIST(APPEND generated_cpp_sources "${CMAKE_CURRENT_BINARY_DIR}/${module}.cpp") LIST(APPEND generated_cpp_sources "${CMAKE_CURRENT_BINARY_DIR}/${module}.cpp")
LIST(APPEND generated_java_sources "${CMAKE_CURRENT_BINARY_DIR}/${module}.java") LIST(APPEND generated_java_sources ${${module}_generated_java_sources})
LIST(APPEND dependent_libs opencv_${module}) LIST(APPEND dependent_libs opencv_${module})
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../${module}/include") include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../${module}/include")
endforeach() endforeach()
...@@ -136,7 +156,9 @@ FILE(GLOB java_project_files "${CMAKE_CURRENT_SOURCE_DIR}/src/java/*.java") ...@@ -136,7 +156,9 @@ FILE(GLOB java_project_files "${CMAKE_CURRENT_SOURCE_DIR}/src/java/*.java")
SET(documented_java_files) SET(documented_java_files)
foreach(java_file ${java_project_files} ${generated_java_sources}) foreach(java_file ${java_project_files} ${generated_java_sources})
get_filename_component(java_file_name "${java_file}" NAME_WE) get_filename_component(java_file_name "${java_file}" NAME_WE)
list(APPEND documented_java_files "${CMAKE_CURRENT_BINARY_DIR}/${java_file_name}-jdoc.java") if (NOT java_file_name MATCHES ".*-jdoc$")
list(APPEND documented_java_files "${CMAKE_CURRENT_BINARY_DIR}/${java_file_name}-jdoc.java")
endif()
endforeach() endforeach()
add_custom_command( add_custom_command(
...@@ -157,6 +179,8 @@ SET(JAVA_OUTPUT_DIR "${CMAKE_BINARY_DIR}/src/org/opencv") ...@@ -157,6 +179,8 @@ SET(JAVA_OUTPUT_DIR "${CMAKE_BINARY_DIR}/src/org/opencv")
foreach(java_file ${documented_java_files}) foreach(java_file ${documented_java_files})
get_filename_component(java_file_name "${java_file}" NAME) get_filename_component(java_file_name "${java_file}" NAME)
string(REPLACE "-jdoc.java" ".java" java_file_name "${java_file_name}") string(REPLACE "-jdoc.java" ".java" java_file_name "${java_file_name}")
string(REPLACE "+" "/" java_file_name "${java_file_name}")
add_custom_command( add_custom_command(
TARGET ${api_target} TARGET ${api_target}
COMMAND ${CMAKE_COMMAND} -E copy "${java_file}" "${JAVA_OUTPUT_DIR}/${java_file_name}" COMMAND ${CMAKE_COMMAND} -E copy "${java_file}" "${JAVA_OUTPUT_DIR}/${java_file_name}"
......
...@@ -309,6 +309,7 @@ class JavaWrapperGenerator(object): ...@@ -309,6 +309,7 @@ class JavaWrapperGenerator(object):
// //
package org.opencv.%s; package org.opencv.%s;
%s %s
import org.opencv.utils;
%s %s
public class %s { public class %s {
......
This diff is collapsed.
...@@ -22,7 +22,7 @@ extern "C" { ...@@ -22,7 +22,7 @@ extern "C" {
// //
JNIEXPORT jlong JNICALL Java_org_opencv_VideoCapture_n_1VideoCapture__ JNIEXPORT jlong JNICALL Java_org_opencv_highgui_VideoCapture_n_1VideoCapture__
(JNIEnv* env, jclass cls) (JNIEnv* env, jclass cls)
{ {
try { try {
...@@ -37,7 +37,7 @@ JNIEXPORT jlong JNICALL Java_org_opencv_VideoCapture_n_1VideoCapture__ ...@@ -37,7 +37,7 @@ JNIEXPORT jlong JNICALL Java_org_opencv_VideoCapture_n_1VideoCapture__
#ifdef DEBUG #ifdef DEBUG
LOGD("highgui::VideoCapture_n_1VideoCapture__() catched cv::Exception: %s", e.what()); LOGD("highgui::VideoCapture_n_1VideoCapture__() catched cv::Exception: %s", e.what());
#endif // DEBUG #endif // DEBUG
jclass je = env->FindClass("org/opencv/CvException"); jclass je = env->FindClass("org/opencv/core/CvException");
if(!je) je = env->FindClass("java/lang/Exception"); if(!je) je = env->FindClass("java/lang/Exception");
env->ThrowNew(je, e.what()); env->ThrowNew(je, e.what());
return 0; return 0;
...@@ -57,7 +57,7 @@ JNIEXPORT jlong JNICALL Java_org_opencv_VideoCapture_n_1VideoCapture__ ...@@ -57,7 +57,7 @@ JNIEXPORT jlong JNICALL Java_org_opencv_VideoCapture_n_1VideoCapture__
// //
JNIEXPORT jlong JNICALL Java_org_opencv_VideoCapture_n_1VideoCapture__I JNIEXPORT jlong JNICALL Java_org_opencv_highgui_VideoCapture_n_1VideoCapture__I
(JNIEnv* env, jclass cls, jint device) (JNIEnv* env, jclass cls, jint device)
{ {
try { try {
...@@ -72,7 +72,7 @@ JNIEXPORT jlong JNICALL Java_org_opencv_VideoCapture_n_1VideoCapture__I ...@@ -72,7 +72,7 @@ JNIEXPORT jlong JNICALL Java_org_opencv_VideoCapture_n_1VideoCapture__I
#ifdef DEBUG #ifdef DEBUG
LOGD("highgui::VideoCapture_n_1VideoCapture__I() catched cv::Exception: %s", e.what()); LOGD("highgui::VideoCapture_n_1VideoCapture__I() catched cv::Exception: %s", e.what());
#endif // DEBUG #endif // DEBUG
jclass je = env->FindClass("org/opencv/CvException"); jclass je = env->FindClass("org/opencv/core/CvException");
if(!je) je = env->FindClass("java/lang/Exception"); if(!je) je = env->FindClass("java/lang/Exception");
env->ThrowNew(je, e.what()); env->ThrowNew(je, e.what());
return 0; return 0;
...@@ -93,7 +93,7 @@ JNIEXPORT jlong JNICALL Java_org_opencv_VideoCapture_n_1VideoCapture__I ...@@ -93,7 +93,7 @@ JNIEXPORT jlong JNICALL Java_org_opencv_VideoCapture_n_1VideoCapture__I
// //
JNIEXPORT jdouble JNICALL Java_org_opencv_VideoCapture_n_1get JNIEXPORT jdouble JNICALL Java_org_opencv_highgui_VideoCapture_n_1get
(JNIEnv* env, jclass cls, jlong self, jint propId) (JNIEnv* env, jclass cls, jlong self, jint propId)
{ {
try { try {
...@@ -108,7 +108,7 @@ JNIEXPORT jdouble JNICALL Java_org_opencv_VideoCapture_n_1get ...@@ -108,7 +108,7 @@ JNIEXPORT jdouble JNICALL Java_org_opencv_VideoCapture_n_1get
#ifdef DEBUG #ifdef DEBUG
LOGD("highgui::VideoCapture_n_1get() catched cv::Exception: %s", e.what()); LOGD("highgui::VideoCapture_n_1get() catched cv::Exception: %s", e.what());
#endif // DEBUG #endif // DEBUG
jclass je = env->FindClass("org/opencv/CvException"); jclass je = env->FindClass("org/opencv/core/CvException");
if(!je) je = env->FindClass("java/lang/Exception"); if(!je) je = env->FindClass("java/lang/Exception");
env->ThrowNew(je, e.what()); env->ThrowNew(je, e.what());
return 0; return 0;
...@@ -129,7 +129,7 @@ JNIEXPORT jdouble JNICALL Java_org_opencv_VideoCapture_n_1get ...@@ -129,7 +129,7 @@ JNIEXPORT jdouble JNICALL Java_org_opencv_VideoCapture_n_1get
// //
JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1grab JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1grab
(JNIEnv* env, jclass cls, jlong self) (JNIEnv* env, jclass cls, jlong self)
{ {
try { try {
...@@ -144,7 +144,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1grab ...@@ -144,7 +144,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1grab
#ifdef DEBUG #ifdef DEBUG
LOGD("highgui::VideoCapture_n_1grab() catched cv::Exception: %s", e.what()); LOGD("highgui::VideoCapture_n_1grab() catched cv::Exception: %s", e.what());
#endif // DEBUG #endif // DEBUG
jclass je = env->FindClass("org/opencv/CvException"); jclass je = env->FindClass("org/opencv/core/CvException");
if(!je) je = env->FindClass("java/lang/Exception"); if(!je) je = env->FindClass("java/lang/Exception");
env->ThrowNew(je, e.what()); env->ThrowNew(je, e.what());
return 0; return 0;
...@@ -165,7 +165,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1grab ...@@ -165,7 +165,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1grab
// //
JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1isOpened JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1isOpened
(JNIEnv* env, jclass cls, jlong self) (JNIEnv* env, jclass cls, jlong self)
{ {
try { try {
...@@ -180,7 +180,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1isOpened ...@@ -180,7 +180,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1isOpened
#ifdef DEBUG #ifdef DEBUG
LOGD("highgui::VideoCapture_n_1isOpened() catched cv::Exception: %s", e.what()); LOGD("highgui::VideoCapture_n_1isOpened() catched cv::Exception: %s", e.what());
#endif // DEBUG #endif // DEBUG
jclass je = env->FindClass("org/opencv/CvException"); jclass je = env->FindClass("org/opencv/core/CvException");
if(!je) je = env->FindClass("java/lang/Exception"); if(!je) je = env->FindClass("java/lang/Exception");
env->ThrowNew(je, e.what()); env->ThrowNew(je, e.what());
return 0; return 0;
...@@ -200,7 +200,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1isOpened ...@@ -200,7 +200,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1isOpened
// //
JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1open__JI JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1open__JI
(JNIEnv* env, jclass cls, jlong self, jint device) (JNIEnv* env, jclass cls, jlong self, jint device)
{ {
try { try {
...@@ -215,7 +215,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1open__JI ...@@ -215,7 +215,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1open__JI
#ifdef DEBUG #ifdef DEBUG
LOGD("highgui::VideoCapture_n_1open__JI() catched cv::Exception: %s", e.what()); LOGD("highgui::VideoCapture_n_1open__JI() catched cv::Exception: %s", e.what());
#endif // DEBUG #endif // DEBUG
jclass je = env->FindClass("org/opencv/CvException"); jclass je = env->FindClass("org/opencv/core/CvException");
if(!je) je = env->FindClass("java/lang/Exception"); if(!je) je = env->FindClass("java/lang/Exception");
env->ThrowNew(je, e.what()); env->ThrowNew(je, e.what());
return 0; return 0;
...@@ -236,7 +236,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1open__JI ...@@ -236,7 +236,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1open__JI
// //
JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1read JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1read
(JNIEnv* env, jclass cls, jlong self, jlong image_nativeObj) (JNIEnv* env, jclass cls, jlong self, jlong image_nativeObj)
{ {
try { try {
...@@ -252,7 +252,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1read ...@@ -252,7 +252,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1read
#ifdef DEBUG #ifdef DEBUG
LOGD("highgui::VideoCapture_n_1read() catched cv::Exception: %s", e.what()); LOGD("highgui::VideoCapture_n_1read() catched cv::Exception: %s", e.what());
#endif // DEBUG #endif // DEBUG
jclass je = env->FindClass("org/opencv/CvException"); jclass je = env->FindClass("org/opencv/core/CvException");
if(!je) je = env->FindClass("java/lang/Exception"); if(!je) je = env->FindClass("java/lang/Exception");
env->ThrowNew(je, e.what()); env->ThrowNew(je, e.what());
return 0; return 0;
...@@ -273,7 +273,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1read ...@@ -273,7 +273,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1read
// //
JNIEXPORT void JNICALL Java_org_opencv_VideoCapture_n_1release JNIEXPORT void JNICALL Java_org_opencv_highgui_VideoCapture_n_1release
(JNIEnv* env, jclass cls, jlong self) (JNIEnv* env, jclass cls, jlong self)
{ {
try { try {
...@@ -288,7 +288,7 @@ JNIEXPORT void JNICALL Java_org_opencv_VideoCapture_n_1release ...@@ -288,7 +288,7 @@ JNIEXPORT void JNICALL Java_org_opencv_VideoCapture_n_1release
#ifdef DEBUG #ifdef DEBUG
LOGD("highgui::VideoCapture_n_1release() catched cv::Exception: %s", e.what()); LOGD("highgui::VideoCapture_n_1release() catched cv::Exception: %s", e.what());
#endif // DEBUG #endif // DEBUG
jclass je = env->FindClass("org/opencv/CvException"); jclass je = env->FindClass("org/opencv/core/CvException");
if(!je) je = env->FindClass("java/lang/Exception"); if(!je) je = env->FindClass("java/lang/Exception");
env->ThrowNew(je, e.what()); env->ThrowNew(je, e.what());
return; return;
...@@ -309,7 +309,7 @@ JNIEXPORT void JNICALL Java_org_opencv_VideoCapture_n_1release ...@@ -309,7 +309,7 @@ JNIEXPORT void JNICALL Java_org_opencv_VideoCapture_n_1release
// //
JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1retrieve__JJI JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1retrieve__JJI
(JNIEnv* env, jclass cls, jlong self, jlong image_nativeObj, jint channel) (JNIEnv* env, jclass cls, jlong self, jlong image_nativeObj, jint channel)
{ {
try { try {
...@@ -325,7 +325,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1retrieve__JJI ...@@ -325,7 +325,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1retrieve__JJI
#ifdef DEBUG #ifdef DEBUG
LOGD("highgui::VideoCapture_n_1retrieve__JJI() catched cv::Exception: %s", e.what()); LOGD("highgui::VideoCapture_n_1retrieve__JJI() catched cv::Exception: %s", e.what());
#endif // DEBUG #endif // DEBUG
jclass je = env->FindClass("org/opencv/CvException"); jclass je = env->FindClass("org/opencv/core/CvException");
if(!je) je = env->FindClass("java/lang/Exception"); if(!je) je = env->FindClass("java/lang/Exception");
env->ThrowNew(je, e.what()); env->ThrowNew(je, e.what());
return 0; return 0;
...@@ -342,7 +342,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1retrieve__JJI ...@@ -342,7 +342,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1retrieve__JJI
JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1retrieve__JJ JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1retrieve__JJ
(JNIEnv* env, jclass cls, jlong self, jlong image_nativeObj) (JNIEnv* env, jclass cls, jlong self, jlong image_nativeObj)
{ {
try { try {
...@@ -358,7 +358,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1retrieve__JJ ...@@ -358,7 +358,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1retrieve__JJ
#ifdef DEBUG #ifdef DEBUG
LOGD("highgui::VideoCapture_n_1retrieve__JJ() catched cv::Exception: %s", e.what()); LOGD("highgui::VideoCapture_n_1retrieve__JJ() catched cv::Exception: %s", e.what());
#endif // DEBUG #endif // DEBUG
jclass je = env->FindClass("org/opencv/CvException"); jclass je = env->FindClass("org/opencv/core/CvException");
if(!je) je = env->FindClass("java/lang/Exception"); if(!je) je = env->FindClass("java/lang/Exception");
env->ThrowNew(je, e.what()); env->ThrowNew(je, e.what());
return 0; return 0;
...@@ -379,7 +379,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1retrieve__JJ ...@@ -379,7 +379,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1retrieve__JJ
// //
JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1set JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1set
(JNIEnv* env, jclass cls, jlong self, jint propId, jdouble value) (JNIEnv* env, jclass cls, jlong self, jint propId, jdouble value)
{ {
try { try {
...@@ -394,7 +394,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1set ...@@ -394,7 +394,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1set
#ifdef DEBUG #ifdef DEBUG
LOGD("highgui::VideoCapture_n_1set() catched cv::Exception: %s", e.what()); LOGD("highgui::VideoCapture_n_1set() catched cv::Exception: %s", e.what());
#endif // DEBUG #endif // DEBUG
jclass je = env->FindClass("org/opencv/CvException"); jclass je = env->FindClass("org/opencv/core/CvException");
if(!je) je = env->FindClass("java/lang/Exception"); if(!je) je = env->FindClass("java/lang/Exception");
env->ThrowNew(je, e.what()); env->ThrowNew(je, e.what());
return 0; return 0;
...@@ -408,7 +408,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1set ...@@ -408,7 +408,7 @@ JNIEXPORT jboolean JNICALL Java_org_opencv_VideoCapture_n_1set
} }
} }
JNIEXPORT jstring JNICALL Java_org_opencv_VideoCapture_n_1getSupportedPreviewSizes JNIEXPORT jstring JNICALL Java_org_opencv_highgui_VideoCapture_n_1getSupportedPreviewSizes
(JNIEnv *env, jclass cls, jlong self) (JNIEnv *env, jclass cls, jlong self)
{ {
try { try {
...@@ -423,7 +423,7 @@ JNIEXPORT jstring JNICALL Java_org_opencv_VideoCapture_n_1getSupportedPreviewSiz ...@@ -423,7 +423,7 @@ JNIEXPORT jstring JNICALL Java_org_opencv_VideoCapture_n_1getSupportedPreviewSiz
#ifdef DEBUG #ifdef DEBUG
LOGD("highgui::VideoCapture_n_1getSupportedPreviewSizes() catched cv::Exception: %s", e.what()); LOGD("highgui::VideoCapture_n_1getSupportedPreviewSizes() catched cv::Exception: %s", e.what());
#endif // DEBUG #endif // DEBUG
jclass je = env->FindClass("org/opencv/CvException"); jclass je = env->FindClass("org/opencv/core/CvException");
if(!je) je = env->FindClass("java/lang/Exception"); if(!je) je = env->FindClass("java/lang/Exception");
env->ThrowNew(je, e.what()); env->ThrowNew(je, e.what());
return env->NewStringUTF(""); return env->NewStringUTF("");
...@@ -444,7 +444,7 @@ JNIEXPORT jstring JNICALL Java_org_opencv_VideoCapture_n_1getSupportedPreviewSiz ...@@ -444,7 +444,7 @@ JNIEXPORT jstring JNICALL Java_org_opencv_VideoCapture_n_1getSupportedPreviewSiz
// static void VideoCapture::n_delete( __int64 self ) // static void VideoCapture::n_delete( __int64 self )
// //
JNIEXPORT void JNICALL Java_org_opencv_VideoCapture_n_1delete JNIEXPORT void JNICALL Java_org_opencv_highgui_VideoCapture_n_1delete
(JNIEnv* env, jclass cls, jlong self) (JNIEnv* env, jclass cls, jlong self)
{ {
delete (VideoCapture*) self; delete (VideoCapture*) self;
......
package org.opencv; package org.opencv;
import org.opencv.core.Mat;
import android.graphics.Bitmap; import android.graphics.Bitmap;
public class android { public class android {
......
package org.opencv; package org.opencv.core;
public class CvException extends Exception { public class CvException extends Exception {
......
package org.opencv; package org.opencv.core;
public final class CvType { public final class CvType {
......
package org.opencv; package org.opencv.core;
//javadoc:Mat //javadoc:Mat
public class Mat { public class Mat {
protected Mat(long nativeMat) { public Mat(long nativeMat) {
/*if(nativeMat == 0) /*if(nativeMat == 0)
throw new java.lang.UnsupportedOperationException("Native object address is NULL");*/ throw new java.lang.UnsupportedOperationException("Native object address is NULL");*/
this.nativeObj = nativeMat; this.nativeObj = nativeMat;
...@@ -44,7 +44,6 @@ public class Mat { ...@@ -44,7 +44,6 @@ public class Mat {
@Override @Override
protected void finalize() throws Throwable { protected void finalize() throws Throwable {
nDelete(nativeObj); nDelete(nativeObj);
nativeObj = 0;
super.finalize(); super.finalize();
} }
...@@ -327,7 +326,7 @@ public class Mat { ...@@ -327,7 +326,7 @@ public class Mat {
// native stuff // native stuff
static { System.loadLibrary("opencv_java"); } static { System.loadLibrary("opencv_java"); }
protected long nativeObj; public final long nativeObj;
private static native long nCreateMat(); private static native long nCreateMat();
private static native long nCreateMat(int rows, int cols, int type); private static native long nCreateMat(int rows, int cols, int type);
private static native long nCreateMat(int rows, int cols, int type, double v0, double v1, double v2, double v3); private static native long nCreateMat(int rows, int cols, int type, double v0, double v1, double v2, double v3);
......
package org.opencv; package org.opencv.core;
//javadoc:Point_ //javadoc:Point_
public class Point { public class Point {
......
package org.opencv; package org.opencv.core;
//javadoc:Point3_ //javadoc:Point3_
public class Point3 { public class Point3 {
......
package org.opencv; package org.opencv.core;
//javadoc:Range //javadoc:Range
public class Range { public class Range {
......
package org.opencv; package org.opencv.core;
//javadoc:Rect_ //javadoc:Rect_
public class Rect { public class Rect {
......
package org.opencv; package org.opencv.core;
//javadoc:RotatedRect_ //javadoc:RotatedRect_
public class RotatedRect { public class RotatedRect {
......
package org.opencv; package org.opencv.core;
//javadoc:Scalar_ //javadoc:Scalar_
public class Scalar { public class Scalar {
......
package org.opencv; package org.opencv.core;
//javadoc:Size_ //javadoc:Size_
public class Size { public class Size {
......
package org.opencv; package org.opencv.core;
//javadoc:TermCriteria //javadoc:TermCriteria
public class TermCriteria { public class TermCriteria {
......
package org.opencv; package org.opencv.highgui;
import java.util.List; import java.util.List;
import java.util.LinkedList; import java.util.LinkedList;
import org.opencv.core.Mat;
import org.opencv.core.Size;
// C++: class VideoCapture // C++: class VideoCapture
//javadoc: VideoCapture //javadoc: VideoCapture
public class VideoCapture { public class VideoCapture {
......
...@@ -2,6 +2,11 @@ package org.opencv; ...@@ -2,6 +2,11 @@ package org.opencv;
import java.util.List; import java.util.List;
import org.opencv.core.Mat;
import org.opencv.core.CvType;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.features2d.KeyPoint;
public class utils { public class utils {
...@@ -72,7 +77,7 @@ public class utils { ...@@ -72,7 +77,7 @@ public class utils {
} }
} }
public static void Mat_to_vector_KeyPoint(Mat kp_mat, List<features2d.KeyPoint> kps) { public static void Mat_to_vector_KeyPoint(Mat kp_mat, List<KeyPoint> kps) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
......
package org.opencv.samples.tutorial1; package org.opencv.samples.tutorial1;
import org.opencv.*; import org.opencv.android;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.core.Point;
import org.opencv.core.Scalar;
import org.opencv.core.CvType;
import org.opencv.imgproc.Imgproc;
import android.content.Context; import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
...@@ -36,15 +43,15 @@ class Sample1View extends SampleViewBase { ...@@ -36,15 +43,15 @@ class Sample1View extends SampleViewBase {
switch (Sample1Java.viewMode) { switch (Sample1Java.viewMode) {
case Sample1Java.VIEW_MODE_GRAY: case Sample1Java.VIEW_MODE_GRAY:
imgproc.cvtColor(mGraySubmat, mRgba, imgproc.COLOR_GRAY2RGBA, 4); Imgproc.cvtColor(mGraySubmat, mRgba, Imgproc.COLOR_GRAY2RGBA, 4);
break; break;
case Sample1Java.VIEW_MODE_RGBA: case Sample1Java.VIEW_MODE_RGBA:
imgproc.cvtColor(mYuv, mRgba, imgproc.COLOR_YUV420i2RGB, 4); Imgproc.cvtColor(mYuv, mRgba, Imgproc.COLOR_YUV420i2RGB, 4);
core.putText(mRgba, "OpenCV + Android", new Point(10, 100), 3/* CV_FONT_HERSHEY_COMPLEX */, 2, new Scalar(255, 0, 0, 255), 3); Core.putText(mRgba, "OpenCV + Android", new Point(10, 100), 3/* CV_FONT_HERSHEY_COMPLEX */, 2, new Scalar(255, 0, 0, 255), 3);
break; break;
case Sample1Java.VIEW_MODE_CANNY: case Sample1Java.VIEW_MODE_CANNY:
imgproc.Canny(mGraySubmat, mIntermediateMat, 80, 100); Imgproc.Canny(mGraySubmat, mIntermediateMat, 80, 100);
imgproc.cvtColor(mIntermediateMat, mRgba, imgproc.COLOR_GRAY2BGRA, 4); Imgproc.cvtColor(mIntermediateMat, mRgba, Imgproc.COLOR_GRAY2BGRA, 4);
break; break;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment