+++ /dev/null
-#define LOG_TAG "org.opencv.highgui.VideoCapture"
-#include "common.h"
-
-#include "opencv2/opencv_modules.hpp"
-#ifdef HAVE_OPENCV_HIGHGUI
-
-#include "opencv2/highgui/highgui_c.h"
-#include "opencv2/highgui/highgui.hpp"
-using namespace cv;
-
-/// throw java exception
-static void throwJavaException(JNIEnv *env, const std::exception *e, const char *method) {
- std::string what = "unknown exception";
- jclass je = 0;
-
- if(e) {
- std::string exception_type = "std::exception";
-
- if(dynamic_cast<const cv::Exception*>(e)) {
- exception_type = "cv::Exception";
- je = env->FindClass("org/opencv/core/CvException");
- }
-
- what = exception_type + ": " + e->what();
- }
-
- if(!je) je = env->FindClass("java/lang/Exception");
- env->ThrowNew(je, what.c_str());
-
- LOGE("%s caught %s", method, what.c_str());
- (void)method; // avoid "unused" warning
-}
-
-extern "C" {
-
-//
-// VideoCapture::VideoCapture()
-//
-
-JNIEXPORT jlong JNICALL Java_org_opencv_highgui_VideoCapture_n_1VideoCapture__
- (JNIEnv* env, jclass);
-
-JNIEXPORT jlong JNICALL Java_org_opencv_highgui_VideoCapture_n_1VideoCapture__
- (JNIEnv* env, jclass)
-{
- static const char method_name[] = "highgui::VideoCapture::VideoCapture()";
- try {
- LOGD("%s", method_name);
- VideoCapture* _retval_ = new VideoCapture( );
- return (jlong) _retval_;
- } catch(const std::exception &e) {
- throwJavaException(env, &e, method_name);
- } catch (...) {
- throwJavaException(env, 0, method_name);
- }
- return 0;
-}
-
-
-//
-// VideoCapture::VideoCapture(int device)
-//
-
-JNIEXPORT jlong JNICALL Java_org_opencv_highgui_VideoCapture_n_1VideoCapture__I
- (JNIEnv* env, jclass, jint device);
-
-JNIEXPORT jlong JNICALL Java_org_opencv_highgui_VideoCapture_n_1VideoCapture__I
- (JNIEnv* env, jclass, jint device)
-{
- static const char method_name[] = "highgui::VideoCapture::VideoCapture(int device)";
- try {
- LOGD("%s", method_name);
- VideoCapture* _retval_ = new VideoCapture( device );
- return (jlong) _retval_;
- } catch(const std::exception &e) {
- throwJavaException(env, &e, method_name);
- } catch (...) {
- throwJavaException(env, 0, method_name);
- }
- return 0;
-}
-
-
-
-//
-// double VideoCapture::get(int propId)
-//
-
-JNIEXPORT jdouble JNICALL Java_org_opencv_highgui_VideoCapture_n_1get
- (JNIEnv* env, jclass, jlong self, jint propId);
-
-JNIEXPORT jdouble JNICALL Java_org_opencv_highgui_VideoCapture_n_1get
- (JNIEnv* env, jclass, jlong self, jint propId)
-{
- static const char method_name[] = "highgui::VideoCapture::get(int propId)";
- try {
- LOGD("%s", method_name);
- VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
- double _retval_ = me->get( propId );
- return _retval_;
- } catch(const std::exception &e) {
- throwJavaException(env, &e, method_name);
- } catch (...) {
- throwJavaException(env, 0, method_name);
- }
- return 0;
-}
-
-
-
-//
-// bool VideoCapture::grab()
-//
-
-JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1grab
- (JNIEnv* env, jclass, jlong self);
-
-JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1grab
- (JNIEnv* env, jclass, jlong self)
-{
- static const char method_name[] = "highgui::VideoCapture::grab()";
- try {
- LOGD("%s", method_name);
- VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
- bool _retval_ = me->grab( );
- return _retval_;
- } catch(const std::exception &e) {
- throwJavaException(env, &e, method_name);
- } catch (...) {
- throwJavaException(env, 0, method_name);
- }
- return false;
-}
-
-
-
-//
-// bool VideoCapture::isOpened()
-//
-
-JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1isOpened
- (JNIEnv* env, jclass, jlong self);
-
-JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1isOpened
- (JNIEnv* env, jclass, jlong self)
-{
- static const char method_name[] = "highgui::VideoCapture::isOpened()";
- try {
- LOGD("%s", method_name);
- VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
- bool _retval_ = me->isOpened( );
- return _retval_;
- } catch(const std::exception &e) {
- throwJavaException(env, &e, method_name);
- } catch (...) {
- throwJavaException(env, 0, method_name);
- }
- return false;
-}
-
-
-//
-// bool VideoCapture::open(int device)
-//
-
-JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1open__JI
- (JNIEnv* env, jclass, jlong self, jint device);
-
-JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1open__JI
- (JNIEnv* env, jclass, jlong self, jint device)
-{
- static const char method_name[] = "highgui::VideoCapture::open(int device)";
- try {
- LOGD("%s", method_name);
- VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
- bool _retval_ = me->open( device );
- return _retval_;
- } catch(const std::exception &e) {
- throwJavaException(env, &e, method_name);
- } catch (...) {
- throwJavaException(env, 0, method_name);
- }
- return false;
-}
-
-
-
-//
-// bool VideoCapture::read(Mat image)
-//
-
-JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1read
- (JNIEnv* env, jclass, jlong self, jlong image_nativeObj);
-
-JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1read
- (JNIEnv* env, jclass, jlong self, jlong image_nativeObj)
-{
- static const char method_name[] = "highgui::VideoCapture::read(Mat image)";
- try {
- LOGD("%s", method_name);
- VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
- Mat& image = *((Mat*)image_nativeObj);
- bool _retval_ = me->read( image );
- return _retval_;
- } catch(const std::exception &e) {
- throwJavaException(env, &e, method_name);
- } catch (...) {
- throwJavaException(env, 0, method_name);
- }
- return false;
-}
-
-
-
-//
-// void VideoCapture::release()
-//
-
-JNIEXPORT void JNICALL Java_org_opencv_highgui_VideoCapture_n_1release
- (JNIEnv* env, jclass, jlong self);
-
-JNIEXPORT void JNICALL Java_org_opencv_highgui_VideoCapture_n_1release
- (JNIEnv* env, jclass, jlong self)
-{
- static const char method_name[] = "highgui::VideoCapture::release()";
- try {
- LOGD("%s", method_name);
- VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
- me->release( );
- return;
- } catch(const std::exception &e) {
- throwJavaException(env, &e, method_name);
- } catch (...) {
- throwJavaException(env, 0, method_name);
- }
- return;
-}
-
-
-
-//
-// bool VideoCapture::retrieve(Mat image, int channel = 0)
-//
-
-JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1retrieve__JJI
- (JNIEnv* env, jclass, jlong self, jlong image_nativeObj, jint channel);
-
-JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1retrieve__JJI
- (JNIEnv* env, jclass, jlong self, jlong image_nativeObj, jint channel)
-{
- static const char method_name[] = "highgui::VideoCapture::retrieve(Mat image, int channel)";
- try {
- LOGD("%s", method_name);
- VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
- Mat& image = *((Mat*)image_nativeObj);
- bool _retval_ = me->retrieve( image, channel );
- return _retval_;
- } catch(const std::exception &e) {
- throwJavaException(env, &e, method_name);
- } catch (...) {
- throwJavaException(env, 0, method_name);
- }
- return false;
-}
-
-
-
-JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1retrieve__JJ
- (JNIEnv* env, jclass, jlong self, jlong image_nativeObj);
-
-JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1retrieve__JJ
- (JNIEnv* env, jclass, jlong self, jlong image_nativeObj)
-{
- static const char method_name[] = "highgui::VideoCapture::retrieve(Mat image)";
- try {
- LOGD("%s", method_name);
- VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
- Mat& image = *((Mat*)image_nativeObj);
- bool _retval_ = me->retrieve( image );
- return _retval_;
- } catch(const std::exception &e) {
- throwJavaException(env, &e, method_name);
- } catch (...) {
- throwJavaException(env, 0, method_name);
- }
- return false;
-}
-
-
-
-//
-// bool VideoCapture::set(int propId, double value)
-//
-
-JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1set
- (JNIEnv* env, jclass, jlong self, jint propId, jdouble value);
-
-JNIEXPORT jboolean JNICALL Java_org_opencv_highgui_VideoCapture_n_1set
- (JNIEnv* env, jclass, jlong self, jint propId, jdouble value)
-{
- static const char method_name[] = "highgui::VideoCapture::set(int propId, double value)";
- try {
- LOGD("%s", method_name);
- VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
- bool _retval_ = me->set( propId, value );
- return _retval_;
- } catch(const std::exception &e) {
- throwJavaException(env, &e, method_name);
- } catch (...) {
- throwJavaException(env, 0, method_name);
- }
- return false;
-}
-
-
-//
-// string VideoCapture::getSupportedPreviewSizes(...)
-//
-
-JNIEXPORT jstring JNICALL Java_org_opencv_highgui_VideoCapture_n_1getSupportedPreviewSizes
- (JNIEnv *env, jclass, jlong self);
-
-JNIEXPORT jstring JNICALL Java_org_opencv_highgui_VideoCapture_n_1getSupportedPreviewSizes
- (JNIEnv *env, jclass, jlong self)
-{
- static const char method_name[] = "highgui::VideoCapture::getSupportedPreviewSizes(...)";
- try {
- LOGD("%s", method_name);
- VideoCapture* me = (VideoCapture*) self; //TODO: check for NULL
- union {double prop; const char* name;} u;
- u.prop = me->get(CV_CAP_PROP_SUPPORTED_PREVIEW_SIZES_STRING);
- return env->NewStringUTF(u.name);
- } catch(const std::exception &e) {
- throwJavaException(env, &e, method_name);
- } catch (...) {
- throwJavaException(env, 0, method_name);
- }
- return env->NewStringUTF("");
-}
-
-
-
-//
-// native support for java finalize()
-// static void VideoCapture::n_delete( __int64 self )
-//
-
-JNIEXPORT void JNICALL Java_org_opencv_highgui_VideoCapture_n_1delete
- (JNIEnv*, jclass, jlong self);
-
-JNIEXPORT void JNICALL Java_org_opencv_highgui_VideoCapture_n_1delete
- (JNIEnv*, jclass, jlong self)
-{
- delete (VideoCapture*) self;
-}
-
-} // extern "C"
-
-#endif // HAVE_OPENCV_HIGHGUI
\ No newline at end of file
+++ /dev/null
-package org.opencv.highgui;
-
-import java.util.List;
-import java.util.LinkedList;
-
-import org.opencv.core.Mat;
-import org.opencv.core.Size;
-
-// C++: class VideoCapture
-//javadoc: VideoCapture
-public class VideoCapture {
-
- protected final long nativeObj;
-
- protected VideoCapture(long addr) {
- nativeObj = addr;
- }
-
- //
- // C++: VideoCapture::VideoCapture()
- //
-
- // javadoc: VideoCapture::VideoCapture()
- public VideoCapture()
- {
-
- nativeObj = n_VideoCapture();
-
- return;
- }
-
- //
- // C++: VideoCapture::VideoCapture(int device)
- //
-
- // javadoc: VideoCapture::VideoCapture(device)
- public VideoCapture(int device)
- {
-
- nativeObj = n_VideoCapture(device);
-
- return;
- }
-
- //
- // C++: double VideoCapture::get(int propId)
- //
-
-/**
- * Returns the specified "VideoCapture" property.
- *
- * Note: When querying a property that is not supported by the backend used by
- * the "VideoCapture" class, value 0 is returned.
- *
- * @param propId property identifier; it can be one of the following:
- * * CV_CAP_PROP_FRAME_WIDTH width of the frames in the video stream.
- * * CV_CAP_PROP_FRAME_HEIGHT height of the frames in the video stream.
- *
- * @see <a href="http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html#videocapture-get">org.opencv.highgui.VideoCapture.get</a>
- */
- public double get(int propId)
- {
-
- double retVal = n_get(nativeObj, propId);
-
- return retVal;
- }
-
- public List<Size> getSupportedPreviewSizes()
- {
- String[] sizes_str = n_getSupportedPreviewSizes(nativeObj).split(",");
- List<Size> sizes = new LinkedList<Size>();
-
- for (String str : sizes_str) {
- String[] wh = str.split("x");
- sizes.add(new Size(Double.parseDouble(wh[0]), Double.parseDouble(wh[1])));
- }
-
- return sizes;
- }
-
- //
- // C++: bool VideoCapture::grab()
- //
-
- // javadoc: VideoCapture::grab()
- public boolean grab()
- {
-
- boolean retVal = n_grab(nativeObj);
-
- return retVal;
- }
-
- //
- // C++: bool VideoCapture::isOpened()
- //
-
- // javadoc: VideoCapture::isOpened()
- public boolean isOpened()
- {
-
- boolean retVal = n_isOpened(nativeObj);
-
- return retVal;
- }
-
- //
- // C++: bool VideoCapture::open(int device)
- //
-
- // javadoc: VideoCapture::open(device)
- public boolean open(int device)
- {
-
- boolean retVal = n_open(nativeObj, device);
-
- return retVal;
- }
-
- //
- // C++: bool VideoCapture::read(Mat image)
- //
-
- // javadoc: VideoCapture::read(image)
- public boolean read(Mat image)
- {
-
- boolean retVal = n_read(nativeObj, image.nativeObj);
-
- return retVal;
- }
-
- //
- // C++: void VideoCapture::release()
- //
-
- // javadoc: VideoCapture::release()
- public void release()
- {
-
- n_release(nativeObj);
-
- return;
- }
-
- //
- // C++: bool VideoCapture::retrieve(Mat image, int channel = 0)
- //
-
- // javadoc: VideoCapture::retrieve(image, channel)
- public boolean retrieve(Mat image, int channel)
- {
-
- boolean retVal = n_retrieve(nativeObj, image.nativeObj, channel);
-
- return retVal;
- }
-
- // javadoc: VideoCapture::retrieve(image)
- public boolean retrieve(Mat image)
- {
-
- boolean retVal = n_retrieve(nativeObj, image.nativeObj);
-
- return retVal;
- }
-
- //
- // C++: bool VideoCapture::set(int propId, double value)
- //
-
-/**
- * Sets a property in the "VideoCapture".
- *
- * @param propId property identifier; it can be one of the following:
- * * CV_CAP_PROP_FRAME_WIDTH width of the frames in the video stream.
- * * CV_CAP_PROP_FRAME_HEIGHT height of the frames in the video stream.
- * @param value value of the property.
- *
- * @see <a href="http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html#videocapture-set">org.opencv.highgui.VideoCapture.set</a>
- */
- public boolean set(int propId, double value)
- {
-
- boolean retVal = n_set(nativeObj, propId, value);
-
- return retVal;
- }
-
- @Override
- protected void finalize() throws Throwable {
- n_delete(nativeObj);
- super.finalize();
- }
-
- // C++: VideoCapture::VideoCapture()
- private static native long n_VideoCapture();
-
- // C++: VideoCapture::VideoCapture(string filename)
- private static native long n_VideoCapture(java.lang.String filename);
-
- // C++: VideoCapture::VideoCapture(int device)
- private static native long n_VideoCapture(int device);
-
- // C++: double VideoCapture::get(int propId)
- private static native double n_get(long nativeObj, int propId);
-
- // C++: bool VideoCapture::grab()
- private static native boolean n_grab(long nativeObj);
-
- // C++: bool VideoCapture::isOpened()
- private static native boolean n_isOpened(long nativeObj);
-
- // C++: bool VideoCapture::open(string filename)
- private static native boolean n_open(long nativeObj, java.lang.String filename);
-
- // C++: bool VideoCapture::open(int device)
- private static native boolean n_open(long nativeObj, int device);
-
- // C++: bool VideoCapture::read(Mat image)
- private static native boolean n_read(long nativeObj, long image_nativeObj);
-
- // C++: void VideoCapture::release()
- private static native void n_release(long nativeObj);
-
- // C++: bool VideoCapture::retrieve(Mat image, int channel = 0)
- private static native boolean n_retrieve(long nativeObj, long image_nativeObj, int channel);
-
- private static native boolean n_retrieve(long nativeObj, long image_nativeObj);
-
- // C++: bool VideoCapture::set(int propId, double value)
- private static native boolean n_set(long nativeObj, int propId, double value);
-
- private static native String n_getSupportedPreviewSizes(long nativeObj);
-
- // native support for java finalize()
- private static native void n_delete(long nativeObj);
-
-}