mirror of
https://github.com/opencv/opencv.git
synced 2026-01-19 00:07:42 +08:00
70 lines
3.2 KiB
JSON
70 lines
3.2 KiB
JSON
{
|
|
"ManualFuncs" : {
|
|
"QRCodeEncoder" : {
|
|
"QRCodeEncoder" : {
|
|
"j_code" : [
|
|
"\n",
|
|
"/** Generates QR code from input string.",
|
|
"@param encoded_info Input bytes to encode.",
|
|
"@param qrcode Generated QR code.",
|
|
"*/",
|
|
"public void encode(byte[] encoded_info, Mat qrcode) {",
|
|
" encode_1(nativeObj, encoded_info, qrcode.nativeObj);",
|
|
"}",
|
|
"\n"
|
|
],
|
|
"jn_code": [
|
|
"\n",
|
|
"private static native void encode_1(long nativeObj, byte[] encoded_info, long qrcode_nativeObj);",
|
|
"\n"
|
|
],
|
|
"cpp_code": [
|
|
"//",
|
|
"// void cv::QRCodeEncoder::encode(String encoded_info, Mat& qrcode)",
|
|
"//",
|
|
"\n",
|
|
"JNIEXPORT void JNICALL Java_org_opencv_objdetect_QRCodeEncoder_encode_11 (JNIEnv*, jclass, jlong, jbyteArray, jlong);",
|
|
"\n",
|
|
"JNIEXPORT void JNICALL Java_org_opencv_objdetect_QRCodeEncoder_encode_11",
|
|
"(JNIEnv* env, jclass , jlong self, jbyteArray encoded_info, jlong qrcode_nativeObj)",
|
|
"{",
|
|
"",
|
|
" static const char method_name[] = \"objdetect::encode_11()\";",
|
|
" try {",
|
|
" LOGD(\"%s\", method_name);",
|
|
" Ptr<cv::QRCodeEncoder>* me = (Ptr<cv::QRCodeEncoder>*) self; //TODO: check for NULL",
|
|
" const char* n_encoded_info = reinterpret_cast<char*>(env->GetByteArrayElements(encoded_info, NULL));",
|
|
" const jsize n_encoded_info_size = env->GetArrayLength(encoded_info);",
|
|
" Mat& qrcode = *((Mat*)qrcode_nativeObj);",
|
|
" (*me)->encode( std::string(n_encoded_info, n_encoded_info_size), qrcode );",
|
|
" } catch(const std::exception &e) {",
|
|
" throwJavaException(env, &e, method_name);",
|
|
" } catch (...) {",
|
|
" throwJavaException(env, 0, method_name);",
|
|
" }",
|
|
"}",
|
|
"\n"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"type_dict": {
|
|
"NativeByteArray": {
|
|
"j_type" : "byte[]",
|
|
"jn_type": "byte[]",
|
|
"jni_type": "jbyteArray",
|
|
"jni_name": "n_%(n)s",
|
|
"jni_var": "jbyteArray n_%(n)s = env->NewByteArray(static_cast<jsize>(%(n)s.size())); env->SetByteArrayRegion(n_%(n)s, 0, static_cast<jsize>(%(n)s.size()), reinterpret_cast<const jbyte*>(%(n)s.c_str()));",
|
|
"cast_from": "std::string"
|
|
},
|
|
"vector_NativeByteArray": {
|
|
"j_type": "List<byte[]>",
|
|
"jn_type": "List<byte[]>",
|
|
"jni_type": "jobject",
|
|
"jni_var": "std::vector< std::string > %(n)s",
|
|
"suffix": "Ljava_util_List",
|
|
"v_type": "vector_NativeByteArray"
|
|
}
|
|
}
|
|
}
|