|
|
|
@ -56,7 +56,7 @@ JNIEXPORT void JNI_OnUnload(JavaVM *vm, void *reserved) {
|
|
|
|
|
Yolov5
|
|
|
|
|
********************************************************************************************/
|
|
|
|
|
extern "C" JNIEXPORT void JNICALL
|
|
|
|
|
Java_wificar_YOLOv5_init(JNIEnv *env, jclass, jobject assetManager, jboolean useGPU) {
|
|
|
|
|
Java_wificar_yolo_YOLOv5_init(JNIEnv *env, jclass, jobject assetManager, jboolean useGPU) {
|
|
|
|
|
if (YoloV5::detector != nullptr) {
|
|
|
|
|
delete YoloV5::detector;
|
|
|
|
|
YoloV5::detector = nullptr;
|
|
|
|
@ -68,10 +68,10 @@ Java_wificar_YOLOv5_init(JNIEnv *env, jclass, jobject assetManager, jboolean use
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
extern "C" JNIEXPORT jobjectArray JNICALL
|
|
|
|
|
Java_wificar_YOLOv5_detect(JNIEnv *env, jclass, jobject image, jdouble threshold, jdouble nms_threshold) {
|
|
|
|
|
Java_wificar_yolo_YOLOv5_detect(JNIEnv *env, jclass, jobject image, jdouble threshold, jdouble nms_threshold) {
|
|
|
|
|
auto result = YoloV5::detector->detect(env, image, threshold, nms_threshold);
|
|
|
|
|
|
|
|
|
|
auto box_cls = env->FindClass("wificar/Box");
|
|
|
|
|
auto box_cls = env->FindClass("wificar/yolo/Box");
|
|
|
|
|
auto cid = env->GetMethodID(box_cls, "<init>", "(FFFFIF)V");
|
|
|
|
|
jobjectArray ret = env->NewObjectArray(result.size(), box_cls, nullptr);
|
|
|
|
|
int i = 0;
|
|
|
|
@ -86,7 +86,7 @@ Java_wificar_YOLOv5_detect(JNIEnv *env, jclass, jobject image, jdouble threshold
|
|
|
|
|
|
|
|
|
|
// ***************************************[ Yolov5 Custom Layer ]****************************************
|
|
|
|
|
extern "C" JNIEXPORT void JNICALL
|
|
|
|
|
Java_wificar_YOLOv5_initCustomLayer(JNIEnv *env, jclass, jobject assetManager, jboolean useGPU) {
|
|
|
|
|
Java_wificar_yolo_YOLOv5_initCustomLayer(JNIEnv *env, jclass, jobject assetManager, jboolean useGPU) {
|
|
|
|
|
if (YoloV5CustomLayer::detector != nullptr) {
|
|
|
|
|
delete YoloV5CustomLayer::detector;
|
|
|
|
|
YoloV5CustomLayer::detector = nullptr;
|
|
|
|
@ -98,10 +98,10 @@ Java_wificar_YOLOv5_initCustomLayer(JNIEnv *env, jclass, jobject assetManager, j
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
extern "C" JNIEXPORT jobjectArray JNICALL
|
|
|
|
|
Java_wificar_YOLOv5_detectCustomLayer(JNIEnv *env, jclass, jobject image, jdouble threshold, jdouble nms_threshold) {
|
|
|
|
|
Java_wificar_yolo_YOLOv5_detectCustomLayer(JNIEnv *env, jclass, jobject image, jdouble threshold, jdouble nms_threshold) {
|
|
|
|
|
auto result = YoloV5CustomLayer::detector->detect(env, image, threshold, nms_threshold);
|
|
|
|
|
|
|
|
|
|
auto box_cls = env->FindClass("wificar/Box");
|
|
|
|
|
auto box_cls = env->FindClass("wificar/yolo/Box");
|
|
|
|
|
auto cid = env->GetMethodID(box_cls, "<init>", "(FFFFIF)V");
|
|
|
|
|
jobjectArray ret = env->NewObjectArray(result.size(), box_cls, nullptr);
|
|
|
|
|
int i = 0;
|
|
|
|
@ -146,7 +146,7 @@ extern "C" JNIEXPORT jobjectArray JNICALL
|
|
|
|
|
Java_wificar_YOLOv4_detect(JNIEnv *env, jclass, jobject image, jdouble threshold, jdouble nms_threshold) {
|
|
|
|
|
auto result = YoloV4::detector->detect(env, image, threshold, nms_threshold);
|
|
|
|
|
|
|
|
|
|
auto box_cls = env->FindClass("wificar/Box");
|
|
|
|
|
auto box_cls = env->FindClass("wificar/yolo/Box");
|
|
|
|
|
auto cid = env->GetMethodID(box_cls, "<init>", "(FFFFIF)V");
|
|
|
|
|
jobjectArray ret = env->NewObjectArray(result.size(), box_cls, nullptr);
|
|
|
|
|
int i = 0;
|
|
|
|
@ -178,7 +178,7 @@ extern "C" JNIEXPORT jobjectArray JNICALL
|
|
|
|
|
Java_wificar_NanoDet_detect(JNIEnv *env, jclass, jobject image, jdouble threshold, jdouble nms_threshold) {
|
|
|
|
|
auto result = NanoDet::detector->detect(env, image, threshold, nms_threshold);
|
|
|
|
|
|
|
|
|
|
auto box_cls = env->FindClass("wificar/Box");
|
|
|
|
|
auto box_cls = env->FindClass("wificar/yolo/Box");
|
|
|
|
|
auto cid = env->GetMethodID(box_cls, "<init>", "(FFFFIF)V");
|
|
|
|
|
jobjectArray ret = env->NewObjectArray(result.size(), box_cls, nullptr);
|
|
|
|
|
int i = 0;
|
|
|
|
@ -197,7 +197,7 @@ Java_wificar_NanoDet_detect(JNIEnv *env, jclass, jobject image, jdouble threshol
|
|
|
|
|
********************************************************************************************/
|
|
|
|
|
|
|
|
|
|
extern "C" JNIEXPORT void JNICALL
|
|
|
|
|
Java_wificar_SimplePose_init(JNIEnv *env, jclass clazz, jobject assetManager, jboolean useGPU) {
|
|
|
|
|
Java_wificar_yolo_SimplePose_init(JNIEnv *env, jclass clazz, jobject assetManager, jboolean useGPU) {
|
|
|
|
|
if (SimplePose::detector != nullptr) {
|
|
|
|
|
delete SimplePose::detector;
|
|
|
|
|
SimplePose::detector = nullptr;
|
|
|
|
@ -209,10 +209,10 @@ Java_wificar_SimplePose_init(JNIEnv *env, jclass clazz, jobject assetManager, jb
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
extern "C" JNIEXPORT jobjectArray JNICALL
|
|
|
|
|
Java_wificar_SimplePose_detect(JNIEnv *env, jclass clazz, jobject image) {
|
|
|
|
|
Java_wificar_yolo_SimplePose_detect(JNIEnv *env, jclass clazz, jobject image) {
|
|
|
|
|
auto result = SimplePose::detector->detect(env, image);
|
|
|
|
|
|
|
|
|
|
auto box_cls = env->FindClass("wificar/KeyPoint");
|
|
|
|
|
auto box_cls = env->FindClass("wificar/yolo/KeyPoint");
|
|
|
|
|
auto cid = env->GetMethodID(box_cls, "<init>", "([F[FFFFFF)V");
|
|
|
|
|
jobjectArray ret = env->NewObjectArray(result.size(), box_cls, nullptr);
|
|
|
|
|
int i = 0;
|
|
|
|
@ -287,7 +287,7 @@ extern "C" JNIEXPORT jobjectArray JNICALL
|
|
|
|
|
Java_wificar_Yolact_detect(JNIEnv *env, jclass clazz, jobject image) {
|
|
|
|
|
auto result = Yolact::detector->detect_yolact(env, image);
|
|
|
|
|
|
|
|
|
|
auto yolact_mask = env->FindClass("wificar/YolactMask");
|
|
|
|
|
auto yolact_mask = env->FindClass("wificar/yolo/YolactMask");
|
|
|
|
|
// auto cid = env->GetMethodID(yolact_mask, "<init>", "(FFFFIF[F[I)V");
|
|
|
|
|
auto cid = env->GetMethodID(yolact_mask, "<init>", "(FFFFIF[F[C)V");
|
|
|
|
|
jobjectArray ret = env->NewObjectArray(result.size(), yolact_mask, nullptr);
|
|
|
|
@ -583,7 +583,7 @@ Java_wificar_DBFace_detect(JNIEnv *env, jclass clazz, jobject image, jdouble thr
|
|
|
|
|
auto result = DBFace::detector->detect(env, image, threshold, nms_threshold);
|
|
|
|
|
// LOGD("jni dbface size:%d %f %f", result.size(), threshold, nms_threshold);
|
|
|
|
|
|
|
|
|
|
auto box_cls = env->FindClass("wificar/KeyPoint");
|
|
|
|
|
auto box_cls = env->FindClass("wificar/yolo/KeyPoint");
|
|
|
|
|
auto cid = env->GetMethodID(box_cls, "<init>", "([F[FFFFFF)V");
|
|
|
|
|
jobjectArray ret = env->NewObjectArray(result.size(), box_cls, nullptr);
|
|
|
|
|
int i = 0;
|
|
|
|
@ -631,7 +631,7 @@ extern "C" JNIEXPORT jobjectArray JNICALL
|
|
|
|
|
Java_wificar_LightOpenPose_detect(JNIEnv *env, jclass clazz, jobject image) {
|
|
|
|
|
auto poses = LightOpenPose::detector->detect(env, image);
|
|
|
|
|
|
|
|
|
|
auto box_cls = env->FindClass("wificar/OpenPoseKeyPoint");
|
|
|
|
|
auto box_cls = env->FindClass("wificar/yolo/OpenPoseKeyPoint");
|
|
|
|
|
auto cid = env->GetMethodID(box_cls, "<init>", "([F[FF)V");
|
|
|
|
|
jobjectArray ret = env->NewObjectArray(poses.size(), box_cls, nullptr);
|
|
|
|
|
int i = 0;
|
|
|
|
|