Ask Your Question

trianta2's profile - activity

2014-10-23 13:42:31 -0600 asked a question HDR Imaging & GPU

I'm currently using Exposure Fusion, specifically MergeMertens :

http://docs.opencv.org/trunk/modules/photo/doc/hdr_imaging.html

However it's quite computationally expensive. I would like to utilize my Intel-based GPU to hopefully speed up computation. I assume this means I need to use OpenCL.

I've never used OpenCV in conjunction with a GPU before. Can I use all existing algorithms with GPU Mats? Or can I only use GPU-specific algorithms? Or in other words, can I still use the Exposure Fusion methods with GPU Mats?

2014-10-08 12:31:36 -0600 received badge  Student (source)
2014-01-21 08:57:58 -0600 received badge  Supporter (source)
2013-12-18 11:02:35 -0600 received badge  Scholar (source)
2013-12-17 13:31:31 -0600 received badge  Editor (source)
2013-12-17 13:05:02 -0600 asked a question How To Safely Use OpenCV 2.4.7 and OpenCV 3.0.0 In Same Project?

Language: C++
OS : Linux (Ubuntu)

Hi Everyone,

I'm developing a program where I need to use both OpenCV 2.4.7 and OpenCV 3.0.0 in the same project. I need OpenCV 2.4.7 due to legacy dependencies that a framework I'm using has, and I need OpenCV 3.0.0 for the HDR fusion library. There is no way that I can split the framework and the HDR fusion class/library apart into separate projects.

I've been having problems using both libraries together, as one would expect. At first, OpenCV 3.0.0's header files were actually pointing at OpenCV 2.4.7's header files. I fixed this by appending a "_" character on the OpenCV 3.0.0 folder, so now I can differentiate 2.4.7 from 3.0.0 by using #include <opencv2/...> vs. #include <opencv2_/>, respectively.

I have a new problem that I'm not sure how to solve. When I try to compile my code, I get errors about undeclared variables and such. I believe that there is a namespace conflict, and/or perhaps I've entered DLL hell.

/usr/local/include/opencv2_/imgproc.hpp:637: error: 'BORDER_REPLICATE' was not declared in this scope

/usr/local/include/opencv2_/imgproc.hpp:988: error: 'BORDER_DEFAULT' was not declared in this scope

/usr/local/include/opencv2_/imgproc.hpp:1049: error: 'BORDER_CONSTANT' was not declared in this scope

Note that I have successfully compiled and run a test project that only uses the HDR library in OpenCV 3.0.0, so I know that it works standalone.

Has anyone been able to successfully use different versions of OpenCV in the same project? If so I'd really appreciate hearing about it.