草庐IT

OpenCV_CUDA_VS

全部标签

c++ - Opencv 和 Visual Studio 2010

我正在尝试在VisualStudio2010的环境下使用Opencv。我的电脑是64位的,我也使用vs201064位。在vs2010中如何配置opencv,我搜索了很多教程。但是,我无法成功。有一个关于编译和配置vs2010和opencv的视频http://www.youtube.com/watch?v=XeBhwbRoKvk我有几个错误,例如:错误1​​errorC1083:Cannotopenincludefile:'tbb/tbb_stddef.h':NosuchfileordirectoryC:\SeniorProject\OPENCV2.1\include\opencv\cv

c++ - Microsoft VS C++ 编译器是否存在 Bug Initialize a reference from a temporary object

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Bindingtemporarytoalvaluereference使用VS2008C++编译器编译代码无编译错误。classA{};intmain(){A&a_ref=A();return0;}我相信C++标准,包括C++2003和即将到来的C++0x,都不允许它。而且我还遇到了gcc编译器的编译时错误。所以我想知道的是,这是VS编译器允许从临时对象初始化引用的已知错误。还是VS编译器的功能扩展?如果是,临时对象的生命周期是多少?

c++ - OpenCV 2.3 中的 VideoCapture 问题

我在使用VideoCapture类打开MPEG视频文件时遇到问题。代码编译正确。但是,在运行期间,它无法打开文件并给我以下警告消息:警告:打开文件时出错(../../modules/highgui/src/cap_ffmpeg_impl.hpp:477)只有在Debug模式下构建代码时,我才会遇到这个问题。我release模式代码工作正常。该代码在使用CvCapture和cvCaptureFromAVI的c样式中也能正常工作(在发布和Debug模式下),但是,我我想以更多C++风格开发我的代码。(我在Visual-studio(C++)10中使用OpenCV2.3)谢谢你的帮助

c++ - CUDA 运行时错误 4 - 从 CUDA 3.2 更新到 CUDA4 后出现

我最近尝试将我的系统从CUDA3.2更新到CUDA4.0这似乎不是一个很顺利的更新。首先,现在很多SDK示例都失败了。matrixMul和FFT问题等等都回来说错误太大,所以他们失败了。我写的代码似乎也有一些问题。我不得不追踪一些我以前从未遇到过的由NaN引起的错误,现在我也遇到了偶尔的内核启动失败。通常它说cudaSafeCall()RuntimeAPIerror4:unspecifiedlaunchfailure.或cutilCheckMsg()CUTILCUDAerror:fftshift()executionfailed:(4)unspecifiedlaunchfailure.

c++ - 如何使用 CUDA/Thrust 根据其中一个数组中的值对两个数组/vector 进行排序

这是一个关于编程的概念性问题。总而言之,我有两个数组/vector,我需要对一个数组/vector进行排序,其中的变化也在另一个数组中传播,因此如果我对arrayOne进行排序,对于排序中的每个交换-同样的事情也会发生在arrayTwo上。现在,我知道std::sort允许您定义一个比较函数(对于我假设的自定义对象),我正在考虑定义一个以同时交换arrayTwo。所以我想要的是-使用CUDA根据其中一个vector中的值对两个vector进行排序。这就是我的不确定性上升的地方,基本上我想使用Thrust库来进行排序。它是否支持自定义比较函数的定义?如果是这样,我仍然没有弄清楚如何在ar

c++ - CUDA 和模板 : specialization declaration needed?

我有一个模板化包装函数,它调用在.cu文件中定义的内核(__global__)template__global__voidcompute_kernel(T*input,T*output,n){Mm;//computestuffusingm};templatevoidcompute(T*input,T*output,intn){//...computeblocks,threads,etc.compute_kernel>>(input,output,n);//...};和一个头文件包含在只有声明的主机代码中templatevoidcompute(T*input,T*output,intn)

c++ - 如何在 OpenCV 中查找图像中的轮廓?

我需要找到图像中的所有轮廓。我知道整个findcontours()和drawContours()的事情,但它使用我遇到麻烦的Canny边缘检测器。要使用查找轮廓,您需要使用精明的边缘检测或阈值图像。我无法对图像进行阈值处理,因为这会导致多个边缘变得模糊(边缘“合并”)。所以我决定使用Canny边缘检测。但是,当我确实使用它而不是获得完美的边缘时,我会得到各种带有间隙的线条。这使我无法获得良好的轮廓例如,我没有得到正方形的边缘,而是得到4条由小间隙分隔的单独线,导致我得到4个轮廓而不是一个。我尝试了扩张、打开、关闭、高斯模糊和基本上所有的形态学运算符,但这些都不起作用。有些不合并行,而有

c++ - OpenCV - 分配运算符 "not working"?

我有一个计算卷积的函数(测试我们是否使用了正确的filter2D设置),我认为函数体并不重要,所以这里只是标题和结尾:templatecv::Matconv(constcv::Mat&input,constcv::Mat&kernel){cv::Matoutput(input);//orshouldIratheruseoutput(input.rows,input.cols,input.depth())?...returnoutput;}cv::Matresult=conv(input,kernel);此时,我在result中得到了完全无用的结果(这些甚至不是随机数据,它们有一些奇怪的

c++ - 在 CUDA 线程中填充计数 'buckets'

在我的程序中,我通过体素网格跟踪大量粒子。粒子与体素的比例是任意的。在某个时刻,我需要知道哪些粒子位于哪些体素中,以及有多少粒子位于哪些体素中。具体来说,体素必须确切地知道其中包含哪些粒子。由于我不能在CUDA中使用任何类似std::vector的东西,我正在使用以下算法(在高级别):分配一个整数数组,其大小为体素数为所有粒子启动线程,确定每个粒子所在的体素,并在我的“桶”数组中增加适当的计数器分配一个大小为粒子数的指针数组计算每个体素在这个新数组中的偏移量(将其前面的体素中的粒子数相加)将粒子以有序的方式放置在数组中(我使用此数据来加速稍后的操作。速度的提高非常值得增加内存使用量)。

c++ - 从gpu特征描述符转换的opencv特征描述符的问题

我在使用openvc将GPU特征描述符矩阵转换为CPU特征描述符矩阵时遇到了一些问题,使用:voiddownloadDescriptors(constGpuMat&descriptorsGPU,vector&descriptors);如您所见,此方法将包含描述符的GpuMat转换为包含描述符的浮点vector。问题是,当我访问此vector的某些元素时,返回的值与0的预期间隔完全不同。至255.我制作了以下测试程序来比较提取时间和通过SURF_GPU获得的描述和SURF:clock_tstart;clock_tend;SURF_GPUsurfGPU;SURFsurf;Matimg1=i