Ask Your Question

ubehagelig's profile - activity

2019-04-18 06:04:51 -0500 received badge  Nice Answer (source)
2019-04-02 14:36:06 -0500 received badge  Notable Question (source)
2017-07-24 16:53:43 -0500 received badge  Notable Question (source)
2017-02-17 09:39:04 -0500 received badge  Famous Question (source)
2016-12-19 15:57:01 -0500 received badge  Nice Question (source)
2016-08-24 00:31:13 -0500 received badge  Popular Question (source)
2016-07-01 02:32:46 -0500 received badge  Notable Question (source)
2016-02-26 11:57:35 -0500 received badge  Popular Question (source)
2015-09-01 07:06:42 -0500 commented answer OpenCV 3.0: How to determine which GPU is used for OpenCL?

xuefeihumei, could you add code tags around the code, please? It makes it a lot easier to view for the rest of us :) If I understand correctly you can't get it to use the GT 740M, correct? Even if you change it to cv::ocl::Device::TYPE_DGPU, correct?

2015-07-09 04:35:34 -0500 commented answer AAM OpenCV C++

@MRDaniel did you ever release your own updated version?

2015-07-09 03:36:28 -0500 commented answer OpenCV 3.0: How to determine which GPU is used for OpenCL?

If neither your CPU or GPU supports OpenCL 1.2 I don't think you will find any answers that will make things work for you :) I think the only solution is an OpenCL 1.2 compatible GPU. But do let me know if you find anything interesting and worth sharing in all your "digging" :D

2015-07-08 02:49:56 -0500 commented question getCudaEnabledDeviceCount return 0

Which GPU do you have? I remember having a lot of problems getting CUDA to work the last time I used it. Check out my old thread and solution. It may help you with setting up CUDA.

2015-07-08 02:44:18 -0500 commented answer OpenCV 3.0: How to determine which GPU is used for OpenCL?

I am not certain. Or rather: I haven't looked further into things after I found and ran the code I have posted here. I don't know about the type definitions or whether the mapping you have suggested is correct or not. What I am left thinking is: If your CPU and your GPU doesn't support OpenCL 1.2 isn't your troubleshooting over there? Isn't it "just" a case of getting your hands on a OpenCL 1.2 compatible GPU to test things out? :)

2015-07-03 08:02:35 -0500 commented answer OpenCV 3.0: How to determine which GPU is used for OpenCL?

I am almost 100% certain that a Core 2 Duo CPU does not support OpenCL 1.2, and that OpenCL calculations are exclusively performed by a GPU. Also, the Core 2 Duo range of CPUs do not have a built-in GPU like the later Core i3, i5, and i7 do. Can you borrow a graphics card that supports OpenCL 1.2 and see if this solves your problems?

2015-07-03 07:03:01 -0500 commented answer OpenCV 3.0: How to determine which GPU is used for OpenCL?

Well, in my case I have two GPUs. One is my Geforce GT710M (supports OpenCL 1.1) and the other is the Intel HD4000 (supports OpenCL 1.2) in the CPU. The only GPU it "sees" when I run the code is my Intel HD4000. I am thinking that in your case you don't have a GPU that supports OpenCL 1.2. Which CPU do you have?

2015-07-02 05:35:15 -0500 commented answer OpenCV 3.0: How to determine which GPU is used for OpenCL?

Which CPU and GPU are you using, JohannesZ?

2015-06-18 03:32:47 -0500 received badge  Enthusiast
2015-06-17 05:37:31 -0500 commented answer OpenCV 3.0: How to determine which GPU is used for OpenCL?

I am using 3.0.

2015-06-17 03:59:33 -0500 commented answer OpenCV 3.0: How to determine which GPU is used for OpenCL?

Nope, I didn't fiddle with OPENCV_OPENCL_DEVICE. I am curious, so please return and let us know if you got it to work :)

2015-06-16 08:24:29 -0500 received badge  Self-Learner (source)
2015-06-16 06:03:42 -0500 answered a question openCV 3.0 beta and OpenCL setDevice

I think I may have found the solution. Check out my answer here:

2015-06-16 05:43:28 -0500 answered a question OpenCV 3.0: How to determine which GPU is used for OpenCL?

OK, so I thought I should answer this for others who might want to change which GPU is doing the calculations.

I found the code below here

    if (!cv::ocl::haveOpenCL())
    cout << "OpenCL is not available..." << endl;

cv::ocl::Context context;
if (!context.create(cv::ocl::Device::TYPE_GPU))
    cout << "Failed creating the context..." << endl;

cout << context.ndevices() << " GPU devices are detected." << endl; //This bit provides an overview of the OpenCL devices you have in your computer
for (int i = 0; i < context.ndevices(); i++)
    cv::ocl::Device device = context.device(i);
    cout << "name:              " << << endl;
    cout << "available:         " << device.available() << endl;
    cout << "imageSupport:      " << device.imageSupport() << endl;
    cout << "OpenCL_C_Version:  " << device.OpenCL_C_Version() << endl;
    cout << endl;

cv::ocl::Device(context.device(0)); //Here is where you change which GPU to use (e.g. 0 or 1)

In the end I found that in my case the GT 710M in my laptop only supports OpenCL 1.1, and it seems OpenCL 1.2 and above is required. So I could not "force" it to use the 710M instead of the HD4000.

2015-05-27 06:47:44 -0500 commented question OpenCV 3.0: How to determine which GPU is used for OpenCL?

Thank you. GPU-Z was a great idea. I can see that it's the Intel HD 4000 that is doing the work. I followed the link, but there was no solution for specifying which GPU should be prefered over the other (I would really like the GT710M to do the calculations). Any other suggestions are appreciated!

2015-05-27 06:17:19 -0500 commented question openCV 3.0 beta and OpenCL setDevice

Hi JohannesZ. Did you solve this? I am trying to figure out how to force either the Intel HD 4000 GPU or the nVidia GT710M to do the OpenCL calculations. Check my thread:

Thank you in advance! :)

2015-05-26 10:12:42 -0500 asked a question OpenCV 3.0: How to determine which GPU is used for OpenCL?


I ran the ufacedetect.cpp code from the sample folder, and it ran with ~10 FPS. This made me curious to learn:

  • Is it running on the Intel HD 2500 or the nVidia GT 710M in my laptop?

So, how do I determine which GPU is being used? And how do I force either one of the two (Intel or nVidia)?

I have looked through the documentation, but I haven't been able to find an answer. Any help is appreciated!

2015-05-26 10:12:41 -0500 answered a question Combining multiple webcam feeds to one large via stitching

I ended up getting this to almost work. The problem is that it only works in an environment where:

  1. The floor has unique features. So, it will likely work on e.g. a wooden floor where there are many unique features, but not on e.g. a linoleum floor where the pattern is non-existing or uniform.
  2. There is nothing placed on the floor. This requires a bit of explaining: Let's say there is a chair on the floor, and both Cam1 and Cam2 can "see" this chair. So Cam 1 sees the chair from one angle and Cam2 sees the same chair from a different angle. This means that to Cam1 and Cam2 the same chair looks very different, because they are viewing the chair from different angles. So, when the stitching algorithm is looking for similar features in the image from Cam1 and Cam2 the chair will look very different and the algorithm will not recognize that the chair is the same "object". There may be a way around this, but I didn't find a solution myself.

I don't quite know how to solve this problem other than by creating your own reference points (e.g. by lighting an infrared grid on the floor and checking which of the cameras can "see" this grid OR by having people walk through the scene and have them work as reference points for the camera calibration).

2014-12-09 13:48:39 -0500 marked best answer CUDA on Visual Studio 2010: To build libraries or not?

I am trying to do something really, really simple: Get CUDA to work on Visual Studio 2010 Express.

I have tried SO MANY things now that it is not even funny, and whenever I venture down a new path I eventually end up at a non-working dead-end.

All I want to know is: (A) Do I have to build the libraries with CMake or (B) can I simply use the libraries supplied with "OpenCV-2.4.3.exe"?

If the answer is (A):

  1. Do I have to download the latest version off of GIT repositories or will the files in OpenCV-2.4.3.exe be sufficient?
  2. I followed this guide and to my great joy there were no real errors. I got all the way down to setting up a property sheet. However, when I had to set up VS2010 the .lib files had not been created with a Debug and Release version. So I stopped. And cried. What do I have to do to create both Debug and Release version of the .lib files? What am I doing wrong? Am I really such a bad person? I need a hug :(

If the answer is (B):

  1. Woohoo, great! That means I can say goodbye to CMake and whathaveyou. But how exactly do I set up VS2010 so that GPU code will work on it? What do I have to refer to where? I have followed guides before on how to set up OpenCV, so it's not that I am too lazy to perform a google search. I have just done exactly what the guides say, and "regular" OpenCV works fine. But GPU doesn't. So I am thinking it must be because I am doing something wrong. Anyone with a working VS2010 (or 2008 for that matter) with GPU please share your settings.

Thank you all in advance!

These are my software and hardware credentials (if anyone need them): Windows 7 32-bit, CUDA Toolkit and SDK 4.2, OpenCV 2.4.3, Visual Studio 2010 Express (I have Visual Studio 2008 as well), CMake 2.8.10, nVidia Quadro 1000M with driver 301.27.

EDIT: I got it to work! Check out this thread:

2014-04-17 06:49:15 -0500 received badge  Popular Question (source)
2013-06-01 05:09:23 -0500 received badge  Teacher (source)
2013-05-16 07:30:45 -0500 asked a question Making GPU pyrlk_optical_flow.cpp work on video input

It seems that the pyrlk_optical_flow.cpp sample code (opencv\samples\gpu) only works on two still images.

If so, do any of you know of examples of how to convert the code from still image input to streaming video or webcam input?

Any help is appreciated. Thank you.

2013-03-19 04:08:34 -0500 commented answer Tracking humans with ceiling-mounted downwards-pointing webcams

Thank you! I will look into that. Looking through research papers can sometimes be a bit overwhelming because often I don't know what a particular subject matter is called in more technical terms. For example it took me some time to figure out that the problems I was experiencing with tracking was called "fragmentation" (an object being broken into several blobs) and "grouping" (multiple objects appearing as a single blob). But you are right, research is key :)

2013-03-18 10:40:48 -0500 commented answer Tracking humans with ceiling-mounted downwards-pointing webcams

Sounds quite interesting.

How would you obtain (or define) the head model? Would it be done online or offline?

Could you point me in the direction of more information, examples, OpenCV documentation, etc.?

I still consider myself a somewhat novice in regards to computer vision, and I have little experience with machine learning, so please bear over with me :)