Merge pull request #590 from apavlenko:java_fixes
This commit is contained in:
commit
79cf292d78
@ -217,6 +217,12 @@ endif(ANDROID AND ANDROID_EXECUTABLE)
|
|||||||
|
|
||||||
set(step3_depends ${step2_depends} ${step3_input_files} ${copied_files})
|
set(step3_depends ${step2_depends} ${step3_input_files} ${copied_files})
|
||||||
|
|
||||||
|
if(ANDROID)
|
||||||
|
set(LIB_NAME_SUFIX "")
|
||||||
|
else()
|
||||||
|
set(LIB_NAME_SUFIX "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}")
|
||||||
|
endif()
|
||||||
|
|
||||||
# step 4: build jar
|
# step 4: build jar
|
||||||
if(ANDROID)
|
if(ANDROID)
|
||||||
set(JAR_FILE "${OpenCV_BINARY_DIR}/bin/classes.jar")
|
set(JAR_FILE "${OpenCV_BINARY_DIR}/bin/classes.jar")
|
||||||
@ -241,7 +247,7 @@ if(ANDROID)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
else(ANDROID)
|
else(ANDROID)
|
||||||
set(JAR_NAME opencv-${OPENCV_VERSION}.jar)
|
set(JAR_NAME opencv-${LIB_NAME_SUFIX}.jar)
|
||||||
set(JAR_FILE "${OpenCV_BINARY_DIR}/bin/${JAR_NAME}")
|
set(JAR_FILE "${OpenCV_BINARY_DIR}/bin/${JAR_NAME}")
|
||||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/build.xml.in" "${OpenCV_BINARY_DIR}/build.xml" IMMEDIATE @ONLY)
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/build.xml.in" "${OpenCV_BINARY_DIR}/build.xml" IMMEDIATE @ONLY)
|
||||||
list(APPEND step3_depends "${OpenCV_BINARY_DIR}/build.xml")
|
list(APPEND step3_depends "${OpenCV_BINARY_DIR}/build.xml")
|
||||||
@ -294,8 +300,8 @@ endif()
|
|||||||
|
|
||||||
# Additional target properties
|
# Additional target properties
|
||||||
set_target_properties(${the_module} PROPERTIES
|
set_target_properties(${the_module} PROPERTIES
|
||||||
OUTPUT_NAME "${the_module}${OPENCV_DLLVERSION}"
|
OUTPUT_NAME "${the_module}${LIB_NAME_SUFIX}"
|
||||||
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
|
#DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
|
||||||
ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
|
ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
|
||||||
RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
|
RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
|
||||||
INSTALL_NAME_DIR ${OPENCV_LIB_INSTALL_PATH}
|
INSTALL_NAME_DIR ${OPENCV_LIB_INSTALL_PATH}
|
||||||
|
@ -559,6 +559,15 @@ func_arg_fix = {
|
|||||||
}, # '', i.e. no class
|
}, # '', i.e. no class
|
||||||
} # func_arg_fix
|
} # func_arg_fix
|
||||||
|
|
||||||
|
|
||||||
|
def getLibVersion(version_hpp_path):
|
||||||
|
version_file = open(version_hpp_path, "rt").read()
|
||||||
|
epoch = re.search("^W*#\W*define\W+CV_VERSION_EPOCH\W+(\d+)\W*$", version_file, re.MULTILINE).group(1)
|
||||||
|
major = re.search("^W*#\W*define\W+CV_VERSION_MAJOR\W+(\d+)\W*$", version_file, re.MULTILINE).group(1)
|
||||||
|
minor = re.search("^W*#\W*define\W+CV_VERSION_MINOR\W+(\d+)\W*$", version_file, re.MULTILINE).group(1)
|
||||||
|
revision = re.search("^W*#\W*define\W+CV_VERSION_REVISION\W+(\d+)\W*$", version_file, re.MULTILINE).group(1)
|
||||||
|
return (epoch, major, minor, revision)
|
||||||
|
|
||||||
class ConstInfo(object):
|
class ConstInfo(object):
|
||||||
def __init__(self, cname, name, val, addedManually=False):
|
def __init__(self, cname, name, val, addedManually=False):
|
||||||
self.cname = cname
|
self.cname = cname
|
||||||
@ -721,13 +730,16 @@ $imports
|
|||||||
public class %(jc)s {
|
public class %(jc)s {
|
||||||
""" % { 'm' : self.module, 'jc' : jname } )
|
""" % { 'm' : self.module, 'jc' : jname } )
|
||||||
|
|
||||||
# self.java_code[class_name]["jn_code"].write("""
|
if class_name == 'Core':
|
||||||
# //
|
(epoch, major, minor, revision) = getLibVersion(
|
||||||
# // native stuff
|
(os.path.dirname(__file__) or '.') + '/../../core/include/opencv2/core/version.hpp')
|
||||||
# //
|
version_str = '.'.join( (epoch, major, minor, revision) )
|
||||||
# static { System.loadLibrary("opencv_java"); }
|
version_suffix = ''.join( (epoch, major, minor) )
|
||||||
#""" )
|
self.classes[class_name].imports.add("java.lang.String")
|
||||||
|
self.java_code[class_name]["j_code"].write("""
|
||||||
|
public static final String VERSION = "%(v)s", NATIVE_LIBRARY_NAME = "opencv_java%(vs)s";
|
||||||
|
public static final int VERSION_EPOCH = %(ep)s, VERSION_MAJOR = %(ma)s, VERSION_MINOR = %(mi)s, VERSION_REVISION = %(re)s;
|
||||||
|
""" % { 'v' : version_str, 'vs' : version_suffix, 'ep' : epoch, 'ma' : major, 'mi' : minor, 're' : revision } )
|
||||||
|
|
||||||
|
|
||||||
def add_class(self, decl):
|
def add_class(self, decl):
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
|
import org.opencv.core.Core;
|
||||||
import org.opencv.core.Mat;
|
import org.opencv.core.Mat;
|
||||||
import org.opencv.core.CvType;
|
import org.opencv.core.CvType;
|
||||||
import org.opencv.core.Scalar;
|
import org.opencv.core.Scalar;
|
||||||
|
|
||||||
class SimpleSample {
|
class SimpleSample {
|
||||||
|
|
||||||
static{ System.loadLibrary("opencv_java244"); }
|
static{ System.loadLibrary(Core.NATIVE_LIBRARY_NAME); }
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
System.out.println("Welcome to OpenCV " + Core.VERSION);
|
||||||
Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0));
|
Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0));
|
||||||
System.out.println("OpenCV Mat: " + m);
|
System.out.println("OpenCV Mat: " + m);
|
||||||
Mat mr1 = m.row(1);
|
Mat mr1 = m.row(1);
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
|
import org.opencv.core.Core;
|
||||||
import org.opencv.core.CvType;
|
import org.opencv.core.CvType;
|
||||||
import org.opencv.core.Mat;
|
import org.opencv.core.Mat;
|
||||||
|
|
||||||
public class Main {
|
public class Main {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
System.loadLibrary("opencv_java244");
|
System.out.println("Welcome to OpenCV " + Core.VERSION);
|
||||||
|
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
|
||||||
Mat m = Mat.eye(3, 3, CvType.CV_8UC1);
|
Mat m = Mat.eye(3, 3, CvType.CV_8UC1);
|
||||||
System.out.println("m = " + m.dump());
|
System.out.println("m = " + m.dump());
|
||||||
}
|
}
|
||||||
|
@ -8,11 +8,14 @@
|
|||||||
* You're invited to submit your own examples, in any JVM language of
|
* You're invited to submit your own examples, in any JVM language of
|
||||||
* your choosing so long as you can get them to build.
|
* your choosing so long as you can get them to build.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import org.opencv.core.Core
|
||||||
|
|
||||||
object Main extends App {
|
object Main extends App {
|
||||||
// We must load the native library before using any OpenCV functions.
|
// We must load the native library before using any OpenCV functions.
|
||||||
// You must load this library _exactly once_ per Java invocation.
|
// You must load this library _exactly once_ per Java invocation.
|
||||||
// If you load it more than once, you will get a java.lang.UnsatisfiedLinkError.
|
// If you load it more than once, you will get a java.lang.UnsatisfiedLinkError.
|
||||||
System.loadLibrary("opencv_java")
|
System.loadLibrary(Core.NATIVE_LIBRARY_NAME)
|
||||||
|
|
||||||
ScalaCorrespondenceMatchingDemo.run()
|
ScalaCorrespondenceMatchingDemo.run()
|
||||||
ScalaDetectFaceDemo.run()
|
ScalaDetectFaceDemo.run()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user