草庐IT

computer-vision

全部标签

c++ - 图片处理代码调试

C++中的图像处理/计算机视觉/计算机图形应用程序可以进行哪些调试?您使用什么来跟踪方法的错误/部分结果?到目前为止,我发现的只是一种在线调试工具和一种离线调试工具:bmd:附加到正在运行的进程,使您能够以图像形式查看内存块imdebug:启用printf风格的调试两者都非常过时,并不是我所期望的那样。对于离线调试似乎有用的是某种风格的图像记录,比方说一组命令,使您能够将图像与文本一起写入(可能以HTML的形式,可能是分层的),很容易在编译和运行时关闭,并且它可以得到的最少干扰。输出可能如下所示(我们简单工具的输出):http://tsh.plankton.tk/htmldebug/d

c++ - 如何使用 OpenCV 以固定帧速率 (fps) 播放任何视频?

OpenCV中是否有任何方法或函数可以让我们以固定帧速率(fps)播放任何视频?不同的视频可能有不同的帧率,但是通过使用OpenCV库,我们可以按照我们定义的固定帧率播放它们吗?提前致谢。 最佳答案 看看thisarticle.它展示了如何使用OpenCV播放AVI文件。在这里,帧速率是使用读取的intfps=(int)cvGetCaptureProperty(capture,CV_CAP_PROP_FPS);延迟是通过设置的key=cvWaitKey(1000/fps);因此,通过控制fps变量,您可以获得您想要的播放速率。

c++ - KalmanFilter(6,2,0) 转换矩阵

我正在从事一个对象跟踪项目,我想改进使用卡尔曼滤波器获得的结果。我在互联网上找到了很多有效的示例,但我真的很想了解其背后的原理。使用opencv,这里是代码的一部分:KalmanFilterKF(6,2,0);Mat_state(6,1);MatprocessNoise(6,1,CV_32F);...KF.statePre.at(0)=mouse_info.x;KF.statePre.at(1)=mouse_info.y;KF.statePre.at(2)=0;KF.statePre.at(3)=0;KF.statePre.at(4)=0;KF.statePre.at(5)=0;KF.

c++ - OpenCV - SURF 特征比较

我很好奇OpenCV特征描述符是如何比较的。例如,我可以使用cvExtractSURF()获取特征列表及其64位(或128位)描述符,我在哪里可以找到如何比较两个描述符?在逐步执行一些示例代码时,对我来说,我的两个“匹配”功能似乎具有非常不同的描述符(至少在数值上如此)。有没有人想出如何获取两个描述符数组并比较它们?谷歌搜索没有太大帮助...干杯,布雷特 最佳答案 你可能想看看论文Localinvariantfeaturedetectors:asurvey.这是一篇很棒的论文,描述了广泛使用的特征检测器,包括SURF。

c++ - 算法 C/C++ : Fastest way to compute (2^n)%d with a n and d 32 or 64 bit integers

我正在寻找一种算法,允许我使用n和d32或64位整数计算(2^n)%d>.问题是即使使用多精度库也不可能将2^n存储在内存中,但也许存在计算(2^n)%d的技巧仅使用32位或64位整数。非常感谢。 最佳答案 看看ModularExponentiationalgorithm.这个想法不是计算2^n。相反,您可以在加电时多次降低模数d。Thatkeepsthenumbersmall.将方法与ExponentiationbySquaring结合起来,并且您可以仅在O(log(n))步内计算(2^n)%d。这是一个小例子:2^130%123

c++ - OpenCV DescriptorMatcher radiusMatch 和 knnMatch 结果格式

有没有人碰巧知道为什么OpenCV2DescriptorMatcher::radiusMatch()和knnMatch()拿个vector>&matches?我有点困惑为什么它不只是一个vector,因为它只是场景中对应于训练图像的单个点数组,对吧?我有这样的东西:voidgetMatchingPoints(constvector>&matches,constvector&keyPtsTemplates,constvector&keyPtsScene,vector&ptsTemplate,vector&ptsScene){ptsTemplate.clear();ptsScene.cle

c++ - 在 opencv 中创建晕影过滤器?

我们如何在opencv中制作晕影过滤器?我们需要为它实现任何算法还是只使用BGR的值?我们如何制作这种类型的过滤器。我看到了它的实现here但我没看清楚。非常感谢任何人提供完整的算法指导和实现指导。在AbidrehmanK回答后,我在c++中尝试了这个intmain(){Matv;Matimg=imread("D:\\2.jpg");img.convertTo(v,CV_32F);Mata,b,c,d,e;c.create(img.rows,img.cols,CV_32F);d.create(img.rows,img.cols,CV_32F);e.create(img.rows,img

c++ - 字符串匹配 : Computing the longest prefix suffix array in kmp algorithm

KMPalgorithmforstringmatching.以下是code我在网上找到了计算最长前缀-后缀数组的方法:定义:lps[i]=thelongestproperprefixofpat[0..i]whichisalsoasuffixofpat[0..i].代码:voidcomputeLPSArray(char*pat,intM,int*lps){intlen=0;//lengthofthepreviouslongestprefixsuffixinti;lps[0]=0;//lps[0]isalways0i=1;//theloopcalculateslps[i]fori=1toM

c++ - OpenCV 鱼眼校准削减了太多的结果图像

我正在使用OpenCV校准使用带鱼眼镜头的相机拍摄的图像。我使用的函数是:findChessboardCorners(...);找到校准图案的角。cornerSubPix(...);细化找到的角点。fisheye::calibrate(...);校准相机矩阵和畸变系数。fisheye::undistortImage(...);使用从校准中获得的相机信息消除图像失真。虽然生成的图像看起来确实不错(直线等),但我的问题是该函数切掉了太multimap像。这是一个真正的问题,因为我使用了四个摄像头,它们之间成90度,当切掉这么多边时,它们之间没有重叠区域,这是我要拼接图像所需要的.我研究过使

c++ - 如何配置概率占用图人员检测器

ProbabilisticOccupancyMap是一种多摄像头人体检测程序,其c++实现可在以下位置免费获得:http://cvlab.epfl.ch/software/pom为了使用这款方便的软件,您需要:背景去除程序后来自多个摄像头的一系列同步视频帧。特定场景的配置文件。POM附带一组示例视频帧和相关配置文件。我的问题可以表述如下:给定一系列同步视频(例如来自http://cvlab.epfl.ch/data/pom),我如何生成POM所需的配置文件?我尤其对配置的RECTANGLE标签感兴趣。自述文件指出:RECTANGLE[cameranumber][locationnumb