/* * Class: * Method: nextObjectRect * Signature: (JJIIZ)V */ JNIEXPORT jboolean JNICALL Java_background_OFTracker_nextObjectRect (JNIEnv *env, jobject obj, jlong addrObj, jlong addrMat) { TrackingObject *tracker = (TrackingObject*)addrObj; cv::Mat& mat = *(cv::Mat*)addrMat; IplImage ipl(mat); bool ret = tracker->nextObjectRect(&ipl); return (jboolean)ret; }
static void jump_to_IPL_2(void) { ResetInfo *current = 0; void (*ipl)(void) = (void *) (uint64_t) current->ipl_continue; debug_print_addr("set IPL addr to", ipl); /* Ensure the guest output starts fresh */ sclp_print("\n"); *current = save; ipl(); /* should not return */ }
/* * Class: * Method: startTracking * Signature: (JJII)V */ JNIEXPORT jboolean JNICALL Java_background_OFTracker_startTracking (JNIEnv *env, jobject obj, jlong addrObj, jlong addrMat, jintArray rectarray, jint corners, jint min_d, jfloat rate) { TrackingObject *tracker = (TrackingObject*)addrObj; cv::Mat& mat = *(cv::Mat*)addrMat; IplImage ipl(mat); int* rect= (int*)env->GetPrimitiveArrayCritical(rectarray, 0); CvRect t_rect; t_rect.x = rect[0]; t_rect.y = rect[1]; t_rect.width = rect[2]; t_rect.height = rect[3]; bool ret = tracker->startTracking(&ipl,t_rect,corners,min_d,rate); return (jboolean)ret; }