Access violation in ClEyeMulticam.dll with OpenCV gpu module.
Posted: 06 February 2013 07:28 PM   [ Ignore ]
New Member
Rank
Total Posts:  1
Joined  2012-02-25

I’m working with stereo images captured from two ps eyes. I can work with ClEyeMulticam.dll and the OpenCV 2.4.3 CPU algorithms perfectly but when i use the GPU version of the BMStereo algorithm the program crashes before executing the main() method and I get: Unhandled exception at 0x776e15ee in PSStereo.exe: 0xC0000005: Access violation.

this is an example code of the problem:

#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/gpu/gpu.hpp>

#include "CLEyeMulticam.h"

using namespace std;
using namespace cv;
using namespace cv::gpu;

int main(int argccharargv[])
{
    
try
    
{        
        
/*use CLEyeMulticam.dll*/ cout<< "Eye Cameras: " << CLEyeGetCameraCount() << endl

        
Mat imgR(200,200CV_8UScalar(150));
        
Mat imgL(200,200CV_8UScalar(100));
        
Mat result(200,200CV_8UScalar(50));

        
//-----------------------Work with gpu--------------------------------
        //Set device
        
cout <<    "Devices: " << getCudaEnabledDeviceCount()<<endl;
        
setDevice(0);

        
//Prepare algorithm...
        
StereoBM_GPU bm;
        
v::gpu::GpuMat gpuLgpuRdisp;

        
//Upload, work and download...
        
gpuL.upload(imgL);
        
gpuR.upload(imgR);        
        
bm(gpuL,gpuR,disp); 
        
disp.download(result);       

        
//------------------------------------------------------------------------

        //Show results...
        
cv::imshow("Result"result);
        
cout << "All ok...";
        
cv::waitKey();
    
}
    
catch(const cv::Exceptionex)
    
{
        std
::cout << "Error: " << ex.what() << std::endl;
    
}    
    cv
::waitKey();
    return 
0;

It works well if i comment the CLEyeGetCameraCount() method, it also works well if i comment the section of the gpu work, but when the two sections work together it crashes on execution time before entering the main method…

Call Stack:

>  ntdll.dll!776e15ee()   
    [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] 
    ntdll.dll!776e15ee()   
    ntdll.dll!776d015e()   
    ntdll.dll!776e003a()   
    snxhk.dll!750c8a36()   
    CLEyeMulticam.dll!002bf47d()   
    CLEyeMulticam.dll!002bf54d()   
    ntdll.dll!776f9930()   
    ntdll.dll!776fd8a9()   
    ntdll.dll!776fdf87()   
    ntdll.dll!77712120()   
    ntdll.dll!776f9e59()   

Disassembly:

776E15CB lea       edx,[esp+4] 
776E15CF call     dword ptr fs:[0C0h] 
776E15D6 add       esp,4
776E15D9 ret       18h
776E15DC mov       eax,12Fh
776E15E1 xor       ecx,ecx
776E15E3 lea       edx,[esp+4] 
776E15E7 call     dword ptr fs:[0C0h] 
776E15EE add       esp,4
776E15F1 ret       0Ch
776E15F4 mov       eax,130h
776E15F9 xor       ecx,ecx
776E15FB lea       edx,[esp+4] 
776E15FF call     dword ptr fs:[0C0h] 
776E1606 add       esp,4
776E1609 ret       18h

My setup: Windows 7 SP1, VS2010 sp1 x64, NVIDIA GeForce GTX 560, OpenCV 2.4.3, CL-Eye-Platform-SDK-1.6.4.0028, Driver-5.3.0.0341, two pseyes (not activated)

Please it would be great that you fix this or at least give me a workaround as soon as posible…..

Profile
 
 
 
 


RSS 2.0     Atom Feed