C++ HOG opencv ocl模块上的分段故障

C++ HOG opencv ocl模块上的分段故障,c++,opencv,opencl,C++,Opencv,Opencl,我对ocl模块中HOG算法的opencv实现有问题。 问题不在于检测器的输出,而在于主方法的返回。也就是说,我可以编译和运行应用程序并获得结果,但当应用程序存在时,它会因分段错误而崩溃。 我使用的是用mingw编译的opencv版本2.4.8,但这个问题在其他opencv版本上仍然存在 下面是一个简单的代码示例,它给出了报告的问题: int main() { cv::ocl::DevicesInfo devices; cv::ocl::getOpenCLDevices(devic

我对ocl模块中HOG算法的opencv实现有问题。 问题不在于检测器的输出,而在于主方法的返回。也就是说,我可以编译和运行应用程序并获得结果,但当应用程序存在时,它会因分段错误而崩溃。 我使用的是用mingw编译的opencv版本2.4.8,但这个问题在其他opencv版本上仍然存在

下面是一个简单的代码示例,它给出了报告的问题:

int main()
{
    cv::ocl::DevicesInfo devices;
    cv::ocl::getOpenCLDevices(devices);
    cv::ocl::setDevice(devices[0]);

    cv::ocl::HOGDescriptor desc;
    desc.setSVMDetector(cv::ocl::HOGDescriptor::getDefaultPeopleDetector());

    cv::Mat t_img = cv::imread("view.png");

    std::vector<cv::Rect> hoghypothesis;

    cv::ocl::oclMat cleanImgGpu;
    cv::cvtColor(t_img, t_img, CV_BGR2BGRA);
    cleanImgGpu.upload(t_img);
    desc.detectMultiScale(cleanImgGpu, hoghypothesis, 0.09, cv::Size(8,8), cv::Size(0,0), 1.2, 0.0);

    for(unsigned int pl = 0; pl < hoghypothesis.size(); pl++)
        cv::rectangle(t_img, hoghypothesis.at(pl), cv::Scalar(255,255,255),2);


    cv::resize(t_img, t_img, cv::Size(1366,768));

    cv::namedWindow("origFrame",1);
    cv::imshow("origFrame", t_img);
    cv::waitKey(0);
    cv::destroyAllWindows();

    return 0;
}

在调试模式下,它只给我一个SIGSEGV信号。这甚至不是一个异常,所以我无法尝试/捕获它。

请在启用调试标志的情况下编译程序。然后运行它。当它崩溃时,请剪切stacktrace并将其粘贴到您的问题中。这将有助于人们识别你的问题。
Problem signature:
  Problem Event Name:   APPCRASH
  Application Name: OpenCLTests.exe
  Application Version:  0.0.0.0
  Application Timestamp:    00000000
  Fault Module Name:    ntdll.dll
  Fault Module Version: 6.1.7601.18229
  Fault Module Timestamp:   51fb164a
  Exception Code:   c0000005
  Exception Offset: 0000000000019a8a
  OS Version:   6.1.7601.2.1.0.256.48
  Locale ID:    2070
  Additional Information 1: 9646
  Additional Information 2: 9646f69d7d90104bc2f332551ea877c7
  Additional Information 3: 0f02
  Additional Information 4: 0f02418e0eb39adff911c83cce610af7