OpenCV para programas de ejemplo de Android que muestran error
He descargado el proyecto de OpenCV para android y los proyectos de ejemplo que viene incluido con él contiene varios errores …. Sólo los proyectos que contienen el código NDK tiene los errores …. El problema es que el código C ++ muestra muchos errores .. Las palabras clave como jstring no son reconocidas .. Por favor, ayúdame a resolver este problema … Agradeciendo de antemano por su valioso tiempo
#include <jni.h> #include <opencv2/core/core.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/features2d/features2d.hpp> #include <vector> using namespace std; using namespace cv; extern "C" { JNIEXPORT void JNICALL Java_org_opencv_samples_tutorial3_Sample3View_FindFeatures(JNIEnv* env, jobject, jint width, jint height, jbyteArray yuv, jintArray bgra) { jbyte* _yuv = env->GetByteArrayElements(yuv, 0); jint* _bgra = env->GetIntArrayElements(bgra, 0); Mat myuv(height + height/2, width, CV_8UC1, (unsigned char *)_yuv); Mat mbgra(height, width, CV_8UC4, (unsigned char *)_bgra); Mat mgray(height, width, CV_8UC1, (unsigned char *)_yuv); //Please make attention about BGRA byte order //ARGB stored in java as int array becomes BGRA at native level cvtColor(myuv, mbgra, CV_YUV420sp2BGR, 4); vector<KeyPoint> v; FastFeatureDetector detector(50); detector.detect(mgray, v); for( size_t i = 0; i < v.size(); i++ ) circle(mbgra, Point(v[i].pt.x, v[i].pt.y), 10, Scalar(0,0,255,255)); env->ReleaseIntArrayElements(bgra, _bgra, 0); env->ReleaseByteArrayElements(yuv, _yuv, 0); } }
Errores
- Cómo agregar punto a MatOfPoint2f?
- Detecta el movimiento de una persona e identifica sus partes del cuerpo moviéndose hacia la cámara en Android
- CUDA con opencv para Android
- TemplateMatching mattoBitmap opencv para android
- Android Yuv420sp a ARGB en OpenCV
Unresolved inclusion: <vector> Symbol 'std' could not be resolved
- Dilatación y erosión en Android
- Android "No hay tal archivo o directorio" error?
- Error OpenCV: No se puede cargar la biblioteca de información para OpenCV
- C ++ OpenCV imread no funciona en Android
- Números digitales en Tesseract OCR
- Error: no se puede encontrar la variable de símbolo GL_TEXTURE_EXTERNAL_OES + OpenCV en Android Studio
- No se puede obtener el warpPerspective de OpenCV para trabajar en Android
- No se encontró ninguna implementación para error largo de org.opencv.core.Mat.n_Mat () con OpenCV
@ La respuesta de Nolan seguido de @ comentario de Michael lo resolvió para mí. Aquí están los pasos combinados:
- En Eclipse, haga clic derecho en su proyecto y seleccione propiedades (Esto está en un mac btw)
- Expanda C / C ++ General
- Seleccionar trazados y símbolos
- En Idiomas seleccione GNU C ++
-
Los siguientes componentes deben definirse bajo Incluir directorios
${NDKROOT}/platforms/android-9/arch-arm/usr/include ${ProjDirPath}/../../sdk/native/jni/include ${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.4.3/libs/armeabi-v7a/include ${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.4.3/include
-
Asegúrese de que $ {NDKROOT} se define como una variable de entorno. Si no es seguir adelante y agregarlo en C / C ++ Build – Environment
- Ahora continúe y reconstruya el índice haciendo clic derecho en su proyecto y seleccione Index – Rebuild
Aclamaciones.
Tuve el mismo problema y fue capaz de resolver estos y otros errores encontrados al seguir el tutorial OpenCV mediante el uso de las siguientes rutas de acceso:
${NDKROOT}/platforms/android-9/arch-arm/usr/include ${ProjDirPath}/../../sdk/native/jni/include ${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.4.3/libs/armeabi-v7a/include ${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.4.3/include
- Android: servicio destruido cuando se gira la pantalla
- ¿Cuál es el valor negativo para el ancho o la altura?