Closed Vishvarajs closed 6 years ago
@Vishvarajs What you said is correct, the OpenCL lib was not found. Did you copy the file from your phone to the development machine ? The last time I remember, the lib file is available on the phone and it needs to be copied to the development machine for successful cross compilation.
Note: We haven't tested latest(3.6.1) ArrayFire with Android SDK in a while. Java wrapper hasn't been worked on in a while and android support is kind of dependent on that.
Hi
It worked now , it because of lib compile with default tool chain. Thank you very much for sample code. I am trying to implement 360 image Stichting in Opencl for learning purpose. Can you have any idea about that. Please guide me on that.
Once again thank you for all effort.
Thank you,, Vishvarajsinh Jadeja
On Mon 13 Aug, 2018, 9:33 AM pradeep, notifications@github.com wrote:
@Vishvarajs https://github.com/Vishvarajs What you said is correct, the OpenCL lib was not found. Did you copy the file from your phone to your development machine ? The last time I remember, the lib file is available is on the phone and it needs to be copies back to development machine for successful cross compilation.
Note: We haven't tested latest(3.6.1) ArrayFire with Android SDK in a while. Java wrapper hasn't been worked on in a while and android support is kind of dependent on that.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/arrayfire/androidcl/issues/3#issuecomment-412403287, or mute the thread https://github.com/notifications/unsubscribe-auth/AoWhTVADtO3iVIorrBWDH2cgjnyMH8vOks5uQPqmgaJpZM4V5bvi .
Glad you figured it out. I don't think I got your question. Are you asking suggestions for materials on image stitching ? or ArrayFire examples for image stitching ?
Hi, Good morning
It is better if any example for image stitching available.in case if there no example available than can you suggest good material or algorithm available.
Thank you, Vishvaraj
On Sun 26 Aug, 2018, 9:15 PM pradeep, notifications@github.com wrote:
Glad you figured it out. I don't think I got your question. Are you asking suggestions for materials on image stitching ? or ArrayFire examples for image stitching ?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/arrayfire/androidcl/issues/3#issuecomment-416048128, or mute the thread https://github.com/notifications/unsubscribe-auth/AoWhTRYjBGcvlcXIdCEfTj6LRoEQsKnuks5uUsKwgaJpZM4V5bvi .
@Vishvarajs The functionality provided by ArrayFire are more like fundamental blocks that have to be used to design more complex algorithms. Having said that, we do provide complex functions some times based on demand by users.
At the moment, we don't have any built-in functions that stitch two images. However, you might be able to do this using a combination of JIT and indexing operations. Whether the a given stitch algorithm can be implemented on top of ArrayFire is entirely dependent on the steps involved in the algorithm.
The answer to your question is What kind of images are you trying to stitch together ?
I am closing the issue as the original question had been addressed. You can ask more questions on our arrayfire-org slack community.
Thank you, I will check information provided by you. Once again thank for help me . I Wii get back in case of any query
On Mon 27 Aug, 2018, 9:21 AM pradeep, notifications@github.com wrote:
@Vishvarajs https://github.com/Vishvarajs The functionality provided by ArrayFire are more like fundamental blocks that have to be used to design more complex algorithms. Having said that, we do provide complex functions some times based on demand by users.
At the moment, we don't have any built-in functions that stitch two images. However, you might be able to do this using a combination of JIT and indexing operations. Whether the a given stitch algorithm can be implemented on top of ArrayFire is entirely dependent on the steps involved in the algorithm.
The answer to your question is What kind of images are you trying to stitch together ?
- Panorama stitching - this is something that can be done using ArrayFire I think because it involves using feature detection functions such as homography etc.. Given below are some blog posts regarding this type of stitching.
- I personally have only implemented one type of stitching, Coordinates for Instant Image Cloning http://www.cs.huji.ac.il/%7Edanix/mvclone/files/mvc-final-opt.pdf which is very good indeed for the said purpose. My implementation was not based on ArrayFire though. In fact, it didn't use any CUDA/OpenCL at all. I believe this is an example of stitching that can't be done using stock functionality of ArrayFire because it involves some computations that I believe cannot be done using ArrayFire.
I am closing the issue as the original question had been addressed. You can ask more questions on our arrayfire-org slack community https://join.slack.com/t/arrayfire-org/shared_invite/MjI4MjIzMDMzMTczLTE1MDI5ODg4NzYtN2QwNGE3ODA5OQ .
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/arrayfire/androidcl/issues/3#issuecomment-416106867, or mute the thread https://github.com/notifications/unsubscribe-auth/AoWhTXZF51RDnCU3R7kVzX4c_CO3Dyreks5uU2zKgaJpZM4V5bvi .
we try to build saple code but we get below error
./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function(unsigned int, int)':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:2553: undefined reference to >::retain(_cl_mem)':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:1106: undefined reference to (unsigned int, cl::Buffer)':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:2553: undefined reference to >::release(_cl_mem)':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:1108: undefined reference to (unsigned int, cl::Buffer)':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:2553: undefined reference to >::release(_cl_mem)':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:1108: undefined reference to > const , cl::Event) const':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:3256: undefined reference to (unsigned int, int)':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:2553: undefined reference to >::retain(_cl_mem)':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:1106: undefined reference to (unsigned int, cl::Buffer)':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:2553: undefined reference to >::release(_cl_mem)':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:1108: undefined reference to (unsigned int, cl::Buffer)':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:2553: undefined reference to >::release(_cl_mem)':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:1108: undefined reference to > const , cl::Event) const':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:3256: undefined reference to > const, cl::Event) const':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:2859: undefined reference to > >(int ()(_cl_context, unsigned int, unsigned long, void, unsigned long), _cl_context const&, unsigned int, std::ndk1::vector<cl::Device, std::ndk1::allocator > )':
/home/einfochips/androidcl/jni/include/CL/cl.hpp:1046: undefined reference to
cb(_cl_program*, void*)': /home/einfochips/androidcl/jni/processor.cpp:59: undefined reference to
clRetainProgram' /home/einfochips/androidcl/jni/processor.cpp:61: undefined reference toclGetProgramInfo' /home/einfochips/androidcl/jni/processor.cpp:63: undefined reference to
clGetProgramBuildInfo' /home/einfochips/androidcl/jni/processor.cpp:64: undefined reference toclReleaseProgram' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::detail::ReferenceHandler<_cl_context>::release(_cl_context)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1090: undefined reference toclReleaseContext' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::detail::ReferenceHandler<_cl_command_queue>::release(_cl_command_queue)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1099: undefined reference toclReleaseCommandQueue' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::detail::ReferenceHandler<_cl_kernel>::release(_cl_kernel)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1135: undefined reference toclReleaseKernel' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::Program::Program(cl::Context const&, std::ndk1::vector<std::ndk1::pair<char const, unsigned long>, std::ndk1::allocator<std::ndk1::pair<char const, unsigned long> > > const&, int)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:2603: undefined reference toclCreateProgramWithSource' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::detail::ReferenceHandler<_cl_program>::release(_cl_program)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1126: undefined reference toclReleaseProgram' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::Buffer::Buffer(cl::Context const&, unsigned long, unsigned long, void, int)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1855: undefined reference toclCreateBuffer' /home/einfochips/androidcl/jni/include/CL/cl.hpp:1855: undefined reference to
clCreateBuffer' /home/einfochips/androidcl/jni/include/CL/cl.hpp:1855: undefined reference toclCreateBuffer' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
int cl::Kernel::setArgclSetKernelArg' /home/einfochips/androidcl/jni/include/CL/cl.hpp:2553: undefined reference to
clSetKernelArg' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function `cl::detail::ReferenceHandler<_cl_memclRetainMemObject' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
int cl::Kernel::setArgclSetKernelArg' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::detail::ReferenceHandler<_cl_memclReleaseMemObject' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::detail::ReferenceHandler<_cl_mem>::retain(_cl_mem)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1106: undefined reference toclRetainMemObject' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
int cl::Kernel::setArgclSetKernelArg' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::detail::ReferenceHandler<_cl_memclReleaseMemObject' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::CommandQueue::enqueueNDRangeKernel(cl::Kernel const&, cl::NDRange const&, cl::NDRange const&, cl::NDRange const&, std::ndk1::vector<cl::Event, std::ndk1::allocatorclEnqueueNDRangeKernel' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
int cl::Kernel::setArgclSetKernelArg' /home/einfochips/androidcl/jni/include/CL/cl.hpp:2553: undefined reference to
clSetKernelArg' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function `cl::detail::ReferenceHandler<_cl_memclRetainMemObject' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
int cl::Kernel::setArgclSetKernelArg' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::detail::ReferenceHandler<_cl_memclReleaseMemObject' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::detail::ReferenceHandler<_cl_mem>::retain(_cl_mem)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1106: undefined reference toclRetainMemObject' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
int cl::Kernel::setArgclSetKernelArg' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::detail::ReferenceHandler<_cl_memclReleaseMemObject' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::CommandQueue::enqueueNDRangeKernel(cl::Kernel const&, cl::NDRange const&, cl::NDRange const&, cl::NDRange const&, std::ndk1::vector<cl::Event, std::ndk1::allocatorclEnqueueNDRangeKernel' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::CommandQueue::enqueueReadBuffer(cl::Buffer const&, unsigned int, unsigned long, unsigned long, void, std::ndk1::vector<cl::Event, std::ndk1::allocatorclEnqueueReadBuffer' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::detail::ReferenceHandler<_cl_mem>::release(_cl_mem)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1108: undefined reference toclReleaseMemObject' /home/einfochips/androidcl/jni/include/CL/cl.hpp:1108: undefined reference to
clReleaseMemObject' /home/einfochips/androidcl/jni/include/CL/cl.hpp:1108: undefined reference toclReleaseMemObject' /home/einfochips/androidcl/jni/include/CL/cl.hpp:1108: undefined reference to
clReleaseMemObject' /home/einfochips/androidcl/jni/include/CL/cl.hpp:1108: undefined reference toclReleaseMemObject' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o:/home/einfochips/androidcl/jni/include/CL/cl.hpp:1108: more undefined references to
clReleaseMemObject' follow ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In functioncl::Platform::get(std::__ndk1::vector<cl::Platform, std::__ndk1::allocator<cl::Platform> >*)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1473: undefined reference to
clGetPlatformIDs' /home/einfochips/androidcl/jni/include/CL/cl.hpp:1480: undefined reference toclGetPlatformIDs' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::Context::Context(unsigned long, long, void ()(char const, void const, unsigned long, void), void, int)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1535: undefined reference toclCreateContextFromType' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::detail::ReferenceHandler<_cl_context>::release(_cl_context)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1090: undefined reference toclReleaseContext' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::detail::ReferenceHandler<_cl_context>::retain(_cl_context)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1088: undefined reference toclRetainContext' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
cl::detail::ReferenceHandler<_cl_context>::release(_cl_context)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1090: undefined reference toclReleaseContext' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In function
int cl::detail::getInfo<int ()(_cl_context, unsigned int, unsigned long, void, unsigned long), _cl_context, std::ndk1::vector<cl::Device, std::ndk1::allocatorclGetContextInfo' /home/einfochips/androidcl/jni/include/CL/cl.hpp:1046: undefined reference to
clGetContextInfo' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In functioncl::CommandQueue::CommandQueue(cl::Context const&, cl::Device const&, unsigned long, int*)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:2792: undefined reference to
clCreateCommandQueue' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In functioncl::detail::ReferenceHandler<_cl_command_queue*>::release(_cl_command_queue*)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1099: undefined reference to
clReleaseCommandQueue' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In functioncl::detail::ReferenceHandler<_cl_command_queue*>::retain(_cl_command_queue*)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1097: undefined reference to
clRetainCommandQueue' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In functioncl::detail::ReferenceHandler<_cl_command_queue*>::release(_cl_command_queue*)': /home/einfochips/androidcl/jni/include/CL/cl.hpp:1099: undefined reference to
clReleaseCommandQueue' ./obj/local/arm64-v8a/objs/JNIProcessor/processor.o: In functioncl::Program::build(std::__ndk1::vector<cl::Device, std::__ndk1::allocator<cl::Device> > const&, char const*, void (*)(_cl_program*, void*), void*) const': /home/einfochips/androidcl/jni/include/CL/cl.hpp:2676: undefined reference to
clBuildProgram'It look like CL lib did n't' link properly .
Please guide us if we miss something on above issue.