Commit Graph

798 Commits

Author SHA1 Message Date
SarenT
c6d9ce8fd3 Merge pull request #10489 from SarenT:offset-mat_put
Adding capability to parse subsections of a byte array in Java bindings (#10489)

* Adding capability to parse subsections of a byte array in Java bindings. (Because Java lacks pointers. Therefore, reading images within a subsection of a byte array is impossible by Java's nature and limitations. Because of this, many IO functions in Java require additional parameters offset and length to define, which section of an array to be read.)

* Corrected according to the review. Previous interfaces were restored, instead internal interfaces were modified to provide subsampling of java byte arrays.

* Adding tests and test related files.

* Adding missing files for the test.

* Simplified the test

* Check was corrected according to discussion. An OutOfRangeException will be thrown instead of returning.

* java: update MatOfByte implementation checks / tests
2018-01-12 18:00:58 +03:00
Alexander Alekhin
f3dde79ed6 cmake: allow BUILD_FAT_JAVA_LIB for non-Android targets too 2018-01-08 19:24:39 +00:00
Moshe
84596bff09 Bitwise "and false"
Bitwise "and false" is always false.
2018-01-07 10:12:53 +02:00
Alexander Alekhin
cac4a7e5b5 OpenCV version++
OpenCV 3.4.0-rc
2017-12-16 01:30:43 +03:00
Pavel Rojtberg
6fb9d42c3f Hid symbols in static builds, added LTO flags, removed exports from ts 2017-12-07 10:26:48 +03:00
Jcrist99
0608227e10 Merge pull request #9698 from abratchik:parse.doxygen
Support @deprecated tag in java wrappers (#9698)
2017-11-16 16:48:12 +03:00
Florian Echtler
2e772510ea Merge pull request #10050 from floe/android-studio-3.3.1
Add Android Mat constructor with support for native buffer (#10050)
2017-11-10 19:35:32 +00:00
Alexander Alekhin
cc3f9323bb cmake: exclude opencv_java (JNI) from OpenCV C++ modules list
for non-ANDROID platforms
2017-11-02 17:06:12 +03:00
Dmitry Kurtaev
bd8e6b7e14 Make external cv::dnn::Importer usage is deprecated 2017-09-18 08:52:36 +03:00
Alexander Alekhin
01519313d7 dnn: invalid bindings 2017-08-31 19:35:48 +03:00
Alexander Alekhin
25a4559565 Merge pull request #9294 from arrybn:layers_perf 2017-08-24 09:37:49 +00:00
Aleksandr Rybnikov
8b1146deb2 Added function to get timings for layers 2017-08-23 13:40:05 +03:00
Alexander Alekhin
87a98e4562 cmake: CMP0026 NEW 2017-08-19 15:15:05 +00:00
Alexander Alekhin
b6949c5088 cmake: CMP0022 NEW 2017-08-19 15:15:05 +00:00
John Hany
69e19b88c2 Fix SyntaxError with print 2017-08-09 21:25:16 +08:00
Alexander Alekhin
2360291c3e java: update source files processing, maven stuff 2017-07-19 22:39:23 +03:00
abratchik
8f7181429f add java wrappers to dnn module 2017-07-02 11:46:20 +04:00
likan999
74127d44d0 More accurate condition to detect emulator
Previous commit, 6f39f9a, tries to fix the color issue for emulator. But the condition for detecting emulator is incomplete, e.g. it stops working for emulators using Google Play, whose Build.BRAND=="google". https://stackoverflow.com/a/21505193 shows a more accurate condition for this.
2017-06-22 00:47:15 -07:00
abratchik
037d8fbdcd Refactor OpenCV Java Wrapping 2017-06-15 20:35:12 +04:00
Alexander Alekhin
59798b3f7c java: use module's public headers only 2017-06-06 21:10:02 +03:00
Maksim Shabunin
f4e18125b4 Do not clean src and gen directories when java is disabled 2017-05-29 13:54:36 +03:00
Maksim Shabunin
9f0bbdada2 Merge pull request #8386 from jtkb:feature/cmake-maven-it-module 2017-05-24 10:17:03 +00:00
Maksim Shabunin
ea49d7b7c5 Merge pull request #8653 from alalek:android_fixes 2017-05-03 12:20:19 +00:00
Vladislav Sovrasov
bf62be7f63 java: allow to wrap functions which take cv::Ptr 2017-05-02 11:50:31 +03:00
Alexander Alekhin
133b91a026 android: build fixes
- eliminate CMake 3.5+ warnings
- removed usage of dropped "OPENCV_CAMERA_MODULES" variable
- partial support for Android NDK 11+
2017-04-26 14:24:51 +03:00
Maksim Shabunin
4d62f1de1e Added javadoc generation 2017-04-05 18:18:39 +03:00
Maksim Shabunin
8b455e8bb3 Fixed Algorithm.save and other methods work in Java 2017-04-05 17:48:38 +03:00
Kerry Billingham
d9231afa29 Changes made to the Maven build process:
* Introduced OSGi Blueprint XML file and Bean class too automatically load the native library.

* Introduced integration testing module to deploy to Karaf OSGi implementation.

* Clears library executable stack flag during build.

* Updated README document.
2017-03-18 10:49:02 +00:00
Maksim Shabunin
9333f82be0 Reduce dependencies between modules 2017-03-15 17:58:52 +03:00
Kuan-Yi Li
e685dcef0b Fix typos 2017-03-07 23:42:24 +08:00
Alexander Alekhin
990e87effb Merge pull request #8111 from utibenkei:saliency-module-java 2017-03-06 14:39:23 +00:00
Alexander Alekhin
92c4b6ae4c Merge pull request #8298 from delftrobotics-forks:circles-grid-parameters 2017-03-05 10:17:51 +00:00
Philipp Hasper
ec38ef9b10 CameraBridgeViewBase synchronizes on a final field
Synchronizing against non-final fields is advised against.
2017-03-03 16:07:10 +01:00
Jose Gómez
6f39f9a6a0 Merge pull request #8168 from jmgomezpoveda:issue_8166
* Use the YV12 format in the Android emulator to avoid image issues

* Removed trailing spaces

* Added exception in else case

* Removed tab
2017-03-03 13:44:11 +00:00
Hans Gaiser
11b24eb49f Expose CirclesGridFinderParameters in findCirclesGrid. 2017-03-02 10:53:45 +01:00
utibenkei
6501d54267 Fix bug that occurs when module name and inherited class name are same. 2017-01-31 22:42:30 +09:00
utibenkei
579ffbf97e Added Java wrapping for tracking module 2016-12-31 02:19:38 +09:00
Alexander Alekhin
d85c11e525 OpenCV version++
3.2.0-rc
2016-12-19 17:12:18 +03:00
Alexander Alekhin
61792a839f java: fix PATH environment variable 2016-12-06 20:01:06 +03:00
Alexander Alekhin
8019498c6e java tests fixes 2016-11-23 13:53:00 +03:00
Alexander Alekhin
fe29080d59 java: skip test in case of missed classes from opencv_contrib 2016-11-23 13:53:00 +03:00
abratchik
f978ee613e fix for #7510, #7511 and #7512 2016-10-31 11:07:56 +04:00
abratchik
78874c568e fix java wrapper autotests 2016-10-31 10:06:32 +04:00
Alexander Alekhin
1ae27eb696 Merge pull request #7476 from abratchik:java.wrapper.fix.3.1 2016-10-15 09:21:45 +00:00
abratchik
4207ebbce7 fix for VideoCapture crash 2016-10-15 08:16:31 +04:00
Maksim Shabunin
699c25a4be Merge pull request #7471 from alalek:fix_java_generator 2016-10-13 15:21:39 +00:00
abratchik
084c595855 fix for legacy FeatureDetector and DescriptorMatcher classes 2016-10-13 14:45:59 +04:00
Vadim Pisarevsky
4ed40fd694 Merge pull request #7432 from abratchik:java.wrapper.fix.3.1 2016-10-12 19:54:03 +00:00
Alexander Alekhin
c16c803fe9 java: integrate code from base modules
To resolve undefined "Mat_to_vector_KeyPoint" error
2016-10-12 18:01:51 +03:00
abratchik
789b35d813 improved fix for java wrapper generator (gen_java.py) to avoid generation of java methods with duplicate signatures(v3) 2016-10-11 02:47:02 +04:00
Alexander Alekhin
714db4cf0d java: fix Ptr<> code generation
Before:
    Ptr<Dictionary>((cv::aruco::Dictionary*)dictionary_nativeObj)
After:
    Ptr<cv::aruco::Dictionary>((cv::aruco::Dictionary*)dictionary_nativeObj)
2016-10-08 02:19:43 +03:00
Alexander Alekhin
5da8d65371 eliminate compiler warnings 2016-10-08 02:19:43 +03:00
abratchik
be028d0774 fix for #7420, #7421 2016-10-07 23:58:57 +04:00
Jcrist99
770c69a978 fix for feature2d java wrappers as described in this post: http://ans… (#7372)
* fix for feature2d java wrappers as described in this post: http://answers.opencv.org/question/101675/surfsift-java-wrapper-for-opencv-3xosx-1011/

* fix for feature2d java wrappers as described in this post: http://answers.opencv.org/question/101675/surfsift-java-wrapper-for-opencv-3xosx-1011/

* rollback of one change as requested (similar change already merged)
2016-10-06 15:48:26 +03:00
Vadim Pisarevsky
a799cc13d9 Merge pull request #6078 from PolarNick239:master 2016-10-05 17:27:23 +00:00
mshabunin
7a7a2749e0 Fixed java wrappers 2016-09-30 16:21:04 +03:00
Marek Smigielski
1aa14e4929 fix tab for gen_java.py 2016-08-10 12:03:28 +02:00
Marek Smigielski
723b42e0da Add namespaces and proper support of the pointers 2016-08-05 15:34:57 +02:00
Maksim Shabunin
fc890bd941 Merge pull request #6815 from smigielski:fix_6605 2016-07-14 14:36:45 +00:00
Alexander Alekhin
f9ab93bf0f Merge pull request #6876 from janstarzy:jni-as-template-redone 2016-07-11 13:06:00 +00:00
Jan Starzynski
479f933970 get/put: more type-safety and code unification using templates 2016-07-11 09:27:59 +02:00
Marek Smigielski
ef45005056 Adding support for pointer generation. Fixes #6605 2016-05-31 08:35:50 +02:00
dharezlak
308b47ce58 Improved Java wrapper generation
While generating Java JNI wrappers package names with an underscore (`_`) character where not properly escaped according to https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/design.html#resolving_native_method_names (see also: https://github.com/Itseez/opencv_contrib/issues/652).

This fix replaces all the occurrences of `_` with `_1` resulting in proper JNI method names.
2016-05-23 11:13:18 +02:00
Alexander Alekhin
67a734ce73 Merge branch '2.4' into master
Commits:
67fe57a add fixed video
db0ae2c Restore 2.4 source branch for bug fix 6317.
97ac59c Fix a memory leak indirectly caused by cvDestroyWindow
eb40afa Add a workaround for FFmpeg's color conversion accessing past the end of the buffer
421fcf9 Rearrange CvVideoWriter_FFMPEG::writeFrame for better readability
912592d Remove "INSTALL_NAME_DIR lib" target property
bb1c2d7 fix bug on border at pyrUp
2016-04-21 20:15:08 +03:00
Philipp Hasper
cc7a1a2ab7 Deactivated two noisy camera-retrieval log messages in android
They were issued for every frame retrieved - even in a release build.
2016-04-13 09:17:33 +02:00
Alexander Alekhin
1f7fea9092 Merge pull request #6244 from dreifachstein:topic-cmake-install 2016-04-05 15:23:55 +00:00
Maksim Shabunin
f3127521f3 Merge pull request #6214 from vonnieda:java_features2d 2016-03-21 11:51:11 +00:00
Xiaolei Yu
40eb613bbf Make install paths relative to CMAKE_INSTALL_PREFIX 2016-03-19 16:41:51 +08:00
Alexander Alekhin
cbd0ee21d5 revert: java bindings become CMake modules (loadable plugins)
This reverts part of commit 0db10a3052
2016-03-09 12:13:46 +03:00
Jason von Nieda
f4b502dd03 Adds supports for the majority of features2d to the Java wrappers:
* Adds the main features2d header to the parse list for the generator.
* Removes the manual definition of drawKeypoints and drawMatches since these are now included in the main header.
* Updates the generator to ignore SimpleBlobDetector, FlannBasedMatcher and DescriptorMatcher as these cause conflicts with the generator. This is okay since these were not previously included in the distribution anyway, so no harm is done.
2016-03-07 00:14:53 -08:00
Nikolay Polyarniy
46e08d34dd T-API python support implemented:
- cv2.UMat implemented - python thin wrapper for UMat
 - no implicit copy from GPU to Host done, resulting UMat can be passed to next function without overhead
 - cv2.UMat.get() - to fetch data to Host
 - new tests covers: ORB, BFMatcher, goodFeaturesToTrack, calcOpticalFlowPyrLK
2016-02-09 12:33:07 +03:00
Maksim Shabunin
92387b1ef8 Fix java version++ 2015-12-18 18:02:16 +03:00
Maksim Shabunin
8d1f5b5490 Version++ for android 2015-12-18 17:57:07 +03:00
Alexander Alekhin
be23846c4e update osx and ios build_framework.py 2015-12-17 16:17:31 +03:00
Maksim Shabunin
5ebc7f0b72 Simple Moments class for Java 2015-12-16 10:53:14 +03:00
Alexander Alekhin
0db10a3052 fixes #5019: python and java bindings become CMake modules (loadable plugins) 2015-12-14 16:20:18 +03:00
Maksim Shabunin
eebd4cad66 Fix compilation problems with XCode 7.1.1 and cmake 3.3.2 2015-11-17 18:52:55 +03:00
Maksim Shabunin
e8bf4417ef New variant of iOS framework building, fixed some warnings for XCode 7.1.1 and cmake 3.3.2 2015-11-17 15:30:01 +03:00
Maksim Shabunin
f49936a849 Fixed cmake and build issues when using Visual Studio 2015 2015-10-29 11:50:48 +03:00
Maksim Shabunin
6e9d0d9a0c Visual Studio 2015 warning and test fixes 2015-10-20 12:48:37 +03:00
Alexander Alekhin
ddd91bcebf android: add targetSdkVersion="21" 2015-10-12 18:12:34 +03:00
Alexander Alekhin
dbcc55a196 cleanup <build>/src|gen folders to remove stalled/unused Java files 2015-10-09 17:28:50 +03:00
Alexander Alekhin
441eeef319 Merge pull request #5470 from apavlenko:android_camera_gl_view 2015-10-08 13:31:51 +00:00
Andrey Pavlenko
23fea91e84 minor fixes 2015-10-08 12:37:59 +03:00
Andrey Pavlenko
15db8243ef refactored; added Camera2, notify callbacks, front/back maxCamera sizes; disable new stuff if target API < 21 2015-10-07 15:01:32 +03:00
Alexander Alekhin
33f5ac5c15 Merge pull request #5429 from PhilLab:patch-6 2015-10-05 12:50:17 +00:00
Philipp Hasper
05846438e3 Typo in CameraBridgeViewBase.java
Corrected typo and unused imports
2015-10-01 15:09:14 +02:00
Alexander Alekhin
eb2e061e3f fix Android camera datarace (mCameraFrameReady) 2015-09-22 17:03:09 +03:00
Andrey Pavlenko
8e088d38a5 draft implementation of alternative CameraBridge via GLES
a simple sample will look like:

```java
public class MainActivity extends Activity implements CameraGLSurfaceView.CameraTextureListener {

	CameraGLSurfaceView mView;
	ByteBuffer buf;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,
                WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

        mView = new CameraGLSurfaceView(this, null);
        mView.setCameraTextureListener(this);
        setContentView(mView);
        buf = ByteBuffer.allocateDirect(1920*1080*4);
    }

    @Override
    protected void onPause() {
        mView.onPause();
        super.onPause();
    }

    @Override
    protected void onResume() {
        super.onResume();
        mView.onResume();
    }

	@Override
	public void onCameraViewStarted(int width, int height) {
		// TODO Auto-generated method stub

	}

	@Override
	public void onCameraViewStopped() {
		// TODO Auto-generated method stub

	}

	@Override
	public boolean onCameraFrame(int texIn, int texOut, int width, int height) {
		Log.i("MAIN", "onCameraFrame");
		int w=width, h=height;
		/*
		// option 1:
		// just return 'false' to display texIn on screen
		retutn false;
		*/

		/*
		// option 2:
		// fast copy texIn to texOut
		GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
    	GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, texOut);
		GLES20.glCopyTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, 0, 0, w, h, 0);
		return true;
		*/

		// option 3:
		// read, modify and write back pixels
		GLES20.glReadPixels(0, 0, w, h, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, buf);

		buf.rewind();
		// red line
		for(int i=0; i<h; i++) {
			buf.position(w*4*i+i*4);
			buf.put((byte) -1);
			buf.position(w*4*i+i*4+4);
			buf.put((byte) -1);
		}
		buf.rewind();

		GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
    	GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, texOut);
		GLES20.glTexSubImage2D(GLES20.GL_TEXTURE_2D, 0, 0, 0, w, h, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, buf);
		return true;
	}
}
```
2015-09-19 16:18:02 +03:00
Maksim Shabunin
31fbe8caeb Merge pull request #5255 from berak:java_videowriter 2015-09-11 11:09:16 +00:00
Alexander Alekhin
b15a9d675e cmake: use copy_if_different 2015-09-08 22:42:05 +03:00
berak
a11ff876d4 enable VideoWriter class for java
fixing fourcc
2015-08-27 08:04:58 +02:00
Alexander Alekhin
bbff288447 fix build with python3 only 2015-08-26 13:08:06 +03:00
Evgeny Talanin
9a3dccab20 Increase Android Manager version 2015-07-29 21:16:21 +03:00
Alexander Alekhin
bb556b8f55 Merge pull request #4124 from ruslo:android.fix 2015-06-25 17:16:04 +00:00
Maksim Shabunin
83b2621de4 Android: renamed default library name for static and dynamic fallback load; fixed libz import for 64-bit platforms 2015-06-19 18:53:45 +03:00
Maksim Shabunin
c79ad45fce Added interface libraries for android opencv_java 2015-06-17 18:10:28 +03:00
Ruslan Baratov
0fcc5face3 Fix `cmake -E touch classes.jar' step
`-E touch` command doesn't create intermediate directories. We have to do it
manually using `file(MAKE_DIRECTORY ...)` command.
2015-06-17 12:11:11 +02:00
Maksim Shabunin
33ab9ea188 AndroidMgr: fixed typos and package name 2015-06-03 11:53:29 +03:00
Maksim Shabunin
caffbaafbe Updated Manager for Android 2015-06-02 17:33:04 +03:00