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