在VS2010上配置支持GPU的OpenCV
问题描述:
我已经尝试过VS2010和VS2008。在尝试使用GPU配置OpenCV的过程中,我单独成功编译了CUDA代码和OpenCV示例代码。 但是,当我在我的CUDA环境中包含OpenCV库时,它不起作用。最新的问题是,当我编译我的示例代码,我得到以下异常:在test.exe的在0x7c812aeb在VS2010上配置支持GPU的OpenCV
第一次机会异常:微软C++ 异常:内存位置的简历::异常0x0011fb18
我的代码是
/*this is the sample code in opencv website*/
#include "iostream.h"
#include "opencv2/opencv.hpp"
#include "opencv2/gpu/gpu.hpp"
int main (int argc, char* argv[])
{
try
{
cv::Mat src_host = cv::imread("file.png", CV_LOAD_IMAGE_GRAYSCALE);
cv::gpu::GpuMat dst, src;
src.upload(src_host);
cv::gpu::threshold(src, dst, 128.0, 255.0, CV_THRESH_BINARY);
cv::Mat result_host = dst;
cv::imshow("Result", result_host);
cv::waitKey(27);
}
catch(const cv::Exception& ex)
{
std::cout << "Error: " << ex.what() << std::endl;
}
return 0;
}
任何帮助将不胜感激。
答
不要看弹出的错误框 - 看看控制台窗口。 OpenCV的错误信息略具描述性。告诉我们控制台说什么。
我对这个相同的代码有类似的问题。我通过 将文件夹中的opencv_core243d.dll从E:\opencv\build\gpu\x64\vc10\lib
文件夹修复为带有.exe的工作目录。
不知道为什么这应该重要,但它确实。
使用CUDA 5.0
VS2010表达
赢得7 64位系统
我改变了'cv :: Mat result_host = dst;''cv :: Mat result_host(dst);'它为我编译和工作。但我认为你还有一个问题。你用Cuda编译OpenCV吗? – Seltymar 2012-10-18 06:14:44