Ask Your Question

ryan0270's profile - activity

2013-12-07 19:57:17 -0600 commented answer OpenCV-android 2.4.7.1 linker error: undefined reference to 'typeinfo'

I am also using GNU STL static.

Unfortunately, I'm using c++11x features so can't go back to gcc 4.6. Which version gcc was 2.4.7 built with?

2013-12-05 22:36:38 -0600 asked a question OpenCV-android 2.4.7.1 linker error: undefined reference to 'typeinfo'

Building an ndk-based project for android and I get a bunch of linker errors such as

OpenCV-2.4.7.1-android-sdk/sdk/native/libs/armeabi-v7a/libopencv_flann.a(miniflann.cpp.o):miniflann.cpp:function cvflann::anyimpl::typed_base_any_policy<double>::type(): error: undefined reference to 'typeinfo for double'

All the errors are of the same type and within flann. I'm using ndk r9b with gcc-4.8. Also, I don't have this problem with 2.4.7. What changed in 2.4.7.1 that might cause this?

2013-03-31 23:07:13 -0600 received badge  Supporter (source)
2013-03-28 22:26:40 -0600 asked a question Using usb camera in android

I would like to connect a usb camera (e.g. Point Gray Firefly) to my phone for image processing. The phone supports usb on-the-go so that part is covered, but I'm not sure how to actually get the images since vendors don't have android drivers out.

Does anyone know if the opencv camera wrapper libraries are able to do this?

2012-12-09 02:52:57 -0600 asked a question Correct OpenCV Manager usage for NDK apps

I'm updating an Android application from OpenCV-2.4.1 to the latest (OpenCV-2.4.3) and, of course, the most significant change is using the new OpenCV Manager. Following the examples, I can get the manager started but the only library it loads is opencv_java.

For the NDK side of my app I need it to also load several other libraries (e.g. core, imgproc, ...) but I can't figure out how to get the manager to load those libraries. I can manually copy those libs over by putting them in my libs/armeabi-v7a folder, but that kind of defeats the purpose.

Looking at the logcat output I see:

D/OpenCVEngine( 7275): Trying to load info library "/data/data/org.opencv.engine/lib/libopencv_info.so"
D/OpenCVManager/Helper( 7251): Library list: ""
D/OpenCVManager/Helper( 7251): First attempt to load libs
D/OpenCVManager/Helper( 7251): Trying to init OpenCV libs
D/OpenCVManager/Helper( 7251): Trying to load library /data/data/org.opencv.engine/lib/libopencv_java.so
D/OpenCVManager/Helper( 7251): OpenCV libs init was ok!

Which suggests that the library list is somehow contained in the opencv_info library. But that's automatically generated when building OpenCV so I'm not sure how I'm supposed to tell the manager what native libraries I need it to load.

Also, I'm confused as to when the manager is actually loaded. Following the examples, I put

!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback))

in the java onResume() function. This returns true immediately, but the libraries don't seem to actually load until sometime after the onResume() function ends; I confirmed this by putting log outputs inside the onManagerConnected() callback. How do I make things start sooner than that so I can initialize my own stuff in onResume()?