草庐IT

OpenCV_CUDA_VS

全部标签

c++ - 这是一个 VS2012 优化错误吗?

在这里完成VS2010到2012的更新,有几个单元测试由于错误的代码生成或编程错误而失败,但我不确定是哪个。我发布的代码几乎与原始代码相同,并且也重现了问题。这是一个案例;所有类/实现都在单独的文件中。classBase{public:virtual~Base(){}voidDoIt(){DoItImpl();}protected:virtualvoidDoItImpl()=0;};classBase2:publicBase{public:virtualvoidDoStuff()=0;};classImpl:publicBase2{public:Impl();voidDoStuff()

c++ - opencv 和 Matlab 的 Sobel 滤波器输出不同

我正在将一些代码从matlab转换为opencv。我尝试在opencv中使用Sobel,但opencv和matlab的输出完全不同,这可能是什么原因。如何使opencv的输出与matlab相同?我的MATLAB代码是:[sobel_edges,T,V,H]=edge(rgb2gray(im),'sobel',0.03);sobel_angles=atan2(V,H);sobel_weights=(V.*V+H.*H).^0.5;其中0.03是阈值。在opencv中,当我使用预建的Sobel滤波器时,输出与matlab完全不同,甚至在openc中计算的engle和magnitude也不同

c++ - windbg 和 VS 找不到我的 pdb 文件

我有一个使用SCons和MSVS2013(express)编译器(从命令行编译)构建的项目。它编译并运行,但是,它会定期崩溃,所以我想调试它。我添加了以下标志:/Zi#Debugsymbols/DEBUG#Debugsymbols/FS#Concurrentdebugdatabasefileaccess构建后,我看到生成了一个名为vc120.pdb的pdb文件。我的可执行文件位于build文件夹中,pdb文件位于主项目目录中。但是,当我尝试附加我的可执行文件以通过VS2013或WinDbg进行调试时,我总是收到无法找到调试符号的错误。我在VS2013和WinDbg中都将“路径”添加到p

c++ - `int` 假定在 OpenCV 中始终为 32 位?

似乎在OpenCV中,int数据类型总是假定为32位。这反射(reflect)在文档中(例如,intheintroduction),也反射(reflect)在源代码中(例如,在modules/core/include/opencv2/core/cvdef.h的注释中,以及它将uint定义为32位无符号整数,但没有定义相应的有符号类型这一事实。在int不是32位的系统上,这如何不破坏OpenCV?毕竟,标准只保证int是16位。我希望OpenCV为其使用的所有大小定义数据类型(就像它为int64所做的那样),或者使用uint_8和friend。 最佳答案

c++ - VS2012 提示 "already defined"类尽管 pragma once

我对我的项目有点不知所措。语言是C++,编辑器VisualStudio2012,一旦完成它应该是一个光线转换渲染器(光线转换位仍然缺失)。为此,我正在使用数学库Eigen。但是,当我尝试构建时出现链接错误。我过去没有太多使用C++语言,对这个错误所做的研究对我没有帮助。这是编译器的输出:1>------Buildstarted:Project:TX52-3DStereo-RT-CUDA,Configuration:Debugx64------1>Buildstarted06/12/201310:55:56.1>InitializeBuildStatus:1>Touching"x64\D

c++ - VS2010 在不同平台上生成的可执行文件应该不同吗?

我在VisualStudio2010v10.0.40219.1SP1Rel下有一个大型C++项目,我开始在我们的一个回归测试中看到一个错误。当我在dev机器上检查bug时,我无法让它发生,所以我将exes从测试机器复制到dev机器,bug出现了。然后我从测试机器上删除了包括项目在内的源代码树,从开发机器上复制它们,在测试机器上清理并重建它们,但错误仍然存​​在。所以基本上,在我的开发PC上使用相同的项目和配置构建的可执行文件,使用相同的编译器版本和安装的修补程序,与在测试PC上构建的不同。唯一的区别是开发PC运行的是Windows764,而测试PC运行的是XP。我还检查了所有链接的LI

c++ - 使用模板特化、默认参数和 VS2013 编译错误

templatevoidf(constT&v=T());templatevoidf(conststd::string&v){std::cout();//ErrorinVS2013,OKinVS2012,gcc-4.7f("Test");//OKf(std::string());//OKreturn0;}对于必须使用默认参数的情况,最新的VisualStudio2013编译器会给出以下编译器错误:errorC2440:'defaultargument':cannotconvertfrom'conststd::string*'to'conststd::string&'Reason:cann

c++ - OpenCV中数据库视频匹配的实现帮助

我正在尝试开发一个程序来将查询视频与数据库中的视频进行匹配。所以类似于谷歌图像搜索,但用于视频剪辑。我正在使用OpenCV进行此实现。我可以为视频中的选定帧成功生成特征描述符(说实话这并不难)。我不知道应该如何实现数据库部分。我想知道是否有人可以指点OpenCV中已经存在的内容以简化我的实现:要扩展哪些类、如何构造它、任何现有的实现/示例,......?基本上,我会从查询剪辑中获得一组描述符,我想将其与预先计算的描述符的(大型)数据库进行比较,然后使用一些投票算法来返回最佳匹配。所以我不是询问要使用哪种算法,我只是想了解OpenCV中实现我所描述的这种东西的最佳实践。我在Mac上的Xc

c++ - OpenCV 和 GoPro - VideoCapture 流中的空帧

我有一台连接到视频采集卡(AverMediaGameBroadcasterHD)的GoProHero3+(黑色)。我只是想在OpenCV中获取视频流。使用罗技网络摄像头没有任何问题。使用的代码如下。VideoCapturecap;cap.open(0);waitKey(300);//cap.set(CV_CAP_PROP_FRAME_WIDTH,1280);//cap.set(CV_CAP_PROP_FRAME_HEIGHT,720);if(cap.isOpened()){cout对于GoPro,会发生以下情况:OpenCV能够打开VideoCapture(“已识别摄像头”)但无法读取

c++ - 最小程序在 g++ 上产生 Valgrind 警告,但在 clang 或 VS 上不产生警告

我一直在疯狂地追踪一个中型项目中的内存错误。我将一个代码最小化为以下代码,并验证这会导致Valgrind在注释行号处发出无效读取警告。我正在为项目使用g++4.8.2(Debian4.8.2-16),使用-std=c++11-O0进行编译。g++4.7.0也会产生错误,4.4.6在稍作修改的版本(删除C++11)上也会产生错误。clang++不会导致错误,VS2013也不会。我的问题是:我是否在不知不觉中从事未定义的行为?这是Valgrind误报吗?如果是,我如何才能让自己放心,以后会遇到这样的情况?这段代码相当脆弱——特别是,让foo通过引用获取坐标可以消除这个问题,为Coord选择