對於它的生活,我不能讓CUDA模塊在Visual Studio 2013 64Bit Professional,CUDA SDK 6.5和Win7 64Bit的OpenCV3.0 Beta下工作。我使用的示例代碼在半年前使用OpenCV3.0 Alpha完美無瑕地工作。現在我甚至不能讓cv :: cuda :: flip工作;該代碼可以工作,直到它將Mat上傳到CUDA,然後停止工作。無法讓CUDA模塊在OpenCV 3.0下工作Beta Beta
有人可以提供一個工作示例代碼,所以我可以看到我在哪裏俯視的東西?我做
所有的步驟之前:
與CUDA和OpenGL建設OpenCV3.0Beta後用CMake和MSVC2013專業使我建OpenCV.sln在調試和發佈/ X64配置(這表示成功打造:266每)。之後,我在modules/smaples/include和data-folder中的Debug/Release X64-Config中分別創建INSTALL.vcxproj,以便將它們全部複製到安裝文件夾。
在屬性C++一般:
d:\ OpenCV的\ GebautmitCUDAohneTBB \安裝\包括 d:\程序\ GLEW-1.12.0 \包括 d:\程序\ freeglut \包括
下屬性鏈接一般:
d:\ OpenCV的\ GebautmitCUDAohneTBB \安裝\ 64 \ VC12 \ LIB d:\程序\ GLEW-1.12.0 \ LIB \發佈\ x64的 d:\程序\ freeglut \ LIB \ 64
在屬性鏈接器輸入:
通常OpenCV的-庫, glew32.lib, freeglut.lib
這裏我舉的例子代碼:
#if defined _MSC_VER && _MSC_VER >= 1400
#pragma warning(disable : 4100)
#endif
#include <iostream>
#include <iomanip>
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/core/cuda.hpp"
#include "opencv2/cudaimgproc.hpp"
#include "opencv2/cudawarping.hpp"
using namespace std;
using namespace cv;
using namespace cv::cuda;
int main() {
/*
if (getCudaEnabledDeviceCount() == 0)
{
return cerr << "No GPU found or the library is compiled without CUDA support" << endl, -1;
}
cv::cuda::printShortCudaDeviceInfo(cv::cuda::getDevice());
*/
Mat image, image2, imagedownloaded, demoimage, grayimage;
image = imread("fruits.jpg", 1);
if (image.channels() == 1)
{
cout << "1 channel";
}
else
{
cout << "3 channel";
}
cv::cvtColor(image, image, COLOR_BGR2GRAY);
GpuMat image_gpu, gray_gpu, demo_gpu, image_gpu2;
image_gpu2.upload(image);
cv::cuda::demosaicing(image_gpu2, demo_gpu, COLOR_BayerGR2BGR, 3);
demo_gpu.download(demoimage);
if (demoimage.channels() == 1)
{
cout << "1 channel";
}
else
{
cout << "3 channel";
}
imshow("bla2", image);
imshow("bla3", demoimage);
waitKey();
return 0;
}
能有人請指出什麼我忘了,所以它會再次工作?
謝謝。